Спецификация A7A5

Техническая спецификация A7A5

  • Язык программирования: Solidity

  • Стандарты токена: ERC-20 (Ethereum), TRC-20 (Tron)

  • Список функций:

    • Issue: Выпуск токенов A7A5. Новые токены A7A5 выпускаются только после поступления фиатных депозитов;

    • distributeInterest: A7A5 распределяет процентный доход от фиатных овернайт-депозитов между держателями токенов, обновляя TotalLiquidity (разница между новой и старой общей ликвидностью);

    • Burn: Сжигание токенов A7A5;

    • Approve: Стандартная функция для предоставления разрешения на расходование токенов A7A5;

    • Transfer: Стандартная функция для перевода токенов A7A5.

    • transferScaled: То же, что и transfer, но в терминах долей (специальное значение, используемое в расчётах, равное количеству токенов при условии, что ребейзы никогда не происходили);

    • TransferFrom: Стандартная функция, позволяющая кошелькам с разрешением выводить токены A7A5;

    • transferScaledFrom: То же, что и transferFrom, но с логикой расчёта, как в transferScaled.

    • Pause – Временная приостановка всех переводов токена A7A5;

    • Unpause – Возобновление переводов токена A7A5 после паузы;

    • addBlacklist: Заморозить токены A7A5 на конкретном адресе кошелька;

    • RemoveBlacklist: Разморозка токенов A7A5 на определённом кошельке;

    • destroyBlackFunds: Сжечь замороженные токены A7A5 на конкретном адресе кошелька;

    • updateBasisPointsRate: Установить комиссии за переводы токенов A7A5.

  • Роли и доступ к функциям

    • Owner (кворум 3 из 5) имеет доступ к функциям: Issue, Burn, Pause, Unpause, updateBasisPointsRate;

    • Accountant (кворум 3 из 5) имеет доступ к функции distributeInterest;

    • Compliance (кворум 5 из 5) имеет доступ к функциям addBlacklist, removeBlacklist, destroyBlackFunds.

Единственное функциональное отличие токена A7A5 в сети Tron от токена в сети Ethereum заключается в том, что для корректного отображения общего количества токенов в обороте на сканере (Etherscan) функция totalSupply в Ethereum возвращает значение переменной _totalLiquidity, тогда как в сети Tron она возвращает значение переменной _totalSupply. Чтобы узнать значение переменной _totalSupply в Ethereum, создана функция totalShares.

Можно ли назвать A7A5 ребейз (эластичным) токеном?

A7A5 — это ребейз (rebasing, elastic supply) токен, реализованный через механизм конвертации внутренних «акций» в видимые балансы посредством глобального коэффициента. Балансы пользователей не хранятся напрямую, а вычисляются по формуле:

balance = (_shares[user] * _totalLiquidity) / _totalSupply

При начислении процентов вызывается функция distributeInterest, которая изменяет только _totalLiquidity (увеличивая или уменьшая его на заданную величину), а _totalSupply (количество акций) остаётся неизменным. Это приводит к автоматическому ребейзу — пропорциональному изменению балансов всех держателей. Дополнительно в контракте реализованы механизмы комиссии при переводах, чёрный список и возможность паузы работы.

Простыми словами, A7A5 — это токен, который автоматически корректирует балансы всех пользователей при начислении процентов. Вместо того чтобы напрямую менять балансы, система хранит внутреннее значение (назовем его «акции») для каждого пользователя, а реальный баланс вычисляется по специальной формуле с использованием общего коэффициента. Когда начисляются проценты, этот коэффициент меняется, и все балансы увеличиваются пропорционально. Такой механизм схож с понятием «ребейз токен».

Спецификация мульти-сиг (мульти-подписных) смарт-контрактов

Смарт-контракт A7A5 управляется с помощью мульти подписи. Для совершения какого-то действия смарт-контрактом нужно подтверждение кворума из 3 или 5 уникальных адресов в блокчейне в зависимости от типа вызываемой функции. Всего 5 адресов - участников кворума, которые являются членами команды A7A5.

Owner, Accountant - для вызова функций этих ролей, приведенных в спецификации токена A7A5, нужен кворум из минимум 3 подписей на блокчейне из 5.

Compliance - для вызова этих функций нужен кворум 5 из 5 подписей.

Экосистема смарт-контрактов A7A5

Last updated

Was this helpful?