Tech Specification
A7A5 token specification
Programming language: Solidity
Token standards: ERC-20, TRC-20
List of functions:
Mint: Issue A7A5 tokens. New A7A5 tokens are issued only upon receipt of fiat deposits
Burn: Redeem A7A5 tokens
Approve: Standard function to grant access for spending A7A5 tokens
Transfer: Standard function for transferring A7A5 tokens
TransferFrom: Standard function to allow wallets with granted access to withdraw A7A5 tokens
Pause: Temporarily pause A7A5 token transfers
Unpause: Resume A7A5 token transfers
Blacklist: Freeze A7A5 tokens on a specific wallet address
RemoveBlacklist: Unfreeze A7A5 tokens on a specific wallet address
BurnBlackFunds: Burn frozen A7A5 tokens
SetParams: Set fees for A7A5 token transfers
Roles:
Owner has access to the Mint, Burn, Pause, Unpause, and SetParams functions
Compliance has access to the Blacklist, RemoveBlacklist, and BurnBlackFunds
Is A7A5 a rebase (elastic) token?
A7A5 is a rebasing (elastic supply) token implemented using a mechanism that converts internal “shares” into user-visible balances via a global coefficient. Instead of storing balances directly, each address holds a number of shares, and the actual balance is calculated with the formula:
balance = (_shares[user] * _totalLiquidity) / _totalSupply
When interest (or yield) is accrued via the distributeInterest function, only the _totalLiquidity is adjusted (increased or decreased), while _totalSupply (i.e., the total shares) remains unchanged. This results in an automatic rebase—every holder’s balance is proportionally updated. Additionally, the contract includes features such as transfer fees, a blacklist mechanism, and the ability to pause operations.
In simple words, A7A5 is a token that automatically adjusts users’ balances when interest is being added to every account. Instead of directly updating each balance, the system keeps an internal value (called “shares”) for each user, and the actual balance is computed using a special formula with a global coefficient. When interest is applied, that coefficient changes, so every balance increases proportionally. This mechanism is similar to what is seen in “rebasing tokens.”
A7A5 smart-contracts ecosystem:
Multisignature smart contracts specification
Owner - a dedicated multi-signature (3 of 5) smart contract. The smart contract has 5 signatories, 5 unique wallet addresses representing the quorum participants. To initiate any transaction calling the A7A5 function of the smart contract, which is accessible to the Owner role, 3 on-chain signatures from quorum participants are required. The quorum participants are the A7A5 project team.
Compliance - a dedicated multi-signature (5 of 5) address for the Compliance role is established. The smart contract has 5 signatories, 5 unique wallet addresses representing the quorum participants. To initiate any transaction calling the A7A5 function of the smart contract, which is accessible to the Compliance role, 5 on-chain signatures from quorum participants are required. The quorum participants are the A7A5 project team.
GitHub
Last updated
Was this helpful?