Skip to content

Releases: eosnetworkfoundation/eosio.yield-contracts

v2.0.0

13 Jul 23:58
51798e8
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.1...v2.0.0

Checksum

$ shasum -a 256 eosio.yield.wasm        
5e79ed2d6ea9adcb5593c9f52e2dcac17a49e321e1f1bfbc1b31a0258ab2c111  eosio.yield.wasm

$ shasum -a 256 oracle.yield.wasm
3ceb804d3d2f04a56812970b1ddfa214f9957515de44ca5185d5dc663834acc7  oracle.yield.wasm

EVM support features

  • Oracle TVL update supports EVM contracts
  • setcontracts ACTION now includes evm_contracts
  • Oracle supports adding EVM token addresses to contributes to TVL calculations
  • Add EVM callback support with balanceOf(address) method selector to fetch EVM token balance using EOS smart contract.
  • Automatic balanceof updates prior to calling update or updateall
  • Claim rewards to EVM address (using EVM bridge)
  • Set maximum EVM & Native contracts to a limit of 10 (due to CPU limitations to compute TVL by oracle)

EVM Token Support

  • Multichain Tether (USDT)
  • Wrapped EOS (WEOS)
  • Multichain Circle (USDC)

Solves issues

New ACTIONS

  • addevmtoken
  • delevmtoken

New TABLES

  • evm.tokens
  • evm.balances

🔑 Authority changes

  • setcontracts no longer require has_auth on every contract

adding EVM contracts do not require authentication, so manual review process is always required for contract changes.
A lot of friction with protocol admins that cannot add contracts because of strict MSIG permissions or nulled permissions.

  • claim added permission to Admin account (when protocol no longer have access, can perform final claim & unregister protocol)
  • update action can only be triggered internally by oracle.yield

EVM callback balanceof needs to be triggered prior to update action being called, which updateall takes care of the inline action ordering.

Minor logic changes

  • remove setevm ACTION, logic has been merged into setcontracts
  • setcontracts only supports EOS or EOS EVM contracts (not both)
  • validate USDT contract to be tethertether
  • USD/USDC/USDT token do not require oracles ID's (pegged at $1.00 USD)
  • setrate has optional values (in case no change for other values, makes it easier to review MSIG's)

ACTION addevmtoken

  • authority: get_self()

Add {{sym}} token using {{address}} EOS EVM address.

params

  • {bytes} address - token EOS EVM address
  • {uint8_t} decimals - token decimals
  • {symbol_code} symcode - token symbol code

example

$ cleos push action oracle.yield addevmtoken '["fa9343c3897324496a05fc75abed6bac29f8a40f", 6, "USDT"]' -p oracle.yield
$ cleos push action oracle.yield addevmtoken '["c00592aA41D32D137dC480d9f6d0Df19b860104F", 18, "EOS"]' -p oracle.yield

ACTION delevmtoken

  • authority: get_self()

Delete {{address}} EOS EVM token as supported asset

params

  • {bytes} address - EOS EVM token address

example

$ cleos push action oracle.yield deltoken '["fa9343c3897324496a05fc75abed6bac29f8a40f"]' -p oracle.yield

TABLE evm.tokens

params

  • {uint64_t} token_id - (primary key) EOS EVM token account ID
  • {bytes} address - EOS EVM token address
  • {uint8_t} decimals - EOS EVM token decimals
  • {symbol} sym - token symbol

example

[
    {
        "token_id": 2,
        "address": "c00592aA41D32D137dC480d9f6d0Df19b860104F",
        "decimals": "18",
        "sym": "4,EOS"
    }
    {
        "token_id": 201,
        "sym": "4,USDT",
        "address": "fa9343c3897324496a05fc75abed6bac29f8a40f",
        "decimals": "6"
    },
]

TABLE evm.balances

Scope: <uint64_t> token_id

params

  • {uint64_t} address_id - (primary key) EOS EVM address account ID
  • {bytes} address - EOS EVM address
  • {asset} balance - current token balance

example

{
    "address_id": 663,
    "address": "671A5e209A5496256ee21386EC3EaB9054d658A2",
    "balance": "173151.7110 USDT"
}

Yield+ v1.0.1 Release Notes

21 Apr 17:56
67eba7d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.0...v1.0.1

Checksum

$ shasum -a 256 eosio.yield.wasm        
4d0d38b24f32d2c7a45dbd11c21a72d2ff14450723007578a8005853d6caba0b  eosio.yield.wasm

$ shasum -a 256 oracle.yield.wasm
eac0ccd430c560118967886e5cda4507d45018b7331cc31202bd9da8c498886d  oracle.yield.wasm

Yield+ v1.0.0 Release Notes

28 Sep 20:58
6c17d8b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.0-rc1...v1.0.0

SHA256 Checksum

CDT

$ git clone https://github.com/eosnetworkfoundation/eosio.yield-contracts.git
$ git checkout v1.0.0
$ ./tests/build.sh 
compiling... [oracle.yield]
b9b9b2bf7d02684045b35b232084830695a86ab8580d29ad62a0024d4e3413d8  oracle.yield.wasm
compiling... [eosio.yield]
e368477d36d5f3af5de436869a45408190ddd2f740b788560850bafdabf29f9d  eosio.yield.wasm
compiling... [admin.yield]
797df124be7c489fe86d169e7a17560b81854dca2c0c62a93f1eebb080321aaf  admin.yield.wasm

Yield+ v1.0.0-rc1 Release Notes

02 Aug 20:47
Compare
Choose a tag to compare

Yield+ Rewards

https://github.com/eosnetworkfoundation/eosio.yield-contracts/tree/main/contracts/eosio.yield

Yield+ is a Rewards system that incentivizes DeFi protocols to retain long-term TVL within their application.

Yield+ Oracle

https://github.com/eosnetworkfoundation/eosio.yield-contracts/tree/main/contracts/oracle.yield

Yield+ Oracle system will be supporting Yield+ Rewards to provide reliable TVL data metrics of DeFi protocols and leveraging decentralized data price feeds from existing oracle providers on EOS mainnet.

Yield+ Admin

https://github.com/eosnetworkfoundation/eosio.yield-contracts/tree/main/contracts/admin.yield

Admin account for Yield+ on-notification events

Audits

SHA256 Checksum

CDT

$ git clone https://github.com/eosnetworkfoundation/eosio.yield-contracts.git
$ git checkout v1.0.0-rc1
$ ./tests/build.sh
compiling... [oracle.yield]
b9b9b2bf7d02684045b35b232084830695a86ab8580d29ad62a0024d4e3413d8  oracle.yield.wasm
compiling... [eosio.yield]
ed725fe8626cb11846445b574501b0e9fe05446005b2282ff114e2cf9e088b58  eosio.yield.wasm
compiling... [admin.yield]
f398b994b744cdef268eda0e98e6dfdbdd76639859e60d2552c5848628c8032c  admin.yield.wasm

EOS Mainnet

$ cleos -u https://eos.api.eosnation.io get code eosio.yield
code hash: ed725fe8626cb11846445b574501b0e9fe05446005b2282ff114e2cf9e088b58