Smart Contract
Yanda protocol is composed of a series of smart contracts based on the ERC-20 protocol that works to mitigate risks of fraud on CeFi apps.
Broker White-list
The Yanda protocol is designed to host an infinite number of brokers simultaneously issuing different services to the community. In order to do so, a broker can be added by a vote of governance and, if accepted, gets included in the white list of addresses stored inside the smart contract.
Only the addresses of brokers included in the list can issue services to the community.
Broker Settings
Every broker can deposit its list of validator addresses (by contract interaction) that use the validator app related to the broker services.
The validator app must be distributed by the broker or by any other relevant party that participated in the governance process of proposing the new service.
Together with the validators list, the broker must also select the allocation of the fees between validators and brokers. If the total percentage allocated is less than 100%, the remaining amount gets burned.
Service Log
In order to provide the data to be audited, the smart contract emits events (i.e.: orders to buy or to sell) for each and every action executed by each and every Broker part of the protocol.
This data is stored on-chain and grants the right to be accessed by everyone from the network explorer.
Shared Database
The main purpose of having a shared database is to track and store the state of a process (a service issued by one of the brokers).
The service data is composed of the state of the service that can be varied depending on the stage of the service itself.
The data currently stored to track the state of a process are [Cost, broker address, process-id, process initial data, etc].
Fee Settlement
In order to allocate the YND tokens paid by a user for the usage of a process, the smart contract relies upon the consensus of the validators’ audit results.
Check the business model section to see how the fees are distributed to the protocol stakeholders.
Validators Selection
The smart contract uses the Celo on-chain randomness to pick two validators that will reply to the audit request in the first instance.
Yanda’s smart contract also takes into consideration the amount of YND tokens staked and locked in favour of the validators. The validators’ consensus is designed with a double-check from the validators that haven’t been picked for voting. This way, the other batch of validators audit the operations of the two picked by the random selection to create a shield from biased results and hostile takeovers from malicious validators.
Yanda Token Staking
To incentivize the holding of the YND, Yanda’s protocol has been designed with two sources of rewards for the token staked that can exist separately:
Validators’ Fee-sharing (Validators Pools)
Each validator has its own stake pool which impacts the validator's chances to be picked randomly. In order to increase the probability of being picked and incentivize better yields, every token holder can lock its YND to a validator pool and share the validation commission proportionally.
Staking Reserve (Staking Contract)
Designed as a recurring process, the staking reserve releases a fixed percentage of its amount to all addresses that have YND locked in the staking contract.
The distributed amounts will be sent straight to the staking pools in order to trigger a compounded interest on the staking amount of each token holder.
Upgradable Proxy
The ERC-20 smart contract has been designed to be upgradeable by a proxy contract administrator.
Yanda commits to restrict the administration role to the governor smart contract so that the only way to upgrade it will be by a vote of governance to achieve a fully decentralized ecosystem.
Read more about Transparent Upgradeable Proxy here.
Funds Immutability
In case of an upgrade, the proxy executes a new version of the smart contract. In this case, the amount of YND is not going to be affected by the upgrade so YND holders are safe.
Last updated