contracts-imtbl/build/contracts/RewardRouter.json
2024-08-30 17:13:08 +08:00

312 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": "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": "0x6080346100c857601f610e2638819003918201601f19168301916001600160401b038311848410176100cd578084926080946040528339810103126100c857610047816100e3565b610053602083016100e3565b9061006c6060610065604086016100e3565b94016100e3565b90600160005560018060a01b0319933385600154161760015560018060a01b03809481809416876002541617600255168560035416176003551683600454161760045516906005541617600555604051610d2e90816100f88239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100c85756fe6040608081526004908136101561001557600080fd5b600091823560e01c90816301e336671461074257816305a174c11461071957816312d43a51146106f057816319ff26ae146106c7578163232efcb31461052d5781632d74194014610340578163319489e61461030c578163362a4bb9146102d7578382634e71d92d1461022f5750816371dfbd9214610206578163b65b4973146101da578163b6e0b05a146101a5578163becdd3291461017157508063cfad57a2146101235763d4ebb8b9146100ca57600080fd5b3461011f5736600319011261011c576101156100e4610917565b6100ec610ad8565b6001546001600160a01b0391906101069083163314610996565b60243591600254169033610b6c565b6001815580f35b80fd5b5080fd5b823461011c57602036600319011261011c5761013d610917565b600154906001600160a01b03906101573383851614610996565b16906bffffffffffffffffffffffff60a01b161760015580f35b83903461011f57602036600319011261011f5761011590610190610ad8565b6003549035906001600160a01b031633610c43565b83903461011f57602036600319011261011f57610115906101c4610ad8565b6003549035906001600160a01b03163380610b6c565b9050346102025782600319360112610202575490516001600160a01b03909116815260209150f35b8280fd5b50503461011f578160031936011261011f5760025490516001600160a01b039091168152602090f35b929150346102d357826003193601126102d357610286602091610250610ad8565b805484516309f4173d60e11b81523392810183815260208101939093529586936001600160a01b03909216928492839160400190565b03925af19081156102ca575061029f575b506001815580f35b602090813d81116102c3575b6102b5818361095c565b8101031261011c5738610297565b503d6102ab565b513d84823e3d90fd5b5050fd5b83903461011f57602036600319011261011f57610115906102f6610ad8565b6002549035906001600160a01b03163380610b6c565b83903461011f57602036600319011261011f576101159061032b610ad8565b6002549035906001600160a01b031633610c43565b905034610202576080366003190112610202578035918215158303610517578360243592831515840361011f57604435948515158603610202576064359485151586036105175761038f610ad8565b839161049b575b80610492575b610474575b5081946103e5575b505050806103dc575b6103be57506001815580f35b6003546103d691906001600160a01b03163380610b6c565b38610297565b508015156103b2565b805483516309f4173d60e11b815233928101838152602080820194909452959650939491928492839003604001918391906001600160a01b03165af191821561046b5750839161043a575b50903883816103a9565b90506020813d8211610463575b816104546020938361095c565b81010312610202575138610430565b3d9150610447565b513d85823e3d90fd5b60025461048c91906001600160a01b03163380610b6c565b386103a1565b5080151561039c565b60055485516309f4173d60e11b81523385820181815260208082019290925293945090929091839182900360400190829088906001600160a01b03165af19081156105235784916104ee575b5090610396565b90506020813d821161051b575b816105086020938361095c565b810103126105175751386104e7565b8380fd5b3d91506104fb565b85513d86823e3d90fd5b91905034610202578060031936011261020257813567ffffffffffffffff928382116106c357366023830112156106c357818101359161056c8361097e565b946105798551968761095c565b8386526020918287016024809660051b830101913683116106bf578601905b82821061069c575050508335908111610698573660238201121561069857808301356105cf6105c68261097e565b9651968761095c565b808652848387019160051b83010191368311610694579697968501905b82821061068557505050506105ff610ad8565b60018060a01b03926001958461061a88968754163314610996565b80600254169187985b61062f575b8787815580f35b80518910156106805761065b826106468b84610aae565b5116846106538c88610aae565b519133610b6c565b600019891461066e579786019786610623565b634e487b7160e01b8852601185528588fd5b610628565b813581529083019083016105ec565b8880fd5b8680fd5b81356001600160a01b03811681036106bb578152908401908401610598565b8a80fd5b8980fd5b8480fd5b50503461011f578160031936011261011f5760035490516001600160a01b039091168152602090f35b50503461011f578160031936011261011f5760015490516001600160a01b039091168152602090f35b50503461011f578160031936011261011f5760055490516001600160a01b039091168152602090f35b919050346102025760603660031901126102025761075e610917565b6024916001600160a01b03833581811693908490036106985761078682600154163314610996565b169181516020938482019263a9059cbb60e01b845286830152604435604483015260448252608082019267ffffffffffffffff92808510848611176109055760c08101858110858211176108f35786528685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a082015251899182919082855af1903d156108e4573d9283116108d2579061084293929185519261083588601f19601f840116018561095c565b83523d8a8885013e6109da565b80518381159182156108ae575b505090501561085c578480f35b5162461bcd60e51b815292830152602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b83809293500103126108ce5782015180151581036108ce5780833861084f565b8580fd5b634e487b7160e01b8952604188528689fd5b906108429392506060916109da565b634e487b7160e01b8b5260418a52888bfd5b634e487b7160e01b8a5260418952878afd5b600435906001600160a01b038216820361092d57565b600080fd5b67ffffffffffffffff811161094657604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761094657604052565b67ffffffffffffffff81116109465760051b60200190565b1561099d57565b60405162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b6044820152606490fd5b91929015610a3c57508151156109ee575090565b3b156109f75790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610a4f5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510610a95575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350610a72565b8051821015610ac25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b600260005414610ae9576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b15610b3557565b60405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a590817d85b5bdd5b9d608a1b6044820152606490fd5b92610b78811515610b2e565b6004546001600160a01b039490851690813b1561092d576084869160008094604051998a958694631e42d69b60e21b86521660048501528089166024850152891660448401528660648401525af1908115610c37577f47d4c7c194999b93d76f7d16393f56c8c189d502fea3ff400ec5badfab608c2694610c2392610c28575b50604080516001600160a01b0394851681529490931660208501529183019190915281906060820190565b0390a1565b610c3190610932565b38610bf8565b6040513d6000823e3d90fd5b610c4e831515610b2e565b6004546001600160a01b039081169390843b1561092d5760009460848692604051978893849263098bf59d60e01b8452808916908160048601528a16602485015287604485015260648401525af1908115610c37577f50c634fcff06a5b70f80b0a33a6f53cac80744ae146a235b402296908535bf5894610c2392610c285750604080516001600160a01b039485168152949093166020850152918301919091528190606082019056fea26469706673582212208ac34cdf41bc664bf68688fe61918302c77326ca13bb8cc6fed80ba3a4a7909364736f6c63430008130033",
"deployedBytecode": "0x6040608081526004908136101561001557600080fd5b600091823560e01c90816301e336671461074257816305a174c11461071957816312d43a51146106f057816319ff26ae146106c7578163232efcb31461052d5781632d74194014610340578163319489e61461030c578163362a4bb9146102d7578382634e71d92d1461022f5750816371dfbd9214610206578163b65b4973146101da578163b6e0b05a146101a5578163becdd3291461017157508063cfad57a2146101235763d4ebb8b9146100ca57600080fd5b3461011f5736600319011261011c576101156100e4610917565b6100ec610ad8565b6001546001600160a01b0391906101069083163314610996565b60243591600254169033610b6c565b6001815580f35b80fd5b5080fd5b823461011c57602036600319011261011c5761013d610917565b600154906001600160a01b03906101573383851614610996565b16906bffffffffffffffffffffffff60a01b161760015580f35b83903461011f57602036600319011261011f5761011590610190610ad8565b6003549035906001600160a01b031633610c43565b83903461011f57602036600319011261011f57610115906101c4610ad8565b6003549035906001600160a01b03163380610b6c565b9050346102025782600319360112610202575490516001600160a01b03909116815260209150f35b8280fd5b50503461011f578160031936011261011f5760025490516001600160a01b039091168152602090f35b929150346102d357826003193601126102d357610286602091610250610ad8565b805484516309f4173d60e11b81523392810183815260208101939093529586936001600160a01b03909216928492839160400190565b03925af19081156102ca575061029f575b506001815580f35b602090813d81116102c3575b6102b5818361095c565b8101031261011c5738610297565b503d6102ab565b513d84823e3d90fd5b5050fd5b83903461011f57602036600319011261011f57610115906102f6610ad8565b6002549035906001600160a01b03163380610b6c565b83903461011f57602036600319011261011f576101159061032b610ad8565b6002549035906001600160a01b031633610c43565b905034610202576080366003190112610202578035918215158303610517578360243592831515840361011f57604435948515158603610202576064359485151586036105175761038f610ad8565b839161049b575b80610492575b610474575b5081946103e5575b505050806103dc575b6103be57506001815580f35b6003546103d691906001600160a01b03163380610b6c565b38610297565b508015156103b2565b805483516309f4173d60e11b815233928101838152602080820194909452959650939491928492839003604001918391906001600160a01b03165af191821561046b5750839161043a575b50903883816103a9565b90506020813d8211610463575b816104546020938361095c565b81010312610202575138610430565b3d9150610447565b513d85823e3d90fd5b60025461048c91906001600160a01b03163380610b6c565b386103a1565b5080151561039c565b60055485516309f4173d60e11b81523385820181815260208082019290925293945090929091839182900360400190829088906001600160a01b03165af19081156105235784916104ee575b5090610396565b90506020813d821161051b575b816105086020938361095c565b810103126105175751386104e7565b8380fd5b3d91506104fb565b85513d86823e3d90fd5b91905034610202578060031936011261020257813567ffffffffffffffff928382116106c357366023830112156106c357818101359161056c8361097e565b946105798551968761095c565b8386526020918287016024809660051b830101913683116106bf578601905b82821061069c575050508335908111610698573660238201121561069857808301356105cf6105c68261097e565b9651968761095c565b808652848387019160051b83010191368311610694579697968501905b82821061068557505050506105ff610ad8565b60018060a01b03926001958461061a88968754163314610996565b80600254169187985b61062f575b8787815580f35b80518910156106805761065b826106468b84610aae565b5116846106538c88610aae565b519133610b6c565b600019891461066e579786019786610623565b634e487b7160e01b8852601185528588fd5b610628565b813581529083019083016105ec565b8880fd5b8680fd5b81356001600160a01b03811681036106bb578152908401908401610598565b8a80fd5b8980fd5b8480fd5b50503461011f578160031936011261011f5760035490516001600160a01b039091168152602090f35b50503461011f578160031936011261011f5760015490516001600160a01b039091168152602090f35b50503461011f578160031936011261011f5760055490516001600160a01b039091168152602090f35b919050346102025760603660031901126102025761075e610917565b6024916001600160a01b03833581811693908490036106985761078682600154163314610996565b169181516020938482019263a9059cbb60e01b845286830152604435604483015260448252608082019267ffffffffffffffff92808510848611176109055760c08101858110858211176108f35786528685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a082015251899182919082855af1903d156108e4573d9283116108d2579061084293929185519261083588601f19601f840116018561095c565b83523d8a8885013e6109da565b80518381159182156108ae575b505090501561085c578480f35b5162461bcd60e51b815292830152602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b83809293500103126108ce5782015180151581036108ce5780833861084f565b8580fd5b634e487b7160e01b8952604188528689fd5b906108429392506060916109da565b634e487b7160e01b8b5260418a52888bfd5b634e487b7160e01b8a5260418952878afd5b600435906001600160a01b038216820361092d57565b600080fd5b67ffffffffffffffff811161094657604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761094657604052565b67ffffffffffffffff81116109465760051b60200190565b1561099d57565b60405162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b6044820152606490fd5b91929015610a3c57508151156109ee575090565b3b156109f75790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610a4f5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510610a95575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350610a72565b8051821015610ac25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b600260005414610ae9576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b15610b3557565b60405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a590817d85b5bdd5b9d608a1b6044820152606490fd5b92610b78811515610b2e565b6004546001600160a01b039490851690813b1561092d576084869160008094604051998a958694631e42d69b60e21b86521660048501528089166024850152891660448401528660648401525af1908115610c37577f47d4c7c194999b93d76f7d16393f56c8c189d502fea3ff400ec5badfab608c2694610c2392610c28575b50604080516001600160a01b0394851681529490931660208501529183019190915281906060820190565b0390a1565b610c3190610932565b38610bf8565b6040513d6000823e3d90fd5b610c4e831515610b2e565b6004546001600160a01b039081169390843b1561092d5760009460848692604051978893849263098bf59d60e01b8452808916908160048601528a16602485015287604485015260648401525af1908115610c37577f50c634fcff06a5b70f80b0a33a6f53cac80744ae146a235b402296908535bf5894610c2392610c285750604080516001600160a01b039485168152949093166020850152918301919091528190606082019056fea26469706673582212208ac34cdf41bc664bf68688fe61918302c77326ca13bb8cc6fed80ba3a4a7909364736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}