abi.rs

Overview

The abi.rs file serves as a centralized repository for Ethereum-style contract interface definitions (ABIs) and associated binary contract data used within the system. It statically includes JSON ABI files and a TVC (TON Virtual Cell) binary for smart contracts related to the BlockKeeper system. These constants enable other components of the system to interact with deployed smart contracts by providing the necessary contract interface descriptions and compiled bytecode.

This file does not contain executable logic or functions but provides essential static data that represent the contract interfaces for use in contract calls, encoding/decoding contract messages, and deployment operations.

Constants

The file defines the following public static constants:

1. EPOCH_ABI: &str

2. PREEPOCH_ABI: &str

3. BLOCK_KEEPER_WALLET_ABI: &str

4. BLOCK_KEEPER_WALLET_TVC: &[u8]

5. BLOCK_MANAGER_LICENSE_ABI: &str

Implementation Details

Interaction with Other System Components

Diagram: Structure of abi.rs

flowchart TD
A[abi.rs] --> B[EPOCH_ABI]
A --> C[PREEPOCH_ABI]
A --> D[BLOCK_KEEPER_WALLET_ABI]
A --> E[BLOCK_KEEPER_WALLET_TVC]
A --> F[BLOCK_MANAGER_LICENSE_ABI]
B["BlockKeeperEpochContract ABI\n(string)"]
C["BlockKeeperPreEpochContract ABI\n(string)"]
D["AckiNackiBlockKeeperNodeWallet ABI\n(string)"]
E["AckiNackiBlockKeeperNodeWallet TVC\n(bytecode)"]
F["LicenseBM ABI\n(string)"]

This diagram illustrates the file's role as a container of static contract data, each representing a distinct smart contract interface or bytecode binary.