Custom Tokens

TIP3 (ERC20) Standart

Что это такое

Блокчейн технологая позволяет выпускать свои токены под любуд задачу. При мы получаем следующие преимущества

Примеры использования: Бонсусный баланс, игровые валюты, ICO

Листинг на tonswap.io

Листинг на kwpc.show

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. Пример:

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 сообщение.

Внимание: 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 контракта.

mint

function mint(uint128 tokens, address to) external;

Создаёт TIP3 токены и передаёт их на адрес TIP3 кошелька, увеличивает количество выпущенных монет на количество созданных токенов. Работает только для владельца root контракта. Если по переданному адресу не существует контракта или вернётся отскок (контракт не поддерживает такой метод), общее количество созданых токенов будет уменьшено обратно на сумму нерипнятых токенов.

sendExpectedWalletAddress

НЕ ОТРАБОТАЛ НАДО ПРОТЕСТИРОВТАЬ

function sendExpectedWalletAddress(uint256 wallet_public_key_, address owner_address_, address to) external;