Boost.abi.json

Overview

The Boost.abi.json file defines the Application Binary Interface (ABI) for a smart contract named "Boost" with version 2.4. This ABI outlines the structure of the contract, specifying its public methods (functions), fields (state variables), and constructor inputs. The contract appears to manage wallet-related state, a current value labeled mbiCur, and supports code updates and node destruction. It also includes mechanisms for retrieving contract details and version information.

This file is essential for interacting with the Boost smart contract programmatically, enabling external entities to call its functions with the correct parameters and interpret the resulting outputs.


ABI Structure and Components

ABI Version and Metadata


Fields (State Variables)

The contract maintains the following fields, which represent its internal state:

Field Name

Type

Initialized at Deployment

Description/Role

_pubkey

uint256

Yes

Public key identifier of the contract.

_timestamp

uint64

No

Timestamp, possibly for last update time.

_constructorFlag

bool

No

Flag indicating constructor state.

_wallet

address

No

Wallet address associated with contract.

_popitGame

address

Yes

Address of the PopitGame contract or entity.

_root

address

No

Root address, possibly for ownership or hierarchy.

_mbiCur

uint64

No

Current MBI value managed by the contract.

_rootPubkey

uint256

No

Public key corresponding to the root.

The fields initialized at deployment (_pubkey and _popitGame) are set once, while others can be updated during contract execution.


Functions

The contract exposes several functions. Each function specifies its inputs and outputs, enabling controlled interaction with the contract state.

1. constructor


2. deleteMbiCur


3. setMbiCur


4. updateCode


5. destroyNode


6. getDetails


7. getVersion


Important Implementation Details


Interactions with Other System Components


Visual Diagram: Function Interaction Flow

flowchart TD
constructor --> setMbiCur
constructor --> updateCode
constructor --> destroyNode
setMbiCur --> deleteMbiCur
deleteMbiCur --> getDetails
getDetails --> getVersion
updateCode --> destroyNode

This flow represents main function dependencies and lifecycle management within the contract.


Summary

The Boost.abi.json defines an upgradable, wallet-associated smart contract with state management for a value (mbiCur), supports dynamic code updates, and includes lifecycle control via destroy functionality. It is designed for modular interaction with wallet systems and a referenced external entity (PopitGame), facilitating maintainability and extensibility within its blockchain environment. For further details on ABI usage and smart contract design patterns, see Smart Contract Basics and Contract Upgrade Patterns.