Спецификация A7A5
Техническая спецификация A7A5
- Список функций:
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 ребейз (эластичным) токеном?
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?