contracts-imtbl/build/contracts/RewardRouter.json
2024-08-28 15:44:11 +08:00

319 lines
20 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "RewardRouter",
"sourceName": "contracts/staking/RewardRouter.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_cec",
"type": "address"
},
{
"internalType": "address",
"name": "_esCec",
"type": "address"
},
{
"internalType": "address",
"name": "_stakedCecTracker",
"type": "address"
},
{
"internalType": "address",
"name": "_cecVester",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "StakeCec",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "UnstakeCec",
"type": "event"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_accounts",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "_amounts",
"type": "uint256[]"
}
],
"name": "batchStakeCecForAccount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "cec",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "cecVester",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "claimEsCec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "esCec",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gov",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "_shouldClaimCec",
"type": "bool"
},
{
"internalType": "bool",
"name": "_shouldStakeCec",
"type": "bool"
},
{
"internalType": "bool",
"name": "_shouldClaimEsCec",
"type": "bool"
},
{
"internalType": "bool",
"name": "_shouldStakeEsCec",
"type": "bool"
}
],
"name": "handleRewards",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_gov",
"type": "address"
}
],
"name": "setGov",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "stakeCec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "stakeCecForAccount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "stakeEsCec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "stakedCecTracker",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "unstakeCec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "unstakeEsCec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdrawToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6080346100c857601f610e1538819003918201601f19168301916001600160401b038311848410176100cd578084926080946040528339810103126100c857610047816100e3565b610053602083016100e3565b9061006c6060610065604086016100e3565b94016100e3565b90600160005560018060a01b0319933385600154161760015560018060a01b03809481809416876002541617600255168560035416176003551683600454161760045516906005541617600555604051610d1d90816100f88239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100c85756fe6040608081526004908136101561001557600080fd5b600091823560e01c90816301e33667146106c557816305a174c11461069c57816312d43a511461067357816319ff26ae1461064a578163232efcb3146104b05781632d741940146102c2578163319489e61461028e57816334da865014610238578163362a4bb9146102595781634e71d92d1461023857816371dfbd921461020f578163b65b4973146101e3578163b6e0b05a146101ae578163becdd3291461017a57508063cfad57a21461012c5763d4ebb8b9146100d357600080fd5b34610128573660031901126101255761011e6100ed61089a565b6100f5610a5b565b6001546001600160a01b03919061010f9083163314610919565b60243591600254169033610b67565b6001815580f35b80fd5b5080fd5b82346101255760203660031901126101255761014661089a565b600154906001600160a01b03906101603383851614610919565b16906bffffffffffffffffffffffff60a01b161760015580f35b8390346101285760203660031901126101285761011e90610199610a5b565b6003549035906001600160a01b031633610c32565b8390346101285760203660031901126101285761011e906101cd610a5b565b6003549035906001600160a01b03163380610b67565b90503461020b578260031936011261020b575490516001600160a01b03909116815260209150f35b8280fd5b50503461012857816003193601126101285760025490516001600160a01b039091168152602090f35b8334610125578060031936011261012557610251610a5b565b61011e610ab1565b8390346101285760203660031901126101285761011e90610278610a5b565b6002549035906001600160a01b03163380610b67565b8390346101285760203660031901126101285761011e906102ad610a5b565b6002549035906001600160a01b031633610c32565b90503461020b57608036600319011261020b57803591821515830361049a57836024359283151584036101285760443594851515860361020b5760643594851515860361049a57610311610a5b565b839161041e575b80610415575b6103f7575b508194610368575b5050508061035f575b610341575b506001815580f35b60035461035991906001600160a01b03163380610b67565b38610339565b50801515610334565b805483516309f4173d60e11b815233928101838152602080820194909452959650939491928492839003604001918391906001600160a01b03165af19182156103ee575083916103bd575b509038838161032b565b90506020813d82116103e6575b816103d7602093836108df565b8101031261020b5751386103b3565b3d91506103ca565b513d85823e3d90fd5b60025461040f91906001600160a01b03163380610b67565b38610323565b5080151561031e565b60055485516309f4173d60e11b81523385820181815260208082019290925293945090929091839182900360400190829088906001600160a01b03165af19081156104a6578491610471575b5090610318565b90506020813d821161049e575b8161048b602093836108df565b8101031261049a57513861046a565b8380fd5b3d915061047e565b85513d86823e3d90fd5b9190503461020b578060031936011261020b57813567ffffffffffffffff9283821161064657366023830112156106465781810135916104ef83610901565b946104fc855196876108df565b8386526020918287016024809660051b83010191368311610642578601905b82821061061f57505050833590811161061b573660238201121561061b578083013561055261054982610901565b965196876108df565b808652848387019160051b83010191368311610617579697968501905b8282106106085750505050610582610a5b565b60018060a01b03926001958461059d88968754163314610919565b80600254169187985b6105b2575b8787815580f35b8051891015610603576105de826105c98b84610a31565b5116846105d68c88610a31565b519133610b67565b60001989146105f15797860197866105a6565b634e487b7160e01b8852601185528588fd5b6105ab565b8135815290830190830161056f565b8880fd5b8680fd5b81356001600160a01b038116810361063e57815290840190840161051b565b8a80fd5b8980fd5b8480fd5b50503461012857816003193601126101285760035490516001600160a01b039091168152602090f35b50503461012857816003193601126101285760015490516001600160a01b039091168152602090f35b50503461012857816003193601126101285760055490516001600160a01b039091168152602090f35b9190503461020b57606036600319011261020b576106e161089a565b6024916001600160a01b038335818116939084900361061b5761070982600154163314610919565b169181516020938482019263a9059cbb60e01b845286830152604435604483015260448252608082019267ffffffffffffffff92808510848611176108885760c08101858110858211176108765786528685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a082015251899182919082855af1903d15610867573d92831161085557906107c59392918551926107b888601f19601f84011601856108df565b83523d8a8885013e61095d565b8051838115918215610831575b50509050156107df578480f35b5162461bcd60e51b815292830152602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b8380929350010312610851578201518015158103610851578083386107d2565b8580fd5b634e487b7160e01b8952604188528689fd5b906107c593925060609161095d565b634e487b7160e01b8b5260418a52888bfd5b634e487b7160e01b8a5260418952878afd5b600435906001600160a01b03821682036108b057565b600080fd5b67ffffffffffffffff81116108c957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176108c957604052565b67ffffffffffffffff81116108c95760051b60200190565b1561092057565b60405162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b6044820152606490fd5b919290156109bf5750815115610971575090565b3b1561097a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156109d25750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510610a18575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506109f5565b8051821015610a455760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b600260005414610a6c576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b600480546040516309f4173d60e11b8152339281018390526024810192909252602090829060449082906000906001600160a01b03165af18015610b1d57610af65750565b602090813d8111610b16575b610b0c81836108df565b810103126108b057565b503d610b02565b6040513d6000823e3d90fd5b15610b3057565b60405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a590817d85b5bdd5b9d608a1b6044820152606490fd5b92610b73811515610b29565b6004546001600160a01b039490851690813b156108b0576084869160008094604051998a958694631e42d69b60e21b86521660048501528089166024850152891660448401528660648401525af1908115610b1d577f47d4c7c194999b93d76f7d16393f56c8c189d502fea3ff400ec5badfab608c2694610c1e92610c23575b50604080516001600160a01b0394851681529490931660208501529183019190915281906060820190565b0390a1565b610c2c906108b5565b38610bf3565b610c3d831515610b29565b6004546001600160a01b039081169390843b156108b05760009460848692604051978893849263098bf59d60e01b8452808916908160048601528a16602485015287604485015260648401525af1908115610b1d577f50c634fcff06a5b70f80b0a33a6f53cac80744ae146a235b402296908535bf5894610c1e92610c235750604080516001600160a01b039485168152949093166020850152918301919091528190606082019056fea2646970667358221220a34d5f4d5d2e4925d85c25f7d1cefba570019e7290fec5383910baef0794ec0764736f6c63430008130033",
"deployedBytecode": "0x6040608081526004908136101561001557600080fd5b600091823560e01c90816301e33667146106c557816305a174c11461069c57816312d43a511461067357816319ff26ae1461064a578163232efcb3146104b05781632d741940146102c2578163319489e61461028e57816334da865014610238578163362a4bb9146102595781634e71d92d1461023857816371dfbd921461020f578163b65b4973146101e3578163b6e0b05a146101ae578163becdd3291461017a57508063cfad57a21461012c5763d4ebb8b9146100d357600080fd5b34610128573660031901126101255761011e6100ed61089a565b6100f5610a5b565b6001546001600160a01b03919061010f9083163314610919565b60243591600254169033610b67565b6001815580f35b80fd5b5080fd5b82346101255760203660031901126101255761014661089a565b600154906001600160a01b03906101603383851614610919565b16906bffffffffffffffffffffffff60a01b161760015580f35b8390346101285760203660031901126101285761011e90610199610a5b565b6003549035906001600160a01b031633610c32565b8390346101285760203660031901126101285761011e906101cd610a5b565b6003549035906001600160a01b03163380610b67565b90503461020b578260031936011261020b575490516001600160a01b03909116815260209150f35b8280fd5b50503461012857816003193601126101285760025490516001600160a01b039091168152602090f35b8334610125578060031936011261012557610251610a5b565b61011e610ab1565b8390346101285760203660031901126101285761011e90610278610a5b565b6002549035906001600160a01b03163380610b67565b8390346101285760203660031901126101285761011e906102ad610a5b565b6002549035906001600160a01b031633610c32565b90503461020b57608036600319011261020b57803591821515830361049a57836024359283151584036101285760443594851515860361020b5760643594851515860361049a57610311610a5b565b839161041e575b80610415575b6103f7575b508194610368575b5050508061035f575b610341575b506001815580f35b60035461035991906001600160a01b03163380610b67565b38610339565b50801515610334565b805483516309f4173d60e11b815233928101838152602080820194909452959650939491928492839003604001918391906001600160a01b03165af19182156103ee575083916103bd575b509038838161032b565b90506020813d82116103e6575b816103d7602093836108df565b8101031261020b5751386103b3565b3d91506103ca565b513d85823e3d90fd5b60025461040f91906001600160a01b03163380610b67565b38610323565b5080151561031e565b60055485516309f4173d60e11b81523385820181815260208082019290925293945090929091839182900360400190829088906001600160a01b03165af19081156104a6578491610471575b5090610318565b90506020813d821161049e575b8161048b602093836108df565b8101031261049a57513861046a565b8380fd5b3d915061047e565b85513d86823e3d90fd5b9190503461020b578060031936011261020b57813567ffffffffffffffff9283821161064657366023830112156106465781810135916104ef83610901565b946104fc855196876108df565b8386526020918287016024809660051b83010191368311610642578601905b82821061061f57505050833590811161061b573660238201121561061b578083013561055261054982610901565b965196876108df565b808652848387019160051b83010191368311610617579697968501905b8282106106085750505050610582610a5b565b60018060a01b03926001958461059d88968754163314610919565b80600254169187985b6105b2575b8787815580f35b8051891015610603576105de826105c98b84610a31565b5116846105d68c88610a31565b519133610b67565b60001989146105f15797860197866105a6565b634e487b7160e01b8852601185528588fd5b6105ab565b8135815290830190830161056f565b8880fd5b8680fd5b81356001600160a01b038116810361063e57815290840190840161051b565b8a80fd5b8980fd5b8480fd5b50503461012857816003193601126101285760035490516001600160a01b039091168152602090f35b50503461012857816003193601126101285760015490516001600160a01b039091168152602090f35b50503461012857816003193601126101285760055490516001600160a01b039091168152602090f35b9190503461020b57606036600319011261020b576106e161089a565b6024916001600160a01b038335818116939084900361061b5761070982600154163314610919565b169181516020938482019263a9059cbb60e01b845286830152604435604483015260448252608082019267ffffffffffffffff92808510848611176108885760c08101858110858211176108765786528685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a082015251899182919082855af1903d15610867573d92831161085557906107c59392918551926107b888601f19601f84011601856108df565b83523d8a8885013e61095d565b8051838115918215610831575b50509050156107df578480f35b5162461bcd60e51b815292830152602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b8380929350010312610851578201518015158103610851578083386107d2565b8580fd5b634e487b7160e01b8952604188528689fd5b906107c593925060609161095d565b634e487b7160e01b8b5260418a52888bfd5b634e487b7160e01b8a5260418952878afd5b600435906001600160a01b03821682036108b057565b600080fd5b67ffffffffffffffff81116108c957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176108c957604052565b67ffffffffffffffff81116108c95760051b60200190565b1561092057565b60405162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b6044820152606490fd5b919290156109bf5750815115610971575090565b3b1561097a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156109d25750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510610a18575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506109f5565b8051821015610a455760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b600260005414610a6c576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b600480546040516309f4173d60e11b8152339281018390526024810192909252602090829060449082906000906001600160a01b03165af18015610b1d57610af65750565b602090813d8111610b16575b610b0c81836108df565b810103126108b057565b503d610b02565b6040513d6000823e3d90fd5b15610b3057565b60405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a590817d85b5bdd5b9d608a1b6044820152606490fd5b92610b73811515610b29565b6004546001600160a01b039490851690813b156108b0576084869160008094604051998a958694631e42d69b60e21b86521660048501528089166024850152891660448401528660648401525af1908115610b1d577f47d4c7c194999b93d76f7d16393f56c8c189d502fea3ff400ec5badfab608c2694610c1e92610c23575b50604080516001600160a01b0394851681529490931660208501529183019190915281906060820190565b0390a1565b610c2c906108b5565b38610bf3565b610c3d831515610b29565b6004546001600160a01b039081169390843b156108b05760009460848692604051978893849263098bf59d60e01b8452808916908160048601528a16602485015287604485015260648401525af1908115610b1d577f50c634fcff06a5b70f80b0a33a6f53cac80744ae146a235b402296908535bf5894610c1e92610c235750604080516001600160a01b039485168152949093166020850152918301919091528190606082019056fea2646970667358221220a34d5f4d5d2e4925d85c25f7d1cefba570019e7290fec5383910baef0794ec0764736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}