TIP3 Broxus
Ссылка на репозиторий link
Online генератор https://tonswap.io/builder Позволяет создать TIP3 через браузерное расширение.
Методы Root Контракта
getVersion
function getVersion() external pure responsible returns (uint32);
В ответ версия контракта, текущая версия 4
getDetails
function getDetails() external view responsible returns (IRootTokenContractDetails);
struct IRootTokenContractDetails {
bytes name;
bytes symbol;
uint8 decimals;
uint256 root_public_key;
address root_owner_address;
uint128 total_supply;
}
getTotalSupply
function getTotalSupply() external view responsible returns (uint128);
Количество выпущенных токенов возвращается с учётом decimals. Пример:
- decimals = 3
- выпущено = 145 токенов
- ответ будет: 145000
getWalletAddress
function getWalletAddress(uint256 wallet_public_key, address owner_address) external view responsible returns(address);
Возвращает адрес кошелька по параметрам. Не гарантирует что по этому адресу есть задеплоенный кошелёк.
deployEmptyWallet
function deployEmptyWallet(
uint128 deploy_grams,
uint256 wallet_public_key,
address owner_address,
address gas_back_address
) external returns(address);
Создаёт пустой TIP3 кошелёк через internal сообщение.
- deploy_grams сумма ever которая останется на TIP3 кошельке (должен превышать коммисию сети за создание TIP3 контракта)
- wallet_public_key публичный ключ владельца нового кошелька (опционально, может быть нудевым)
- owner_address адрес владельца новго кошелька (опционально, может быть нулевым)
- gas_back_address адрес для возврата сдачи в ever. Если это нулевый адрес, сдача будет отправлена пользователю вызвавшему этот метод.
Внимание: wallet_public_key или owner_address должны быть ненулевыми.
deployWallet
function deployWallet(
uint128 tokens,
uint128 deploy_grams,
uint256 wallet_public_key,
address owner_address,
address gas_back_address
) external returns(address);
Создаёт TIP3 кошелёк и пополняет его TIP3 токенами. Может вызвать только владелец root контракта.
- tokens Количество TIP3 токенов которое будет перевередо на TIP3 кошелёк (сминчено)
mint
function mint(uint128 tokens, address to) external;
Создаёт TIP3 токены и передаёт их на адрес TIP3 кошелька, увеличивает количество выпущенных монет на количество созданных токенов. Работает только для владельца root контракта. Если по переданному адресу не существует контракта или вернётся отскок (контракт не поддерживает такой метод), общее количество созданых токенов будет уменьшено обратно на сумму нерипнятых токенов.
sendExpectedWalletAddress
НЕ ОТРАБОТАЛ НАДО ПРОТЕСТИРОВТАЬ
function sendExpectedWalletAddress(uint256 wallet_public_key_, address owner_address_, address to) external;