diff --git a/client/cmd/abi/IPTokenStaking.abi.json b/client/cmd/abi/IPTokenStaking.abi.json index 6db329ac..1b2b6bf7 100644 --- a/client/cmd/abi/IPTokenStaking.abi.json +++ b/client/cmd/abi/IPTokenStaking.abi.json @@ -1,1122 +1,1126 @@ [ - { - "type": "constructor", - "inputs": [ - { - "name": "stakingRounding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "defaultMinFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DEFAULT_MIN_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STAKE_ROUNDING", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "acceptOwnership", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createValidator", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "moniker", - "type": "string", - "internalType": "string" - }, - { - "name": "commissionRate", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "maxCommissionRate", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "maxCommissionChangeRate", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "supportsUnlocked", - "type": "bool", - "internalType": "bool" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "createValidatorOnBehalf", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "moniker", - "type": "string", - "internalType": "string" - }, - { - "name": "commissionRate", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "maxCommissionRate", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "maxCommissionChangeRate", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "supportsUnlocked", - "type": "bool", - "internalType": "bool" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "fee", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "args", - "type": "tuple", - "internalType": "struct IIPTokenStaking.InitializerArgs", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "minStakeAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minUnstakeAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minCommissionRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", + { + "type": "constructor", + "inputs": [ + { + "name": "defaultMinFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "AA", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BB", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEFAULT_MIN_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_MONIKER_LENGTH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "PP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STAKE_ROUNDING", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "acceptOwnership", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createValidator", + "inputs": [ + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "moniker", + "type": "string", + "internalType": "string" + }, + { + "name": "commissionRate", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "maxCommissionRate", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "maxCommissionChangeRate", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "supportsUnlocked", + "type": "bool", + "internalType": "bool" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "fee", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "args", + "type": "tuple", + "internalType": "struct IIPTokenStaking.InitializerArgs", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "minStakeAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minUnstakeAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minCommissionRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "minCommissionRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minStakeAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minUnstakeAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pendingOwner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redelegate", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpSrcPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpDstPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "delegationId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "redelegateOnBehalf", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpSrcPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpDstPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "delegationId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "renounceOwnership", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "roundedStakeAmount", + "inputs": [ + { + "name": "rawAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "remainder", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMinCommissionRate", + "inputs": [ + { + "name": "newValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMinStakeAmount", + "inputs": [ + { + "name": "newMinStakeAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMinUnstakeAmount", + "inputs": [ + { + "name": "newMinUnstakeAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOperator", + "inputs": [ + { + "name": "uncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setRewardsAddress", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "newRewardsAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setWithdrawalAddress", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "newWithdrawalAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "stakingPeriod", + "type": "uint8", + "internalType": "enum IIPTokenStaking.StakingPeriod" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "delegationId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "stakeOnBehalf", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "stakingPeriod", + "type": "uint8", + "internalType": "enum IIPTokenStaking.StakingPeriod" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "delegationId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unjail", + "inputs": [ + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "unjailOnBehalf", + "inputs": [ + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "unsetOperator", + "inputs": [ + { + "name": "uncmpPubkey", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "unstake", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "delegationId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "unstakeOnBehalf", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "delegationId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "updateValidatorCommission", + "inputs": [ + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "commissionRate", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "CreateValidator", + "inputs": [ + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "moniker", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "stakeAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "commissionRate", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "maxCommissionRate", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "maxCommissionChangeRate", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "supportsUnlocked", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "operatorAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "stakeAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stakingPeriod", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "delegationId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "operatorAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeeSet", + "inputs": [ + { + "name": "newFee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "version", + "type": "uint64", + "indexed": false, + "internalType": "uint64" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCommissionRateChanged", + "inputs": [ + { "name": "minCommissionRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinStakeAmountSet", + "inputs": [ + { "name": "minStakeAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinUnstakeAmountSet", + "inputs": [ + { "name": "minUnstakeAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferStarted", + "inputs": [ + { + "name": "previousOwner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "previousOwner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Redelegate", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "validatorUncmpSrcPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "validatorUncmpDstPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "delegationId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "operatorAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SetOperator", + "inputs": [ + { + "name": "uncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "operator", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SetRewardAddress", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "executionAddress", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SetWithdrawalAddress", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "executionAddress", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Unjail", + "inputs": [ + { + "name": "unjailer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UnsetOperator", + "inputs": [ + { + "name": "uncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UpdateValidatorCommssion", + "inputs": [ + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "commissionRate", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "delegatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "validatorUncmpPubkey", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "stakeAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "delegationId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "operatorAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "InvalidInitialization", + "inputs": [] + }, + { + "type": "error", + "name": "NotInitializing", + "inputs": [] + }, + { + "type": "error", + "name": "OwnableInvalidOwner", + "inputs": [ + { "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pendingOwner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redelegate", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpSrcPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpDstPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "delegationId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redelegateOnBehalf", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpSrcPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpDstPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "delegationId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renounceOwnership", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "roundedStakeAmount", - "inputs": [ - { - "name": "rawAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "remainder", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMinCommissionRate", - "inputs": [ - { - "name": "newValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMinStakeAmount", - "inputs": [ - { - "name": "newMinStakeAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMinUnstakeAmount", - "inputs": [ - { - "name": "newMinUnstakeAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOperator", - "inputs": [ - { - "name": "uncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setRewardsAddress", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "newRewardsAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setWithdrawalAddress", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "newWithdrawalAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "stakingPeriod", - "type": "uint8", - "internalType": "enum IIPTokenStaking.StakingPeriod" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "delegationId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "stakeOnBehalf", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "stakingPeriod", - "type": "uint8", - "internalType": "enum IIPTokenStaking.StakingPeriod" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "delegationId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unjail", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "unjailOnBehalf", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "unsetOperator", - "inputs": [ - { - "name": "uncmpPubkey", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unstake", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "delegationId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unstakeOnBehalf", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "delegationId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateValidatorCommission", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "commissionRate", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "CreateValidator", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "moniker", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "stakeAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "commissionRate", - "type": "uint32", - "indexed": false, - "internalType": "uint32" - }, - { - "name": "maxCommissionRate", - "type": "uint32", - "indexed": false, - "internalType": "uint32" - }, - { - "name": "maxCommissionChangeRate", - "type": "uint32", - "indexed": false, - "internalType": "uint32" - }, - { - "name": "supportsUnlocked", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "operatorAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "stakeAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stakingPeriod", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "delegationId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "operatorAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FeeSet", - "inputs": [ - { - "name": "newFee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCommissionRateChanged", - "inputs": [ - { - "name": "minCommissionRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinStakeAmountSet", - "inputs": [ - { - "name": "minStakeAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinUnstakeAmountSet", - "inputs": [ - { - "name": "minUnstakeAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferStarted", - "inputs": [ - { - "name": "previousOwner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "previousOwner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Redelegate", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "validatorUncmpSrcPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "validatorUncmpDstPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "delegationId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "operatorAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetOperator", - "inputs": [ - { - "name": "uncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "operator", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetRewardAddress", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "executionAddress", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetWithdrawalAddress", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "executionAddress", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Unjail", - "inputs": [ - { - "name": "unjailer", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UnsetOperator", - "inputs": [ - { - "name": "uncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UpdateValidatorCommssion", - "inputs": [ - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "commissionRate", - "type": "uint32", - "indexed": false, - "internalType": "uint32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "delegatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "validatorUncmpPubkey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "stakeAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "delegationId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "operatorAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "InvalidInitialization", - "inputs": [] - }, - { - "type": "error", - "name": "NotInitializing", - "inputs": [] - }, - { - "type": "error", - "name": "OwnableInvalidOwner", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "OwnableUnauthorizedAccount", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "OwnableUnauthorizedAccount", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } ] diff --git a/client/cmd/flags.go b/client/cmd/flags.go index bd90e03c..4772dd4f 100644 --- a/client/cmd/flags.go +++ b/client/cmd/flags.go @@ -78,7 +78,6 @@ func bindSetOperatorFlags(cmd *cobra.Command, cfg *operatorConfig) { func bindUnsetOperatorFlags(cmd *cobra.Command, cfg *operatorConfig) { bindValidatorBaseFlags(cmd, &cfg.baseConfig) - cmd.Flags().StringVar(&cfg.Operator, "operator", "", "Unsets an operator from your delegator") } func bindSetWithdrawalAddressFlags(cmd *cobra.Command, cfg *withdrawalConfig) { @@ -184,9 +183,7 @@ func validateValidatorCreateFlags(ctx context.Context, cmd *cobra.Command, cfg * } func validateOperatorFlags(cmd *cobra.Command) error { - return validateFlags(cmd, []string{ - "operator", - }) + return validateFlags(cmd, []string{}) } func validateWithdrawalFlags(cmd *cobra.Command) error { diff --git a/client/cmd/validator.go b/client/cmd/validator.go index 481836c2..a437a6d4 100644 --- a/client/cmd/validator.go +++ b/client/cmd/validator.go @@ -538,8 +538,6 @@ func unsetOperator(ctx context.Context, cfg operatorConfig) error { return err } - operatorAddress := common.HexToAddress(cfg.Operator) - result, err := prepareAndReadContract(ctx, &cfg.baseConfig, "fee") if err != nil { return err @@ -551,7 +549,7 @@ func unsetOperator(ctx context.Context, cfg operatorConfig) error { return errors.Wrap(err, "failed to unpack unsetOperatorFee") } - _, err = prepareAndExecuteTransaction(ctx, &cfg.baseConfig, "unsetOperator", unsetOperatorFee, uncompressedPubKey, operatorAddress) + _, err = prepareAndExecuteTransaction(ctx, &cfg.baseConfig, "unsetOperator", unsetOperatorFee, uncompressedPubKey) if err != nil { return err } diff --git a/contracts/bindings/create3.go b/contracts/bindings/create3.go index 01dd9710..91827374 100644 --- a/contracts/bindings/create3.go +++ b/contracts/bindings/create3.go @@ -31,8 +31,8 @@ var ( // Create3MetaData contains all meta data concerning the Create3 contract. var Create3MetaData = &bind.MetaData{ - ABI: "[{\"type\":\"function\",\"name\":\"deploy\",\"inputs\":[{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"deployed\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"getDeployed\",\"inputs\":[{\"name\":\"deployer\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"deployed\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"}]", - Bin: "0x6080806040523461001657610576908161001c8239f35b600080fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c90816350f1c4641461027d575063cdcb760a1461003b57600080fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610279576024359067ffffffffffffffff82116102755736602383011215610275578184013593610090856103ba565b9361009d83519586610379565b8585526020958686019436602483830101116102755781839260248a930188378701015282513360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016878201908152833560148201529061012c81603484015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610379565b51902093846101396103f4565b888151910184f59073ffffffffffffffffffffffffffffffffffffffff9586831615610219579183929161016d849361042d565b98519134905af1903d15610213573d90610186826103ba565b9161019386519384610379565b8252873d92013e5b80610209575b156101ae57505191168152f35b8460649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50833b15156101a1565b5061019b565b6064858a8851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b8280fd5b5080fd5b8284863461027957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027957359273ffffffffffffffffffffffffffffffffffffffff91828516850361032b575060609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020848101918252602435603486015293610323919061031b8160548101610100565b51902061042d565b915191168152f35b80fd5b6040810190811067ffffffffffffffff82111761034a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034a57604052565b67ffffffffffffffff811161034a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b604051906104018261032e565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b6104356103f4565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526080810181811067ffffffffffffffff82111761034a577f010000000000000000000000000000000000000000000000000000000000000060b673ffffffffffffffffffffffffffffffffffffffff948360405284519020937fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060a08201957fd694000000000000000000000000000000000000000000000000000000000000875260601b1660a28201520152601781526105398161032e565b519020169056fea2646970667358221220ae6ad00ab94c0c8c6287fcf226a86d455010dec06d16eb8e03322c891d8de38c64736f6c63430008170033", + ABI: "[{\"type\":\"function\",\"name\":\"deploy\",\"inputs\":[{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"deployed\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"deployDeterministic\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"deployed\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"getDeployed\",\"inputs\":[{\"name\":\"deployer\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"deployed\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"predictDeterministicAddress\",\"inputs\":[{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"deployed\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"}]", + Bin: "0x6080806040523461001657610667908161001b8239f35b5f80fdfe6080604081815260049182361015610015575f80fd5b5f3560e01c90816350f1c464146101f0575080635414dff01461019f5780639881d195146101335763cdcb760a1461004b575f80fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576024359167ffffffffffffffff831161012f5761012773ffffffffffffffffffffffffffffffffffffffff916100af60209536908301610358565b84513360601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168782019081529235601484015290919061011c81603484015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826102dd565b5190209034916104ea565b915191168152f35b5f80fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f57813567ffffffffffffffff811161012f5761012761019560209473ffffffffffffffffffffffffffffffffffffffff93369101610358565b34906024356104ea565b503461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f5773ffffffffffffffffffffffffffffffffffffffff610127602093356103d7565b82843461012f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f57359173ffffffffffffffffffffffffffffffffffffffff90818416840361012f5760609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020848101918252602435603486015293610127919061028c81605481016100f0565b5190206103d7565b6040810190811067ffffffffffffffff8211176102b057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b057604052565b67ffffffffffffffff81116102b057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561012f5780359061036f8261031e565b9261037d60405194856102dd565b8284526020838301011161012f57815f926020809301838601378301015290565b604051906103ab82610294565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b6103df61039e565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526080810181811067ffffffffffffffff8211176102b0577f010000000000000000000000000000000000000000000000000000000000000060b673ffffffffffffffffffffffffffffffffffffffff948360405284519020937fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060a08201957fd694000000000000000000000000000000000000000000000000000000000000875260601b1660a28201520152601781526104e381610294565b5190201690565b929192806104f661039e565b6020815191015ff59173ffffffffffffffffffffffffffffffffffffffff8316156105d3575f9261052784936103d7565b95602083519301915af13d156105ce573d6105418161031e565b9061054f60405192836102dd565b81525f60203d92013e5b806105c4575b1561056657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50813b151561055f565b610559565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fdfea26469706673582212203f5ac15a5d7253024be8653eb0cf2d7aa21c6b76cfa6a8d2a5f4f13f82e1cec864736f6c63430008170033", } // Create3ABI is the input ABI used to generate the binding from. @@ -233,6 +233,37 @@ func (_Create3 *Create3CallerSession) GetDeployed(deployer common.Address, salt return _Create3.Contract.GetDeployed(&_Create3.CallOpts, deployer, salt) } +// PredictDeterministicAddress is a free data retrieval call binding the contract method 0x5414dff0. +// +// Solidity: function predictDeterministicAddress(bytes32 salt) view returns(address deployed) +func (_Create3 *Create3Caller) PredictDeterministicAddress(opts *bind.CallOpts, salt [32]byte) (common.Address, error) { + var out []interface{} + err := _Create3.contract.Call(opts, &out, "predictDeterministicAddress", salt) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PredictDeterministicAddress is a free data retrieval call binding the contract method 0x5414dff0. +// +// Solidity: function predictDeterministicAddress(bytes32 salt) view returns(address deployed) +func (_Create3 *Create3Session) PredictDeterministicAddress(salt [32]byte) (common.Address, error) { + return _Create3.Contract.PredictDeterministicAddress(&_Create3.CallOpts, salt) +} + +// PredictDeterministicAddress is a free data retrieval call binding the contract method 0x5414dff0. +// +// Solidity: function predictDeterministicAddress(bytes32 salt) view returns(address deployed) +func (_Create3 *Create3CallerSession) PredictDeterministicAddress(salt [32]byte) (common.Address, error) { + return _Create3.Contract.PredictDeterministicAddress(&_Create3.CallOpts, salt) +} + // Deploy is a paid mutator transaction binding the contract method 0xcdcb760a. // // Solidity: function deploy(bytes32 salt, bytes creationCode) payable returns(address deployed) @@ -253,3 +284,24 @@ func (_Create3 *Create3Session) Deploy(salt [32]byte, creationCode []byte) (*typ func (_Create3 *Create3TransactorSession) Deploy(salt [32]byte, creationCode []byte) (*types.Transaction, error) { return _Create3.Contract.Deploy(&_Create3.TransactOpts, salt, creationCode) } + +// DeployDeterministic is a paid mutator transaction binding the contract method 0x9881d195. +// +// Solidity: function deployDeterministic(bytes creationCode, bytes32 salt) payable returns(address deployed) +func (_Create3 *Create3Transactor) DeployDeterministic(opts *bind.TransactOpts, creationCode []byte, salt [32]byte) (*types.Transaction, error) { + return _Create3.contract.Transact(opts, "deployDeterministic", creationCode, salt) +} + +// DeployDeterministic is a paid mutator transaction binding the contract method 0x9881d195. +// +// Solidity: function deployDeterministic(bytes creationCode, bytes32 salt) payable returns(address deployed) +func (_Create3 *Create3Session) DeployDeterministic(creationCode []byte, salt [32]byte) (*types.Transaction, error) { + return _Create3.Contract.DeployDeterministic(&_Create3.TransactOpts, creationCode, salt) +} + +// DeployDeterministic is a paid mutator transaction binding the contract method 0x9881d195. +// +// Solidity: function deployDeterministic(bytes creationCode, bytes32 salt) payable returns(address deployed) +func (_Create3 *Create3TransactorSession) DeployDeterministic(creationCode []byte, salt [32]byte) (*types.Transaction, error) { + return _Create3.Contract.DeployDeterministic(&_Create3.TransactOpts, creationCode, salt) +} diff --git a/contracts/bindings/create3_more.go b/contracts/bindings/create3_more.go index dab1d8f0..04842c0a 100644 --- a/contracts/bindings/create3_more.go +++ b/contracts/bindings/create3_more.go @@ -5,7 +5,7 @@ import ( ) const ( - Create3DeployedBytecode = "0x60806040908082526004918236101561001757600080fd5b600091823560e01c90816350f1c4641461027d575063cdcb760a1461003b57600080fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610279576024359067ffffffffffffffff82116102755736602383011215610275578184013593610090856103ba565b9361009d83519586610379565b8585526020958686019436602483830101116102755781839260248a930188378701015282513360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016878201908152833560148201529061012c81603484015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610379565b51902093846101396103f4565b888151910184f59073ffffffffffffffffffffffffffffffffffffffff9586831615610219579183929161016d849361042d565b98519134905af1903d15610213573d90610186826103ba565b9161019386519384610379565b8252873d92013e5b80610209575b156101ae57505191168152f35b8460649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50833b15156101a1565b5061019b565b6064858a8851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b8280fd5b5080fd5b8284863461027957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027957359273ffffffffffffffffffffffffffffffffffffffff91828516850361032b575060609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020848101918252602435603486015293610323919061031b8160548101610100565b51902061042d565b915191168152f35b80fd5b6040810190811067ffffffffffffffff82111761034a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034a57604052565b67ffffffffffffffff811161034a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b604051906104018261032e565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b6104356103f4565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526080810181811067ffffffffffffffff82111761034a577f010000000000000000000000000000000000000000000000000000000000000060b673ffffffffffffffffffffffffffffffffffffffff948360405284519020937fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060a08201957fd694000000000000000000000000000000000000000000000000000000000000875260601b1660a28201520152601781526105398161032e565b519020169056fea26469706673582212203c3f094c14080645260151fc0973813e7e3e388692d8194b173368b56b8ac64864736f6c63430008170033" + Create3DeployedBytecode = "0x6080604081815260049182361015610015575f80fd5b5f3560e01c90816350f1c464146101f0575080635414dff01461019f5780639881d195146101335763cdcb760a1461004b575f80fd5b807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576024359167ffffffffffffffff831161012f5761012773ffffffffffffffffffffffffffffffffffffffff916100af60209536908301610358565b84513360601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168782019081529235601484015290919061011c81603484015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826102dd565b5190209034916104ea565b915191168152f35b5f80fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f57813567ffffffffffffffff811161012f5761012761019560209473ffffffffffffffffffffffffffffffffffffffff93369101610358565b34906024356104ea565b503461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f5773ffffffffffffffffffffffffffffffffffffffff610127602093356103d7565b82843461012f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f57359173ffffffffffffffffffffffffffffffffffffffff90818416840361012f5760609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020848101918252602435603486015293610127919061028c81605481016100f0565b5190206103d7565b6040810190811067ffffffffffffffff8211176102b057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b057604052565b67ffffffffffffffff81116102b057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561012f5780359061036f8261031e565b9261037d60405194856102dd565b8284526020838301011161012f57815f926020809301838601378301015290565b604051906103ab82610294565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b6103df61039e565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526080810181811067ffffffffffffffff8211176102b0577f010000000000000000000000000000000000000000000000000000000000000060b673ffffffffffffffffffffffffffffffffffffffff948360405284519020937fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060a08201957fd694000000000000000000000000000000000000000000000000000000000000875260601b1660a28201520152601781526104e381610294565b5190201690565b929192806104f661039e565b6020815191015ff59173ffffffffffffffffffffffffffffffffffffffff8316156105d3575f9261052784936103d7565b95602083519301915af13d156105ce573d6105418161031e565b9061054f60405192836102dd565b81525f60203d92013e5b806105c4575b1561056657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50813b151561055f565b610559565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fdfea26469706673582212200cce8f106c69c6e73c95d42197d10a06932ab001439d02d8ab0c49108ccab19964736f6c63430008170033" ) //go:embed create3_storage_layout.json diff --git a/contracts/bindings/iptokenstaking.go b/contracts/bindings/iptokenstaking.go index bbffedee..3abcd71b 100644 --- a/contracts/bindings/iptokenstaking.go +++ b/contracts/bindings/iptokenstaking.go @@ -40,8 +40,8 @@ type IIPTokenStakingInitializerArgs struct { // IPTokenStakingMetaData contains all meta data concerning the IPTokenStaking contract. var IPTokenStakingMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"defaultMinFee\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"AA\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"BB\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"DEFAULT_MIN_FEE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MAX_MONIKER_LENGTH\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"PP\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"STAKE_ROUNDING\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createValidator\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"moniker\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"maxCommissionRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"maxCommissionChangeRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"supportsUnlocked\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"args\",\"type\":\"tuple\",\"internalType\":\"structIIPTokenStaking.InitializerArgs\",\"components\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"minStakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"minUnstakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"minCommissionRate\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"minCommissionRate\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"minStakeAmount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"minUnstakeAmount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"redelegate\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpSrcPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpDstPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"redelegateOnBehalf\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpSrcPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpDstPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"roundedStakeAmount\",\"inputs\":[{\"name\":\"rawAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"remainder\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"setFee\",\"inputs\":[{\"name\":\"newFee\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setMinCommissionRate\",\"inputs\":[{\"name\":\"newValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setMinStakeAmount\",\"inputs\":[{\"name\":\"newMinStakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setMinUnstakeAmount\",\"inputs\":[{\"name\":\"newMinUnstakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"setRewardsAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"newRewardsAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"setWithdrawalAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"newWithdrawalAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"stake\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"stakingPeriod\",\"type\":\"uint8\",\"internalType\":\"enumIIPTokenStaking.StakingPeriod\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"stakeOnBehalf\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"stakingPeriod\",\"type\":\"uint8\",\"internalType\":\"enumIIPTokenStaking.StakingPeriod\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unjail\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unjailOnBehalf\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unsetOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unstake\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unstakeOnBehalf\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"updateValidatorCommission\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"event\",\"name\":\"CreateValidator\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"moniker\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"stakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"},{\"name\":\"maxCommissionRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"},{\"name\":\"maxCommissionChangeRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"},{\"name\":\"supportsUnlocked\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Deposit\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"stakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"stakingPeriod\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"FeeSet\",\"inputs\":[{\"name\":\"newFee\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MinCommissionRateChanged\",\"inputs\":[{\"name\":\"minCommissionRate\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MinStakeAmountSet\",\"inputs\":[{\"name\":\"minStakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MinUnstakeAmountSet\",\"inputs\":[{\"name\":\"minUnstakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Redelegate\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpSrcPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpDstPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SetOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SetRewardAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"executionAddress\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SetWithdrawalAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"executionAddress\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unjail\",\"inputs\":[{\"name\":\"unjailer\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UnsetOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UpdateValidatorCommssion\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Withdraw\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"stakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"InvalidInitialization\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotInitializing\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnableInvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"OwnableUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]}]", - Bin: "0x60a0346200015c57601f6200285038819003918201601f19168301926001600160401b0392909183851183861017620001615781602092849260409788528339810103126200015c5751633b9aca00811062000108576080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82851c16620000f7578080831603620000b2575b83516126d890816200017882396080518181816109d601526121230152f35b6001600160401b0319909116811790915581519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808062000093565b835163f92ee8a960e01b8152600490fd5b825162461bcd60e51b815260206004820152602760248201527f4950546f6b656e5374616b696e673a20496e76616c69642064656661756c74206044820152666d696e2066656560c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063014e8178146111db5780631487153e146111be578063396e1e47146111a257806339ec4df9146111835780633dd9fb9a14611140578063561edf7e146110ab5780635727dc5c1461108f57806369fe0e2d1461106a5780636ea3a22814611045578063715018a614610f7e578063787f82c814610ee957806379ba509714610e5f57806386eb5e4814610e155780638740597a14610a905780638da5cb5b14610a3c5780638ed65fbc146109f957806394fd0fe0146109be57806398d730a214610920578063997da8d4146109055780639d04b121146108595780639d9d293f14610815578063a0284f16146107b3578063ab8870f61461078e578063b2bc29ef1461073b578063bda16b151461071c578063c582db441461061d578063d2e1f5b8146105e7578063ddca3f43146105ca578063e30c397814610576578063eb4af04514610551578063ec21dac214610514578063eeeac01e146104d9578063f1887684146104ba578063f2fde38b146103e85763fce5dc8c146101a257600080fd5b346103e45760a06003193601126103e4577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82851c16159167ffffffffffffffff8116801590816103dc575b60011490816103d2575b1590816103c9575b506103a1578260017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000831617855561036c575b50610242612649565b61024a612649565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580359073ffffffffffffffffffffffffffffffffffffffff821680830361036857610297612649565b61029f612649565b1561033957506102ae906122a3565b6102b9602435612412565b6102c46044356121d7565b6102cf606435612357565b6102da608435612121565b6102e2578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a138808280f35b602490868651917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b8680fd5b7fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000166801000000000000000117835538610239565b5083517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610206565b303b1591506101fe565b8491506101f4565b8280fd5b8382346104b65760206003193601126104b6573573ffffffffffffffffffffffffffffffffffffffff8082168092036103e4576104236120b1565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b5080fd5b5050346104b657816003193601126104b6576020906001549051908152f35b5050346104b657816003193601126104b657602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b8361054e610521366113a3565b966105358782989398979497969596611ad8565b61053f8484611ad8565b6105498686611ad8565b6118a1565b80f35b8382346104b65760206003193601126104b65761054e906105706120b1565b35612412565b5050346104b657816003193601126104b65760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b50346103e457826003193601126103e45760209250549051908152f35b50823461061a57602060031936011261061a57503561060d633b9aca0082068092611a9c565b9082519182526020820152f35b80fd5b5090806003193601126103e457813567ffffffffffffffff81116107185761064890369084016111fc565b9190926024359063ffffffff82168092036107145761069d9061066b8587611ad8565b6106953373ffffffffffffffffffffffffffffffffffffffff61068e888a611d90565b1614611678565b543414611411565b8480341561070b575b81808092813491f115610701576106f57f202c9aad6965f28c0ce1cd00460c1adfa2c90277f4f0a7abb813e2f04cecd70b946106e58754841015611a11565b8351948486958652850191611703565b9060208301520390a180f35b81513d86823e3d90fd5b506108fc6106a6565b8580fd5b8380fd5b5050346104b657816003193601126104b65760209051633b9aca008152f35b8361054e6107483661122f565b9661075c8782989398979497969596611ad8565b61077f3373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b6107898484611ad8565b61149c565b8382346104b65760206003193601126104b65761054e906107ad6120b1565b35612357565b6020836107ea6107c23661129d565b956107d38682979397969496611ad8565b6107dd8484611ad8565b6107e5611dea565b611ecf565b9060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005551908152f35b8361054e610822366113a3565b966108368782989398979497969596611ad8565b6105353373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b50906108643661130c565b909291936108728486611ad8565b61089a73ffffffffffffffffffffffffffffffffffffffff91610695338461068e898b611d90565b858034156108fc575b81808092813491f1156108f2576108e57f28c0529db8cf660d5b4c1e4b9313683fa7241c3fc49452e7d0ebae215a5f84b2958451958587968752860191611703565b911660208301520390a180f35b82513d87823e3d90fd5b506108fc6108a3565b5050346104b657816003193601126104b65751908152602090f35b5090346103e45760206003193601126103e45781359167ffffffffffffffff8311610718576109766109b8917fe3a30390f081e6e95d8bcc1b0459ae73d4ca4fc9bf6351e006d072c02f5209ff943691016111fc565b9190926109838385611ad8565b6109a63373ffffffffffffffffffffffffffffffffffffffff61068e8688611d90565b51928392602084526020840191611703565b0390a180f35b5050346104b657816003193601126104b657602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b8361054e610a063661135c565b92610a148382949394611ad8565b610a373373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b611742565b5050346104b657816003193601126104b65760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b50919060e06003193601126104b65767ffffffffffffffff90833582811161071857610abf90369086016111fc565b91909460243584811161071457610ad990369083016111fc565b92909660443563ffffffff90818116809103610e115760643590828216809203610e0d57608435928316809303610e0d5760a435988915158a03610e095760c435908111610e0957610b31610b7091369089016111fc565b9c9098610b3e8b88611ad8565b610b613373ffffffffffffffffffffffffffffffffffffffff61068e8e8b611d90565b610b69611dea565b3691611870565b95633b9aca00340699610b838b34611a9c565b91610b92600154841015611e44565b610b9f8d54851015611a11565b848411610d86576046895111610d0357508b80838015610cf9575b82809291818093f115610cef5715610ce557610be46001955b87519a610120808d528c0191611703565b6020978a8203898c01528051908183528d5b828110610cd25750509360ff938d9e9793837f65bfc2fa1cd4c6f50f60983ad1cf1cb4bff5ee6570428254dfce41b085ef6d149e9f601f8f9e9c997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092610c929f82819e9a010152011601968c015260608b015260808a015260a08901521660c08701523360e087015281868203016101008701520191611703565b0390a180610cc3575b5060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580f35b610ccc90612591565b38610c9b565b8181018b01518482018c01528a01610bf6565b610be48b95610bd3565b86513d8d823e3d90fd5b6108fc9150610bba565b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602760248201527f4950546f6b656e5374616b696e673a204d6f6e696b6572206c656e677468206f60448201527f766572206d6178000000000000000000000000000000000000000000000000006064820152fd5b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f6f766572206d61780000000000000000000000000000000000000000000000006064820152fd5b8a80fd5b8980fd5b8880fd5b83610e38610e223661135c565b92610e2e929192611dea565b610a378282611ad8565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580f35b5090346103e457826003193601126103e4573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00541603610eb9578261054e336122a3565b6024925051907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b5090610ef43661130c565b90929193610f028486611ad8565b610f2a73ffffffffffffffffffffffffffffffffffffffff91610695338461068e898b611d90565b85803415610f75575b81808092813491f1156108f2576108e57f9f7f04f688298f474ed4c786abb29e0ca0173d70516d55d9eac515609b45fbca958451958587968752860191611703565b506108fc610f33565b833461061a578060031936011261061a57610f976120b1565b8073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b8382346104b65760206003193601126104b65761054e906110646120b1565b356121d7565b8382346104b65760206003193601126104b65761054e906110896120b1565b35612121565b5050346104b657816003193601126104b6576020905160078152f35b50906110b63661130c565b909291936110c48486611ad8565b6110ec73ffffffffffffffffffffffffffffffffffffffff91610695338461068e898b611d90565b85803415611137575b81808092813491f1156108f2576108e57f658c1d4ffa3caca5fbfd38bb564825b972c239a7d090eb333a42e2ba7a0a4ed2958451958587968752860191611703565b506108fc6110f5565b6020836107ea61114f3661129d565b956111608682979397969496611ad8565b6107d33373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b5050346104b657816003193601126104b6576020906002549051908152f35b5050346104b657816003193601126104b6576020905160468152f35b5050346104b657816003193601126104b657602091549051908152f35b8361054e6111e83661122f565b9661077f8782989398979497969596611ad8565b9181601f8401121561122a5782359167ffffffffffffffff831161122a576020838186019501011161122a57565b600080fd5b60a060031982011261122a5767ffffffffffffffff9060043582811161122a578161125c916004016111fc565b9390939260243581811161122a5783611277916004016111fc565b93909392604435926064359260843591821161122a57611299916004016111fc565b9091565b608060031982011261122a5767ffffffffffffffff9160043583811161122a57826112ca916004016111fc565b9390939260243582811161122a57816112e5916004016111fc565b93909392604435600481101561122a579260643591821161122a57611299916004016111fc565b604060031982011261122a576004359067ffffffffffffffff821161122a57611337916004016111fc565b909160243573ffffffffffffffffffffffffffffffffffffffff8116810361122a5790565b604060031982011261122a5767ffffffffffffffff9160043583811161122a5782611389916004016111fc565b9390939260243591821161122a57611299916004016111fc565b9060a060031983011261122a5767ffffffffffffffff60043581811161122a57836113d0916004016111fc565b9390939260243583811161122a57826113eb916004016111fc565b9390939260443591821161122a57611405916004016111fc565b90916064359060843590565b1561141857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4950546f6b656e5374616b696e673a20496e76616c69642066656520616d6f7560448201527f6e740000000000000000000000000000000000000000000000000000000000006064820152fd5b959094929691936114b06004543414611411565b6000341561166f575b600080808093813491f115611663576114d6600354821115611d05565b60025484106115df57633b9aca00840661155b57611538611556957fac41e6ee15d2d0047feb1ea8aba74b92c0334cd3e78024a5ad679d7d08b8fbc59961152a6040519a8b9a60c08c5260c08c0191611703565b9189830360208b0152611703565b936040870152606086015233608086015284830360a0860152611703565b0390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4950546f6b656e5374616b696e673a20416d6f756e74206d757374206265207260448201527f6f756e64656420746f205354414b455f524f554e44494e4700000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a20556e7374616b6520616d6f756e74207560448201527f6e646572206d696e0000000000000000000000000000000000000000000000006064820152fd5b6040513d6000823e3d90fd5b506108fc6114b9565b1561167f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b91926117516004543414611411565b600034156117ba575b600080808093813491f115611663577f026c2e156478ec2a25ccebac97a338d301f69b6d5aeec39c578b28a95e11820193611556916117ac604051958695338752606060208801526060870191611703565b918483036040860152611703565b506108fc61175a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761180757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161180757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261188461187f83611836565b6117c3565b938285528282011161122a57816000926020928387013784010152565b959390946118b26004543414611411565b60003415611a08575b600080808093813491f115611663576118d5368585611870565b602081519101206118e7368385611870565b60208151910120146119845761196061196e9361192c8a633b9aca007f210091050fbe3add6ade45436b6c7aed210ef28fc37e1a1775970fc391272fe89c0690611a9c565b9561193b600154881015611e44565b611949600354891115611d05565b61152a6040519a8b9a60c08c5260c08c0191611703565b918683036040880152611703565b91606084015233608084015260a08301520390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4950546f6b656e5374616b696e673a20526564656c65676174696e6720746f2060448201527f73616d652076616c696461746f720000000000000000000000000000000000006064820152fd5b506108fc6118bb565b15611a1857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f756e646572206d696e00000000000000000000000000000000000000000000006064820152fd5b91908203918211611aa957565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9060418103611c815715611c52577f04000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082351603611bce578060016021611b439301359101356124de565b15611b4a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b15611d0c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a20496e76616c69642064656c656761746960448201527f6f6e2069640000000000000000000000000000000000000000000000000000006064820152fd5b8160011161122a5773ffffffffffffffffffffffffffffffffffffffff91611ddf9160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3693019101611870565b602081519101201690565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006002815414611e1a5760029055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b15611e4b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a205374616b6520616d6f756e7420756e6460448201527f6572206d696e00000000000000000000000000000000000000000000000000006064820152fd5b92959390919360048210156120825760038211611ffe57633b9aca00340695611ef88734611a9c565b95611f07600154881015611e44565b60009884611fb7575b94611f866000989495899893967f269a32ff589c9b701f49ab6aa532ee8f55901df71a7fca2d70dc9f45314f1be39560ff611f608c9b9a8c9b61152a6040519a8b9a60e08c5260e08c0191611703565b938960408801521660608601528d60808601523360a086015284830360c0860152611703565b0390a1818115611fae575b8290f1156116635780611fa2575090565b611fab90612591565b90565b506108fc611f91565b91949850929591946003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611aa95760010180600355989491969390959296611f10565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a20496e76616c6964207374616b696e672060448201527f706572696f6400000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036120f157565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7f00000000000000000000000000000000000000000000000000000000000000008110612179576020817f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f92600455604051908152a1565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4950546f6b656e5374616b696e673a20496e76616c6964206d696e20666565006044820152fd5b6121e890633b9aca00810690611a9c565b80600255801561221f5760207ff93d77980ae5a1ddd008d6a7f02cbee5af2a4fcea850c4b55828de4f644e589f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20756e7374616b6560448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b801561238e576020817f4167b1de65292a9ff628c9136823791a1de701e1fbdda4863ce22a1cfaf4d0f792600055604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20636f6d6d69737360448201527f696f6e20726174650000000000000000000000000000000000000000000000006064820152fd5b61242390633b9aca00810690611a9c565b80600155801561245a5760207fea095c2fea861b87f0fd54d0d4453358692a527e120df22b62c71696247dfb9f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a205a65726f206d696e207374616b65206160448201527f6d6f756e740000000000000000000000000000000000000000000000000000006064820152fd5b80158015612567575b801561255f575b8015612535575b61252e576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b5050600090565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8210156124f5565b5081156124ee565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8110156124e7565b600080808093335af13d15612644573d6125ad61187f82611836565b908152600060203d92013e5b156125c057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4950546f6b656e5374616b696e673a204661696c656420746f20726566756e6460448201527f2072656d61696e646572000000000000000000000000000000000000000000006064820152fd5b6125b9565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561267857565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220f2433cb1c10cae1d142fc22c48b0f79db9dcac0f9091379a1330d91b744a701d64736f6c63430008170033", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"defaultMinFee\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"AA\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"BB\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"DEFAULT_MIN_FEE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MAX_MONIKER_LENGTH\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"PP\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"STAKE_ROUNDING\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createValidator\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"moniker\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"maxCommissionRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"maxCommissionChangeRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"supportsUnlocked\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"args\",\"type\":\"tuple\",\"internalType\":\"structIIPTokenStaking.InitializerArgs\",\"components\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"minStakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"minUnstakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"minCommissionRate\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"minCommissionRate\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"minStakeAmount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"minUnstakeAmount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"redelegate\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpSrcPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpDstPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"redelegateOnBehalf\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpSrcPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpDstPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"roundedStakeAmount\",\"inputs\":[{\"name\":\"rawAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"remainder\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"setFee\",\"inputs\":[{\"name\":\"newFee\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setMinCommissionRate\",\"inputs\":[{\"name\":\"newValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setMinStakeAmount\",\"inputs\":[{\"name\":\"newMinStakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setMinUnstakeAmount\",\"inputs\":[{\"name\":\"newMinUnstakeAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"setRewardsAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"newRewardsAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"setWithdrawalAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"newWithdrawalAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"stake\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"stakingPeriod\",\"type\":\"uint8\",\"internalType\":\"enumIIPTokenStaking.StakingPeriod\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"stakeOnBehalf\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"stakingPeriod\",\"type\":\"uint8\",\"internalType\":\"enumIIPTokenStaking.StakingPeriod\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unjail\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unjailOnBehalf\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unsetOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unstake\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"unstakeOnBehalf\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"updateValidatorCommission\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"event\",\"name\":\"CreateValidator\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"moniker\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"stakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"},{\"name\":\"maxCommissionRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"},{\"name\":\"maxCommissionChangeRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"},{\"name\":\"supportsUnlocked\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Deposit\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"stakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"stakingPeriod\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"FeeSet\",\"inputs\":[{\"name\":\"newFee\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MinCommissionRateChanged\",\"inputs\":[{\"name\":\"minCommissionRate\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MinStakeAmountSet\",\"inputs\":[{\"name\":\"minStakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MinUnstakeAmountSet\",\"inputs\":[{\"name\":\"minUnstakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Redelegate\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpSrcPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpDstPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SetOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SetRewardAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"executionAddress\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SetWithdrawalAddress\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"executionAddress\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unjail\",\"inputs\":[{\"name\":\"unjailer\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UnsetOperator\",\"inputs\":[{\"name\":\"uncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UpdateValidatorCommssion\",\"inputs\":[{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"commissionRate\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Withdraw\",\"inputs\":[{\"name\":\"delegatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"stakeAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"delegationId\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"operatorAddress\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"InvalidInitialization\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotInitializing\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnableInvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"OwnableUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]}]", + Bin: "0x60a0346200015c57601f620027d338819003918201601f19168301926001600160401b0392909183851183861017620001605781602092849260409788528339810103126200015c5751633b9aca00811062000108576080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82851c16620000f7578080831603620000b2575b835161265e90816200017582396080518181816109c001526120ae0152f35b6001600160401b0319909116811790915581519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f808062000093565b835163f92ee8a960e01b8152600490fd5b825162461bcd60e51b815260206004820152602760248201527f4950546f6b656e5374616b696e673a20496e76616c69642064656661756c74206044820152666d696e2066656560c81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe604060808152600480361015610013575f80fd5b5f3560e01c8063014e81781461117f5780631487153e14611162578063396e1e471461114757806339ec4df9146111295780633dd9fb9a146110e6578063561edf7e146110515780635727dc5c1461103657806369fe0e2d146110125780636ea3a22814610fee578063715018a614610f29578063787f82c814610e9457806379ba509714610e0d57806386eb5e4814610deb5780638740597a14610a785780638da5cb5b14610a255780638ed65fbc146109e357806394fd0fe0146109a957806398d730a2146108f0578063997da8d4146108d65780639d04b1211461082b5780639d9d293f146107e8578063a0284f1614610786578063ab8870f614610762578063b2bc29ef14610710578063bda16b15146106f2578063c582db44146105fc578063d2e1f5b8146105cb578063ddca3f43146105ae578063e30c39781461055b578063eb4af04514610537578063ec21dac2146104fc578063eeeac01e146104c2578063f1887684146104a4578063f2fde38b146103d85763fce5dc8c1461019c575f80fd5b3461035c5760a060031936011261035c577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82851c16159167ffffffffffffffff8116801590816103d0575b60011490816103c6575b1590816103bd575b50610395578260017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316178555610360575b5061023c6125cf565b6102446125cf565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580359073ffffffffffffffffffffffffffffffffffffffff821680830361035c576102916125cf565b6102996125cf565b1561032d57506102a89061222e565b6102b360243561239b565b6102be604435612162565b6102c96064356122e1565b6102d46084356120ac565b6102da57005b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a1005b6024905f8651917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011783555f610233565b5083517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b9050155f610200565b303b1591506101f8565b8491506101ee565b503461035c57602060031936011261035c573573ffffffffffffffffffffffffffffffffffffffff80821680920361035c5761041261203c565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b823461035c575f60031936011261035c576020906001549051908152f35b823461035c575f60031936011261035c57602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b61053561050836611341565b9661051c8782989398979497969596611a69565b6105268484611a69565b6105308686611a69565b611836565b005b503461035c57602060031936011261035c576105359061055561203c565b3561239b565b823461035c575f60031936011261035c5760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b50903461035c575f60031936011261035c57602091549051908152f35b503461035c57602060031936011261035c57356105ef633b9aca0082068092611a2f565b9082519182526020820152f35b50908060031936011261035c57813567ffffffffffffffff811161035c57610627903690840161119f565b9190926024359063ffffffff821680920361035c5761067c9061064a8587611a69565b6106743373ffffffffffffffffffffffffffffffffffffffff61066d888a611d1f565b1614611613565b5434146113af565b5f34156106e9575b5f80808093813491f1156106df576106d47f202c9aad6965f28c0ce1cd00460c1adfa2c90277f4f0a7abb813e2f04cecd70b946106c45f548410156119a4565b835194848695865285019161169e565b9060208301520390a1005b50513d5f823e3d90fd5b506108fc610684565b823461035c575f60031936011261035c5760209051633b9aca008152f35b61053561071c366111cd565b966107308782989398979497969596611a69565b6107533373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b61075d8484611a69565b61143a565b503461035c57602060031936011261035c576105359061078061203c565b356122e1565b6020836107bd6107953661123b565b956107a68682979397969496611a69565b6107b08484611a69565b6107b8611d79565b611e5e565b9060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005551908152f35b6105356107f436611341565b966108088782989398979497969596611a69565b61051c3373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b5090610836366112aa565b909291936108448486611a69565b61086c73ffffffffffffffffffffffffffffffffffffffff91610674338461066d898b611d1f565b5f34156108cd575b5f80808093813491f1156108c3576108b77f28c0529db8cf660d5b4c1e4b9313683fa7241c3fc49452e7d0ebae215a5f84b295845195858796875286019161169e565b911660208301520390a1005b82513d5f823e3d90fd5b506108fc610874565b823461035c575f60031936011261035c57602090515f8152f35b50602060031936011261035c57803567ffffffffffffffff811161035c5761091e61094e913690840161119f565b91909261092b8385611a69565b6106743373ffffffffffffffffffffffffffffffffffffffff61066d8688611d1f565b5f34156109a0575b5f80808093813491f1156108c35761099b7fe3a30390f081e6e95d8bcc1b0459ae73d4ca4fc9bf6351e006d072c02f5209ff935192839260208452602084019161169e565b0390a1005b506108fc610956565b823461035c575f60031936011261035c57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b6105356109ef366112fa565b926109fd8382949394611a69565b610a203373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b6116dc565b823461035c575f60031936011261035c5760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b509060e060031936011261035c5767ffffffffffffffff90823582811161035c57610aa6903690850161119f565b919060243584811161035c57610abf903690870161119f565b92909160443563ffffffff9081811680910361035c576064359082821680920361035c5760843592831680930361035c5760a435988915158a0361035c5760c43590811161035c57610b17610b569136908d0161119f565b979098610b248b88611a69565b610b473373ffffffffffffffffffffffffffffffffffffffff61066d8e8b611d1f565b610b4f611d79565b3691611806565b99633b9aca00340699610b698b34611a2f565b91610b78600154841015611dd3565b610b855f548510156119a4565b848411610d685760468d5111610ce55750815f8115610cdc575b5f808093818094f115610cd25715610cc857610bc96001955b87519a610120808d528c019161169e565b60209b8a82038d8c01528051908183525f5b828110610cb45750509360ff93610c76999793837f65bfc2fa1cd4c6f50f60983ad1cf1cb4bff5ee6570428254dfce41b085ef6d149e9f9894601f8f9e9c995f8c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095010152011601968c015260608b015260808a015260a08901521660c08701523360e08701528186820301610100870152019161169e565b0390a180610ca5575b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055005b610cae90612519565b5f610c7f565b808f80928401015182828701015201610bdb565b610bc95f95610bb8565b86513d5f823e3d90fd5b506108fc610b9f565b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602760248201527f4950546f6b656e5374616b696e673a204d6f6e696b6572206c656e677468206f60448201527f766572206d6178000000000000000000000000000000000000000000000000006064820152fd5b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f6f766572206d61780000000000000000000000000000000000000000000000006064820152fd5b610c7f610df7366112fa565b92610e03929192611d79565b610a208282611a69565b503461035c575f60031936011261035c573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00541603610e65576105353361222e565b60249151907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b5090610e9f366112aa565b90929193610ead8486611a69565b610ed573ffffffffffffffffffffffffffffffffffffffff91610674338461066d898b611d1f565b5f3415610f20575b5f80808093813491f1156108c3576108b77f9f7f04f688298f474ed4c786abb29e0ca0173d70516d55d9eac515609b45fbca95845195858796875286019161169e565b506108fc610edd565b3461035c575f60031936011261035c57610f4161203c565b5f73ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b503461035c57602060031936011261035c576105359061100c61203c565b35612162565b503461035c57602060031936011261035c576105359061103061203c565b356120ac565b823461035c575f60031936011261035c576020905160078152f35b509061105c366112aa565b9092919361106a8486611a69565b61109273ffffffffffffffffffffffffffffffffffffffff91610674338461066d898b611d1f565b5f34156110dd575b5f80808093813491f1156108c3576108b77f658c1d4ffa3caca5fbfd38bb564825b972c239a7d090eb333a42e2ba7a0a4ed295845195858796875286019161169e565b506108fc61109a565b6020836107bd6110f53661123b565b956111068682979397969496611a69565b6107a63373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b823461035c575f60031936011261035c576020906002549051908152f35b823461035c575f60031936011261035c576020905160468152f35b823461035c575f60031936011261035c576020905f549051908152f35b61053561118b366111cd565b966107538782989398979497969596611a69565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020838186019501011161035c57565b60a060031982011261035c5767ffffffffffffffff9060043582811161035c57816111fa9160040161119f565b9390939260243581811161035c57836112159160040161119f565b93909392604435926064359260843591821161035c576112379160040161119f565b9091565b608060031982011261035c5767ffffffffffffffff9160043583811161035c57826112689160040161119f565b9390939260243582811161035c57816112839160040161119f565b93909392604435600481101561035c579260643591821161035c576112379160040161119f565b604060031982011261035c576004359067ffffffffffffffff821161035c576112d59160040161119f565b909160243573ffffffffffffffffffffffffffffffffffffffff8116810361035c5790565b604060031982011261035c5767ffffffffffffffff9160043583811161035c57826113279160040161119f565b9390939260243591821161035c576112379160040161119f565b9060a060031983011261035c5767ffffffffffffffff60043581811161035c578361136e9160040161119f565b9390939260243583811161035c57826113899160040161119f565b9390939260443591821161035c576113a39160040161119f565b90916064359060843590565b156113b657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4950546f6b656e5374616b696e673a20496e76616c69642066656520616d6f7560448201527f6e740000000000000000000000000000000000000000000000000000000000006064820152fd5b9590949296919361144e60045434146113af565b5f341561160a575b5f80808093813491f1156115ff57611472600354821115611c94565b600254841061157b57633b9aca0084066114f7576114d46114f2957fac41e6ee15d2d0047feb1ea8aba74b92c0334cd3e78024a5ad679d7d08b8fbc5996114c66040519a8b9a60c08c5260c08c019161169e565b9189830360208b015261169e565b936040870152606086015233608086015284830360a086015261169e565b0390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4950546f6b656e5374616b696e673a20416d6f756e74206d757374206265207260448201527f6f756e64656420746f205354414b455f524f554e44494e4700000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a20556e7374616b6520616d6f756e74207560448201527f6e646572206d696e0000000000000000000000000000000000000000000000006064820152fd5b6040513d5f823e3d90fd5b506108fc611456565b1561161a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b91926116eb60045434146113af565b5f3415611752575b5f80808093813491f1156115ff577f026c2e156478ec2a25ccebac97a338d301f69b6d5aeec39c578b28a95e118201936114f29161174460405195869533875260606020880152606087019161169e565b91848303604086015261169e565b506108fc6116f3565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761179f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161179f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261181a611815836117cc565b61175b565b938285528282011161035c57815f926020928387013784010152565b9593909461184760045434146113af565b5f341561199b575b5f80808093813491f1156115ff57611868368585611806565b6020815191012061187a368385611806565b6020815191012014611917576118f3611901936118bf8a633b9aca007f210091050fbe3add6ade45436b6c7aed210ef28fc37e1a1775970fc391272fe89c0690611a2f565b956118ce600154881015611dd3565b6118dc600354891115611c94565b6114c66040519a8b9a60c08c5260c08c019161169e565b91868303604088015261169e565b91606084015233608084015260a08301520390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4950546f6b656e5374616b696e673a20526564656c65676174696e6720746f2060448201527f73616d652076616c696461746f720000000000000000000000000000000000006064820152fd5b506108fc61184f565b156119ab57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f756e646572206d696e00000000000000000000000000000000000000000000006064820152fd5b91908203918211611a3c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9060418103611c105715611be3577f04000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082351603611b5f578060016021611ad4930135910135612467565b15611adb57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b15611c9b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a20496e76616c69642064656c656761746960448201527f6f6e2069640000000000000000000000000000000000000000000000000000006064820152fd5b8160011161035c5773ffffffffffffffffffffffffffffffffffffffff91611d6e9160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3693019101611806565b602081519101201690565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006002815414611da95760029055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b15611dda57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a205374616b6520616d6f756e7420756e6460448201527f6572206d696e00000000000000000000000000000000000000000000000000006064820152fd5b929593909193600482101561200f5760038211611f8b57633b9aca00340695611e878734611a2f565b95611e96600154881015611dd3565b5f9884611f44575b94611f135f989495899893967f269a32ff589c9b701f49ab6aa532ee8f55901df71a7fca2d70dc9f45314f1be39560ff611eed8c9b9a8c9b6114c66040519a8b9a60e08c5260e08c019161169e565b938960408801521660608601528d60808601523360a086015284830360c086015261169e565b0390a1818115611f3b575b8290f1156115ff5780611f2f575090565b611f3890612519565b90565b506108fc611f1e565b91949850929591946003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a3c5760010180600355989491969390959296611e9e565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a20496e76616c6964207374616b696e672060448201527f706572696f6400000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361207c57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7f00000000000000000000000000000000000000000000000000000000000000008110612104576020817f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f92600455604051908152a1565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4950546f6b656e5374616b696e673a20496e76616c6964206d696e20666565006044820152fd5b61217390633b9aca00810690611a2f565b8060025580156121aa5760207ff93d77980ae5a1ddd008d6a7f02cbee5af2a4fcea850c4b55828de4f644e589f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20756e7374616b6560448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b8015612317576020817f4167b1de65292a9ff628c9136823791a1de701e1fbdda4863ce22a1cfaf4d0f7925f55604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20636f6d6d69737360448201527f696f6e20726174650000000000000000000000000000000000000000000000006064820152fd5b6123ac90633b9aca00810690611a2f565b8060015580156123e35760207fea095c2fea861b87f0fd54d0d4453358692a527e120df22b62c71696247dfb9f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a205a65726f206d696e207374616b65206160448201527f6d6f756e740000000000000000000000000000000000000000000000000000006064820152fd5b801580156124ef575b80156124e7575b80156124bd575b6124b7576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b50505f90565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f82101561247e565b508115612477565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f811015612470565b5f80808093335af13d156125ca573d612534611815826117cc565b9081525f60203d92013e5b1561254657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4950546f6b656e5374616b696e673a204661696c656420746f20726566756e6460448201527f2072656d61696e646572000000000000000000000000000000000000000000006064820152fd5b61253f565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156125fe57565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220577ec85034ef44dffddfffe6870eac559dfea240ad26d847af6223e5823880f064736f6c63430008170033", } // IPTokenStakingABI is the input ABI used to generate the binding from. @@ -1008,21 +1008,21 @@ func (_IPTokenStaking *IPTokenStakingTransactorSession) UnjailOnBehalf(validator // UnsetOperator is a paid mutator transaction binding the contract method 0x98d730a2. // -// Solidity: function unsetOperator(bytes uncmpPubkey) returns() +// Solidity: function unsetOperator(bytes uncmpPubkey) payable returns() func (_IPTokenStaking *IPTokenStakingTransactor) UnsetOperator(opts *bind.TransactOpts, uncmpPubkey []byte) (*types.Transaction, error) { return _IPTokenStaking.contract.Transact(opts, "unsetOperator", uncmpPubkey) } // UnsetOperator is a paid mutator transaction binding the contract method 0x98d730a2. // -// Solidity: function unsetOperator(bytes uncmpPubkey) returns() +// Solidity: function unsetOperator(bytes uncmpPubkey) payable returns() func (_IPTokenStaking *IPTokenStakingSession) UnsetOperator(uncmpPubkey []byte) (*types.Transaction, error) { return _IPTokenStaking.Contract.UnsetOperator(&_IPTokenStaking.TransactOpts, uncmpPubkey) } // UnsetOperator is a paid mutator transaction binding the contract method 0x98d730a2. // -// Solidity: function unsetOperator(bytes uncmpPubkey) returns() +// Solidity: function unsetOperator(bytes uncmpPubkey) payable returns() func (_IPTokenStaking *IPTokenStakingTransactorSession) UnsetOperator(uncmpPubkey []byte) (*types.Transaction, error) { return _IPTokenStaking.Contract.UnsetOperator(&_IPTokenStaking.TransactOpts, uncmpPubkey) } diff --git a/contracts/bindings/iptokenstaking_more.go b/contracts/bindings/iptokenstaking_more.go index b6c87167..c5a4f83f 100644 --- a/contracts/bindings/iptokenstaking_more.go +++ b/contracts/bindings/iptokenstaking_more.go @@ -5,7 +5,7 @@ import ( ) const ( - IPTokenStakingDeployedBytecode = "0x6040608081526004908136101561001557600080fd5b600091823560e01c8063014e8178146111db5780631487153e146111be578063396e1e47146111a257806339ec4df9146111835780633dd9fb9a14611140578063561edf7e146110ab5780635727dc5c1461108f57806369fe0e2d1461106a5780636ea3a22814611045578063715018a614610f7e578063787f82c814610ee957806379ba509714610e5f57806386eb5e4814610e155780638740597a14610a905780638da5cb5b14610a3c5780638ed65fbc146109f957806394fd0fe0146109be57806398d730a214610920578063997da8d4146109055780639d04b121146108595780639d9d293f14610815578063a0284f16146107b3578063ab8870f61461078e578063b2bc29ef1461073b578063bda16b151461071c578063c582db441461061d578063d2e1f5b8146105e7578063ddca3f43146105ca578063e30c397814610576578063eb4af04514610551578063ec21dac214610514578063eeeac01e146104d9578063f1887684146104ba578063f2fde38b146103e85763fce5dc8c146101a257600080fd5b346103e45760a06003193601126103e4577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82851c16159167ffffffffffffffff8116801590816103dc575b60011490816103d2575b1590816103c9575b506103a1578260017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000831617855561036c575b50610242612649565b61024a612649565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580359073ffffffffffffffffffffffffffffffffffffffff821680830361036857610297612649565b61029f612649565b1561033957506102ae906122a3565b6102b9602435612412565b6102c46044356121d7565b6102cf606435612357565b6102da608435612121565b6102e2578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a138808280f35b602490868651917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b8680fd5b7fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000166801000000000000000117835538610239565b5083517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610206565b303b1591506101fe565b8491506101f4565b8280fd5b8382346104b65760206003193601126104b6573573ffffffffffffffffffffffffffffffffffffffff8082168092036103e4576104236120b1565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b5080fd5b5050346104b657816003193601126104b6576020906001549051908152f35b5050346104b657816003193601126104b657602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b8361054e610521366113a3565b966105358782989398979497969596611ad8565b61053f8484611ad8565b6105498686611ad8565b6118a1565b80f35b8382346104b65760206003193601126104b65761054e906105706120b1565b35612412565b5050346104b657816003193601126104b65760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b50346103e457826003193601126103e45760209250549051908152f35b50823461061a57602060031936011261061a57503561060d633b9aca0082068092611a9c565b9082519182526020820152f35b80fd5b5090806003193601126103e457813567ffffffffffffffff81116107185761064890369084016111fc565b9190926024359063ffffffff82168092036107145761069d9061066b8587611ad8565b6106953373ffffffffffffffffffffffffffffffffffffffff61068e888a611d90565b1614611678565b543414611411565b8480341561070b575b81808092813491f115610701576106f57f202c9aad6965f28c0ce1cd00460c1adfa2c90277f4f0a7abb813e2f04cecd70b946106e58754841015611a11565b8351948486958652850191611703565b9060208301520390a180f35b81513d86823e3d90fd5b506108fc6106a6565b8580fd5b8380fd5b5050346104b657816003193601126104b65760209051633b9aca008152f35b8361054e6107483661122f565b9661075c8782989398979497969596611ad8565b61077f3373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b6107898484611ad8565b61149c565b8382346104b65760206003193601126104b65761054e906107ad6120b1565b35612357565b6020836107ea6107c23661129d565b956107d38682979397969496611ad8565b6107dd8484611ad8565b6107e5611dea565b611ecf565b9060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005551908152f35b8361054e610822366113a3565b966108368782989398979497969596611ad8565b6105353373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b50906108643661130c565b909291936108728486611ad8565b61089a73ffffffffffffffffffffffffffffffffffffffff91610695338461068e898b611d90565b858034156108fc575b81808092813491f1156108f2576108e57f28c0529db8cf660d5b4c1e4b9313683fa7241c3fc49452e7d0ebae215a5f84b2958451958587968752860191611703565b911660208301520390a180f35b82513d87823e3d90fd5b506108fc6108a3565b5050346104b657816003193601126104b65751908152602090f35b5090346103e45760206003193601126103e45781359167ffffffffffffffff8311610718576109766109b8917fe3a30390f081e6e95d8bcc1b0459ae73d4ca4fc9bf6351e006d072c02f5209ff943691016111fc565b9190926109838385611ad8565b6109a63373ffffffffffffffffffffffffffffffffffffffff61068e8688611d90565b51928392602084526020840191611703565b0390a180f35b5050346104b657816003193601126104b657602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b8361054e610a063661135c565b92610a148382949394611ad8565b610a373373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b611742565b5050346104b657816003193601126104b65760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b50919060e06003193601126104b65767ffffffffffffffff90833582811161071857610abf90369086016111fc565b91909460243584811161071457610ad990369083016111fc565b92909660443563ffffffff90818116809103610e115760643590828216809203610e0d57608435928316809303610e0d5760a435988915158a03610e095760c435908111610e0957610b31610b7091369089016111fc565b9c9098610b3e8b88611ad8565b610b613373ffffffffffffffffffffffffffffffffffffffff61068e8e8b611d90565b610b69611dea565b3691611870565b95633b9aca00340699610b838b34611a9c565b91610b92600154841015611e44565b610b9f8d54851015611a11565b848411610d86576046895111610d0357508b80838015610cf9575b82809291818093f115610cef5715610ce557610be46001955b87519a610120808d528c0191611703565b6020978a8203898c01528051908183528d5b828110610cd25750509360ff938d9e9793837f65bfc2fa1cd4c6f50f60983ad1cf1cb4bff5ee6570428254dfce41b085ef6d149e9f601f8f9e9c997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092610c929f82819e9a010152011601968c015260608b015260808a015260a08901521660c08701523360e087015281868203016101008701520191611703565b0390a180610cc3575b5060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580f35b610ccc90612591565b38610c9b565b8181018b01518482018c01528a01610bf6565b610be48b95610bd3565b86513d8d823e3d90fd5b6108fc9150610bba565b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602760248201527f4950546f6b656e5374616b696e673a204d6f6e696b6572206c656e677468206f60448201527f766572206d6178000000000000000000000000000000000000000000000000006064820152fd5b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f6f766572206d61780000000000000000000000000000000000000000000000006064820152fd5b8a80fd5b8980fd5b8880fd5b83610e38610e223661135c565b92610e2e929192611dea565b610a378282611ad8565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580f35b5090346103e457826003193601126103e4573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00541603610eb9578261054e336122a3565b6024925051907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b5090610ef43661130c565b90929193610f028486611ad8565b610f2a73ffffffffffffffffffffffffffffffffffffffff91610695338461068e898b611d90565b85803415610f75575b81808092813491f1156108f2576108e57f9f7f04f688298f474ed4c786abb29e0ca0173d70516d55d9eac515609b45fbca958451958587968752860191611703565b506108fc610f33565b833461061a578060031936011261061a57610f976120b1565b8073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b8382346104b65760206003193601126104b65761054e906110646120b1565b356121d7565b8382346104b65760206003193601126104b65761054e906110896120b1565b35612121565b5050346104b657816003193601126104b6576020905160078152f35b50906110b63661130c565b909291936110c48486611ad8565b6110ec73ffffffffffffffffffffffffffffffffffffffff91610695338461068e898b611d90565b85803415611137575b81808092813491f1156108f2576108e57f658c1d4ffa3caca5fbfd38bb564825b972c239a7d090eb333a42e2ba7a0a4ed2958451958587968752860191611703565b506108fc6110f5565b6020836107ea61114f3661129d565b956111608682979397969496611ad8565b6107d33373ffffffffffffffffffffffffffffffffffffffff61068e8585611d90565b5050346104b657816003193601126104b6576020906002549051908152f35b5050346104b657816003193601126104b6576020905160468152f35b5050346104b657816003193601126104b657602091549051908152f35b8361054e6111e83661122f565b9661077f8782989398979497969596611ad8565b9181601f8401121561122a5782359167ffffffffffffffff831161122a576020838186019501011161122a57565b600080fd5b60a060031982011261122a5767ffffffffffffffff9060043582811161122a578161125c916004016111fc565b9390939260243581811161122a5783611277916004016111fc565b93909392604435926064359260843591821161122a57611299916004016111fc565b9091565b608060031982011261122a5767ffffffffffffffff9160043583811161122a57826112ca916004016111fc565b9390939260243582811161122a57816112e5916004016111fc565b93909392604435600481101561122a579260643591821161122a57611299916004016111fc565b604060031982011261122a576004359067ffffffffffffffff821161122a57611337916004016111fc565b909160243573ffffffffffffffffffffffffffffffffffffffff8116810361122a5790565b604060031982011261122a5767ffffffffffffffff9160043583811161122a5782611389916004016111fc565b9390939260243591821161122a57611299916004016111fc565b9060a060031983011261122a5767ffffffffffffffff60043581811161122a57836113d0916004016111fc565b9390939260243583811161122a57826113eb916004016111fc565b9390939260443591821161122a57611405916004016111fc565b90916064359060843590565b1561141857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4950546f6b656e5374616b696e673a20496e76616c69642066656520616d6f7560448201527f6e740000000000000000000000000000000000000000000000000000000000006064820152fd5b959094929691936114b06004543414611411565b6000341561166f575b600080808093813491f115611663576114d6600354821115611d05565b60025484106115df57633b9aca00840661155b57611538611556957fac41e6ee15d2d0047feb1ea8aba74b92c0334cd3e78024a5ad679d7d08b8fbc59961152a6040519a8b9a60c08c5260c08c0191611703565b9189830360208b0152611703565b936040870152606086015233608086015284830360a0860152611703565b0390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4950546f6b656e5374616b696e673a20416d6f756e74206d757374206265207260448201527f6f756e64656420746f205354414b455f524f554e44494e4700000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a20556e7374616b6520616d6f756e74207560448201527f6e646572206d696e0000000000000000000000000000000000000000000000006064820152fd5b6040513d6000823e3d90fd5b506108fc6114b9565b1561167f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b91926117516004543414611411565b600034156117ba575b600080808093813491f115611663577f026c2e156478ec2a25ccebac97a338d301f69b6d5aeec39c578b28a95e11820193611556916117ac604051958695338752606060208801526060870191611703565b918483036040860152611703565b506108fc61175a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761180757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161180757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261188461187f83611836565b6117c3565b938285528282011161122a57816000926020928387013784010152565b959390946118b26004543414611411565b60003415611a08575b600080808093813491f115611663576118d5368585611870565b602081519101206118e7368385611870565b60208151910120146119845761196061196e9361192c8a633b9aca007f210091050fbe3add6ade45436b6c7aed210ef28fc37e1a1775970fc391272fe89c0690611a9c565b9561193b600154881015611e44565b611949600354891115611d05565b61152a6040519a8b9a60c08c5260c08c0191611703565b918683036040880152611703565b91606084015233608084015260a08301520390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4950546f6b656e5374616b696e673a20526564656c65676174696e6720746f2060448201527f73616d652076616c696461746f720000000000000000000000000000000000006064820152fd5b506108fc6118bb565b15611a1857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f756e646572206d696e00000000000000000000000000000000000000000000006064820152fd5b91908203918211611aa957565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9060418103611c815715611c52577f04000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082351603611bce578060016021611b439301359101356124de565b15611b4a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b15611d0c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a20496e76616c69642064656c656761746960448201527f6f6e2069640000000000000000000000000000000000000000000000000000006064820152fd5b8160011161122a5773ffffffffffffffffffffffffffffffffffffffff91611ddf9160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3693019101611870565b602081519101201690565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006002815414611e1a5760029055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b15611e4b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a205374616b6520616d6f756e7420756e6460448201527f6572206d696e00000000000000000000000000000000000000000000000000006064820152fd5b92959390919360048210156120825760038211611ffe57633b9aca00340695611ef88734611a9c565b95611f07600154881015611e44565b60009884611fb7575b94611f866000989495899893967f269a32ff589c9b701f49ab6aa532ee8f55901df71a7fca2d70dc9f45314f1be39560ff611f608c9b9a8c9b61152a6040519a8b9a60e08c5260e08c0191611703565b938960408801521660608601528d60808601523360a086015284830360c0860152611703565b0390a1818115611fae575b8290f1156116635780611fa2575090565b611fab90612591565b90565b506108fc611f91565b91949850929591946003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611aa95760010180600355989491969390959296611f10565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a20496e76616c6964207374616b696e672060448201527f706572696f6400000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036120f157565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7f00000000000000000000000000000000000000000000000000000000000000008110612179576020817f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f92600455604051908152a1565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4950546f6b656e5374616b696e673a20496e76616c6964206d696e20666565006044820152fd5b6121e890633b9aca00810690611a9c565b80600255801561221f5760207ff93d77980ae5a1ddd008d6a7f02cbee5af2a4fcea850c4b55828de4f644e589f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20756e7374616b6560448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b801561238e576020817f4167b1de65292a9ff628c9136823791a1de701e1fbdda4863ce22a1cfaf4d0f792600055604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20636f6d6d69737360448201527f696f6e20726174650000000000000000000000000000000000000000000000006064820152fd5b61242390633b9aca00810690611a9c565b80600155801561245a5760207fea095c2fea861b87f0fd54d0d4453358692a527e120df22b62c71696247dfb9f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a205a65726f206d696e207374616b65206160448201527f6d6f756e740000000000000000000000000000000000000000000000000000006064820152fd5b80158015612567575b801561255f575b8015612535575b61252e576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b5050600090565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8210156124f5565b5081156124ee565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8110156124e7565b600080808093335af13d15612644573d6125ad61187f82611836565b908152600060203d92013e5b156125c057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4950546f6b656e5374616b696e673a204661696c656420746f20726566756e6460448201527f2072656d61696e646572000000000000000000000000000000000000000000006064820152fd5b6125b9565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561267857565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e0f22705251aecb2cfdf34f2460a5628f6034ec89c9b91929c281303afbb5764736f6c63430008170033" + IPTokenStakingDeployedBytecode = "0x604060808152600480361015610013575f80fd5b5f3560e01c8063014e81781461117f5780631487153e14611162578063396e1e471461114757806339ec4df9146111295780633dd9fb9a146110e6578063561edf7e146110515780635727dc5c1461103657806369fe0e2d146110125780636ea3a22814610fee578063715018a614610f29578063787f82c814610e9457806379ba509714610e0d57806386eb5e4814610deb5780638740597a14610a785780638da5cb5b14610a255780638ed65fbc146109e357806394fd0fe0146109a957806398d730a2146108f0578063997da8d4146108d65780639d04b1211461082b5780639d9d293f146107e8578063a0284f1614610786578063ab8870f614610762578063b2bc29ef14610710578063bda16b15146106f2578063c582db44146105fc578063d2e1f5b8146105cb578063ddca3f43146105ae578063e30c39781461055b578063eb4af04514610537578063ec21dac2146104fc578063eeeac01e146104c2578063f1887684146104a4578063f2fde38b146103d85763fce5dc8c1461019c575f80fd5b3461035c5760a060031936011261035c577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82851c16159167ffffffffffffffff8116801590816103d0575b60011490816103c6575b1590816103bd575b50610395578260017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316178555610360575b5061023c6125cf565b6102446125cf565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005580359073ffffffffffffffffffffffffffffffffffffffff821680830361035c576102916125cf565b6102996125cf565b1561032d57506102a89061222e565b6102b360243561239b565b6102be604435612162565b6102c96064356122e1565b6102d46084356120ac565b6102da57005b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a1005b6024905f8651917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011783555f610233565b5083517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b9050155f610200565b303b1591506101f8565b8491506101ee565b503461035c57602060031936011261035c573573ffffffffffffffffffffffffffffffffffffffff80821680920361035c5761041261203c565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b823461035c575f60031936011261035c576020906001549051908152f35b823461035c575f60031936011261035c57602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b61053561050836611341565b9661051c8782989398979497969596611a69565b6105268484611a69565b6105308686611a69565b611836565b005b503461035c57602060031936011261035c576105359061055561203c565b3561239b565b823461035c575f60031936011261035c5760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b50903461035c575f60031936011261035c57602091549051908152f35b503461035c57602060031936011261035c57356105ef633b9aca0082068092611a2f565b9082519182526020820152f35b50908060031936011261035c57813567ffffffffffffffff811161035c57610627903690840161119f565b9190926024359063ffffffff821680920361035c5761067c9061064a8587611a69565b6106743373ffffffffffffffffffffffffffffffffffffffff61066d888a611d1f565b1614611613565b5434146113af565b5f34156106e9575b5f80808093813491f1156106df576106d47f202c9aad6965f28c0ce1cd00460c1adfa2c90277f4f0a7abb813e2f04cecd70b946106c45f548410156119a4565b835194848695865285019161169e565b9060208301520390a1005b50513d5f823e3d90fd5b506108fc610684565b823461035c575f60031936011261035c5760209051633b9aca008152f35b61053561071c366111cd565b966107308782989398979497969596611a69565b6107533373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b61075d8484611a69565b61143a565b503461035c57602060031936011261035c576105359061078061203c565b356122e1565b6020836107bd6107953661123b565b956107a68682979397969496611a69565b6107b08484611a69565b6107b8611d79565b611e5e565b9060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005551908152f35b6105356107f436611341565b966108088782989398979497969596611a69565b61051c3373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b5090610836366112aa565b909291936108448486611a69565b61086c73ffffffffffffffffffffffffffffffffffffffff91610674338461066d898b611d1f565b5f34156108cd575b5f80808093813491f1156108c3576108b77f28c0529db8cf660d5b4c1e4b9313683fa7241c3fc49452e7d0ebae215a5f84b295845195858796875286019161169e565b911660208301520390a1005b82513d5f823e3d90fd5b506108fc610874565b823461035c575f60031936011261035c57602090515f8152f35b50602060031936011261035c57803567ffffffffffffffff811161035c5761091e61094e913690840161119f565b91909261092b8385611a69565b6106743373ffffffffffffffffffffffffffffffffffffffff61066d8688611d1f565b5f34156109a0575b5f80808093813491f1156108c35761099b7fe3a30390f081e6e95d8bcc1b0459ae73d4ca4fc9bf6351e006d072c02f5209ff935192839260208452602084019161169e565b0390a1005b506108fc610956565b823461035c575f60031936011261035c57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b6105356109ef366112fa565b926109fd8382949394611a69565b610a203373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b6116dc565b823461035c575f60031936011261035c5760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b509060e060031936011261035c5767ffffffffffffffff90823582811161035c57610aa6903690850161119f565b919060243584811161035c57610abf903690870161119f565b92909160443563ffffffff9081811680910361035c576064359082821680920361035c5760843592831680930361035c5760a435988915158a0361035c5760c43590811161035c57610b17610b569136908d0161119f565b979098610b248b88611a69565b610b473373ffffffffffffffffffffffffffffffffffffffff61066d8e8b611d1f565b610b4f611d79565b3691611806565b99633b9aca00340699610b698b34611a2f565b91610b78600154841015611dd3565b610b855f548510156119a4565b848411610d685760468d5111610ce55750815f8115610cdc575b5f808093818094f115610cd25715610cc857610bc96001955b87519a610120808d528c019161169e565b60209b8a82038d8c01528051908183525f5b828110610cb45750509360ff93610c76999793837f65bfc2fa1cd4c6f50f60983ad1cf1cb4bff5ee6570428254dfce41b085ef6d149e9f9894601f8f9e9c995f8c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095010152011601968c015260608b015260808a015260a08901521660c08701523360e08701528186820301610100870152019161169e565b0390a180610ca5575b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055005b610cae90612519565b5f610c7f565b808f80928401015182828701015201610bdb565b610bc95f95610bb8565b86513d5f823e3d90fd5b506108fc610b9f565b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602760248201527f4950546f6b656e5374616b696e673a204d6f6e696b6572206c656e677468206f60448201527f766572206d6178000000000000000000000000000000000000000000000000006064820152fd5b60849060208951917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f6f766572206d61780000000000000000000000000000000000000000000000006064820152fd5b610c7f610df7366112fa565b92610e03929192611d79565b610a208282611a69565b503461035c575f60031936011261035c573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00541603610e65576105353361222e565b60249151907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b5090610e9f366112aa565b90929193610ead8486611a69565b610ed573ffffffffffffffffffffffffffffffffffffffff91610674338461066d898b611d1f565b5f3415610f20575b5f80808093813491f1156108c3576108b77f9f7f04f688298f474ed4c786abb29e0ca0173d70516d55d9eac515609b45fbca95845195858796875286019161169e565b506108fc610edd565b3461035c575f60031936011261035c57610f4161203c565b5f73ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b503461035c57602060031936011261035c576105359061100c61203c565b35612162565b503461035c57602060031936011261035c576105359061103061203c565b356120ac565b823461035c575f60031936011261035c576020905160078152f35b509061105c366112aa565b9092919361106a8486611a69565b61109273ffffffffffffffffffffffffffffffffffffffff91610674338461066d898b611d1f565b5f34156110dd575b5f80808093813491f1156108c3576108b77f658c1d4ffa3caca5fbfd38bb564825b972c239a7d090eb333a42e2ba7a0a4ed295845195858796875286019161169e565b506108fc61109a565b6020836107bd6110f53661123b565b956111068682979397969496611a69565b6107a63373ffffffffffffffffffffffffffffffffffffffff61066d8585611d1f565b823461035c575f60031936011261035c576020906002549051908152f35b823461035c575f60031936011261035c576020905160468152f35b823461035c575f60031936011261035c576020905f549051908152f35b61053561118b366111cd565b966107538782989398979497969596611a69565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020838186019501011161035c57565b60a060031982011261035c5767ffffffffffffffff9060043582811161035c57816111fa9160040161119f565b9390939260243581811161035c57836112159160040161119f565b93909392604435926064359260843591821161035c576112379160040161119f565b9091565b608060031982011261035c5767ffffffffffffffff9160043583811161035c57826112689160040161119f565b9390939260243582811161035c57816112839160040161119f565b93909392604435600481101561035c579260643591821161035c576112379160040161119f565b604060031982011261035c576004359067ffffffffffffffff821161035c576112d59160040161119f565b909160243573ffffffffffffffffffffffffffffffffffffffff8116810361035c5790565b604060031982011261035c5767ffffffffffffffff9160043583811161035c57826113279160040161119f565b9390939260243591821161035c576112379160040161119f565b9060a060031983011261035c5767ffffffffffffffff60043581811161035c578361136e9160040161119f565b9390939260243583811161035c57826113899160040161119f565b9390939260443591821161035c576113a39160040161119f565b90916064359060843590565b156113b657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4950546f6b656e5374616b696e673a20496e76616c69642066656520616d6f7560448201527f6e740000000000000000000000000000000000000000000000000000000000006064820152fd5b9590949296919361144e60045434146113af565b5f341561160a575b5f80808093813491f1156115ff57611472600354821115611c94565b600254841061157b57633b9aca0084066114f7576114d46114f2957fac41e6ee15d2d0047feb1ea8aba74b92c0334cd3e78024a5ad679d7d08b8fbc5996114c66040519a8b9a60c08c5260c08c019161169e565b9189830360208b015261169e565b936040870152606086015233608086015284830360a086015261169e565b0390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4950546f6b656e5374616b696e673a20416d6f756e74206d757374206265207260448201527f6f756e64656420746f205354414b455f524f554e44494e4700000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a20556e7374616b6520616d6f756e74207560448201527f6e646572206d696e0000000000000000000000000000000000000000000000006064820152fd5b6040513d5f823e3d90fd5b506108fc611456565b1561161a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b91926116eb60045434146113af565b5f3415611752575b5f80808093813491f1156115ff577f026c2e156478ec2a25ccebac97a338d301f69b6d5aeec39c578b28a95e118201936114f29161174460405195869533875260606020880152606087019161169e565b91848303604086015261169e565b506108fc6116f3565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761179f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161179f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261181a611815836117cc565b61175b565b938285528282011161035c57815f926020928387013784010152565b9593909461184760045434146113af565b5f341561199b575b5f80808093813491f1156115ff57611868368585611806565b6020815191012061187a368385611806565b6020815191012014611917576118f3611901936118bf8a633b9aca007f210091050fbe3add6ade45436b6c7aed210ef28fc37e1a1775970fc391272fe89c0690611a2f565b956118ce600154881015611dd3565b6118dc600354891115611c94565b6114c66040519a8b9a60c08c5260c08c019161169e565b91868303604088015261169e565b91606084015233608084015260a08301520390a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4950546f6b656e5374616b696e673a20526564656c65676174696e6720746f2060448201527f73616d652076616c696461746f720000000000000000000000000000000000006064820152fd5b506108fc61184f565b156119ab57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4950546f6b656e5374616b696e673a20436f6d6d697373696f6e20726174652060448201527f756e646572206d696e00000000000000000000000000000000000000000000006064820152fd5b91908203918211611a3c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9060418103611c105715611be3577f04000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082351603611b5f578060016021611ad4930135910135612467565b15611adb57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b15611c9b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a20496e76616c69642064656c656761746960448201527f6f6e2069640000000000000000000000000000000000000000000000000000006064820152fd5b8160011161035c5773ffffffffffffffffffffffffffffffffffffffff91611d6e9160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3693019101611806565b602081519101201690565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006002815414611da95760029055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b15611dda57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a205374616b6520616d6f756e7420756e6460448201527f6572206d696e00000000000000000000000000000000000000000000000000006064820152fd5b929593909193600482101561200f5760038211611f8b57633b9aca00340695611e878734611a2f565b95611e96600154881015611dd3565b5f9884611f44575b94611f135f989495899893967f269a32ff589c9b701f49ab6aa532ee8f55901df71a7fca2d70dc9f45314f1be39560ff611eed8c9b9a8c9b6114c66040519a8b9a60e08c5260e08c019161169e565b938960408801521660608601528d60808601523360a086015284830360c086015261169e565b0390a1818115611f3b575b8290f1156115ff5780611f2f575090565b611f3890612519565b90565b506108fc611f1e565b91949850929591946003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a3c5760010180600355989491969390959296611e9e565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4950546f6b656e5374616b696e673a20496e76616c6964207374616b696e672060448201527f706572696f6400000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361207c57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7f00000000000000000000000000000000000000000000000000000000000000008110612104576020817f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f92600455604051908152a1565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4950546f6b656e5374616b696e673a20496e76616c6964206d696e20666565006044820152fd5b61217390633b9aca00810690611a2f565b8060025580156121aa5760207ff93d77980ae5a1ddd008d6a7f02cbee5af2a4fcea850c4b55828de4f644e589f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20756e7374616b6560448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b8015612317576020817f4167b1de65292a9ff628c9136823791a1de701e1fbdda4863ce22a1cfaf4d0f7925f55604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4950546f6b656e5374616b696e673a205a65726f206d696e20636f6d6d69737360448201527f696f6e20726174650000000000000000000000000000000000000000000000006064820152fd5b6123ac90633b9aca00810690611a2f565b8060015580156123e35760207fea095c2fea861b87f0fd54d0d4453358692a527e120df22b62c71696247dfb9f91604051908152a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4950546f6b656e5374616b696e673a205a65726f206d696e207374616b65206160448201527f6d6f756e740000000000000000000000000000000000000000000000000000006064820152fd5b801580156124ef575b80156124e7575b80156124bd575b6124b7576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b50505f90565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f82101561247e565b508115612477565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f811015612470565b5f80808093335af13d156125ca573d612534611815826117cc565b9081525f60203d92013e5b1561254657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4950546f6b656e5374616b696e673a204661696c656420746f20726566756e6460448201527f2072656d61696e646572000000000000000000000000000000000000000000006064820152fd5b61253f565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156125fe57565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122048a8b57b10ef0d2fba5d5657a65ea53977f6228847a328d1c2cc9e3b41e48fb864736f6c63430008170033" ) //go:embed iptokenstaking_storage_layout.json diff --git a/contracts/bindings/iptokenstaking_storage_layout.json b/contracts/bindings/iptokenstaking_storage_layout.json index 3c72ba51..bd353ae8 100644 --- a/contracts/bindings/iptokenstaking_storage_layout.json +++ b/contracts/bindings/iptokenstaking_storage_layout.json @@ -1,7 +1,7 @@ { "storage": [ { - "astId": 48741, + "astId": 48774, "contract": "src/protocol/IPTokenStaking.sol:IPTokenStaking", "label": "minCommissionRate", "offset": 0, @@ -9,7 +9,7 @@ "type": "t_uint256" }, { - "astId": 48744, + "astId": 48777, "contract": "src/protocol/IPTokenStaking.sol:IPTokenStaking", "label": "minStakeAmount", "offset": 0, @@ -17,7 +17,7 @@ "type": "t_uint256" }, { - "astId": 48747, + "astId": 48780, "contract": "src/protocol/IPTokenStaking.sol:IPTokenStaking", "label": "minUnstakeAmount", "offset": 0, @@ -25,7 +25,7 @@ "type": "t_uint256" }, { - "astId": 48750, + "astId": 48783, "contract": "src/protocol/IPTokenStaking.sol:IPTokenStaking", "label": "_delegationIdCounter", "offset": 0, @@ -33,7 +33,7 @@ "type": "t_uint256" }, { - "astId": 48753, + "astId": 48786, "contract": "src/protocol/IPTokenStaking.sol:IPTokenStaking", "label": "fee", "offset": 0, diff --git a/contracts/bindings/scripts/genmore.sh b/contracts/bindings/scripts/genmore.sh index 46f3119c..ac5d425d 100755 --- a/contracts/bindings/scripts/genmore.sh +++ b/contracts/bindings/scripts/genmore.sh @@ -21,7 +21,7 @@ gen_binding() { # gen storage layout json storage_layout_file=${DIR}/${name_lower}_storage_layout.json - forge inspect "${contract}" storageLayout > "${storage_layout_file}" + forge inspect "${contract}" storageLayout --json > "${storage_layout_file}" # abigen does not generate the deployedBytecode, so we add it manually to {name_lower}_more.go diff --git a/contracts/bindings/ubipool.go b/contracts/bindings/ubipool.go index 1f2ca9a0..e2ae68df 100644 --- a/contracts/bindings/ubipool.go +++ b/contracts/bindings/ubipool.go @@ -32,7 +32,7 @@ var ( // UBIPoolMetaData contains all meta data concerning the UBIPool contract. var UBIPoolMetaData = &bind.MetaData{ ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"maxUBIPercentage\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"AA\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"BB\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MAX_UBI_PERCENTAGE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"PP\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"claimUBI\",\"inputs\":[{\"name\":\"distributionId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"currentDistributionId\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"multicall\",\"inputs\":[{\"name\":\"data\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[{\"name\":\"results\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setUBIDistribution\",\"inputs\":[{\"name\":\"totalUBI\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"validatorUncmpPubKeys\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"},{\"name\":\"amounts\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setUBIPercentage\",\"inputs\":[{\"name\":\"percentage\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"totalPendingClaims\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"validatorUBIAmounts\",\"inputs\":[{\"name\":\"distributionId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"validatorUncmpPubkey\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UBIDistributionSet\",\"inputs\":[{\"name\":\"month\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"totalUBI\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"validatorUncmpPubKeys\",\"type\":\"bytes[]\",\"indexed\":false,\"internalType\":\"bytes[]\"},{\"name\":\"amounts\",\"type\":\"uint256[]\",\"indexed\":false,\"internalType\":\"uint256[]\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UBIPercentageSet\",\"inputs\":[{\"name\":\"percentage\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"AddressEmptyCode\",\"inputs\":[{\"name\":\"target\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"FailedInnerCall\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidInitialization\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotInitializing\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnableInvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"OwnableUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]}]", - Bin: "0x60a034610101576001600160401b0390601f611a9538819003918201601f19168301918483118484101761010657808492602094604052833981010312610101575163ffffffff81168103610101576080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100ef5780808316036100aa575b604051611978908161011d823960805181818161025d0152610c630152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808061008b565b60405163f92ee8a960e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260048036101561001457600080fd5b600091823560e01c9081631971f77314610d1357816347564aa014610c345781635727dc5c14610c1857816370bf238114610bf9578163715018a614610b2f578163747c4ef71461084f578163780069e01461083257816379ba5097146107a55781638da5cb5b14610751578163997da8d414610736578163ac9650d814610536578163c20c1472146104ba578163c4d66de814610281578163d5077f4014610240578163e30c3978146101ec578163eeeac01e146101b1575063f2fde38b146100dd57600080fd5b346101ad5760206003193601126101ad573573ffffffffffffffffffffffffffffffffffffffff8082168092036101a957610116611474565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b8280fd5b5080fd5b8390346101ad57816003193601126101ad57602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b8390346101ad57816003193601126101ad5760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b8390346101ad57816003193601126101ad576020905163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b919050346101a95760206003193601126101a957803573ffffffffffffffffffffffffffffffffffffffff8116908181036104b6577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff8116801590816104ae575b60011490816104a4575b15908161049b575b50610473578460017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000831617875561043e575b50156103bb575061035c9061034f6118e9565b6103576118e9565b6116e2565b610364578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a138808280f35b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f554249506f6f6c3a206f776e65722063616e6e6f74206265207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011785553861033c565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610309565b303b159150610301565b8691506102f7565b8480fd5b919050346101a957816003193601126101a95760243567ffffffffffffffff811161053257366023820112156105325761052191836020956105068794369060248187013591016112ed565b92358152600184522082855194838680955193849201611220565b820190815203019020549051908152f35b8380fd5b8383346101ad576020806003193601126101a95767ffffffffffffffff9082358281116104b65761056a90369085016111ea565b92865194838601918683109083111761070a57508087939694975283855261059187611448565b9461059e84519687611243565b8786526105aa88611448565b977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0809901865b8181106106fb575050855b81811061067657505050505080519380850191818652845180935281818701918460051b880101950193965b8388106106155786860387f35b9091929394838080837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08b6001960301875285601f8b5161066181518092818752878088019101611220565b01160101970193019701969093929193610608565b806106da8880896106ba8e9b9f9c9e6106c6908b8b6106998f9b8d60019d61139f565b9290965195838794868601998a37840191858301938a855251938491611220565b01038084520182611243565b5190305af46106d3611418565b9030611849565b6106e4828b611460565b526106ef818a611460565b500198949795986105dc565b60608982018b015289016105d1565b8660416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8390346101ad57816003193601126101ad5751908152602090f35b8390346101ad57816003193601126101ad5760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b9050346101a957826003193601126101a9573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054160361080257826107ff336116e2565b80f35b6024925051907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b8390346101ad57816003193601126101ad57602091549051908152f35b839150346101ad57806003193601126101ad57823560249384359267ffffffffffffffff90818511610b2b5736602386011215610b2b5784830135918211610b2b5786850136888488010111610b27577f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00956002875414610aff57600287556108d884836114e4565b83600111610afb5761091290369060257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff870191016112ed565b9283519373ffffffffffffffffffffffffffffffffffffffff60209586339301201603610a7a578588526001845261094d83892082846113ff565b54958615610a1f57885260018452828820889261096a92906113ff565b558580808087335af161097b611418565b50156109c657505060025491820391821161099b57506002556001905580f35b83601186927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b517f08c379a000000000000000000000000000000000000000000000000000000000815291820152601b818601527f554249506f6f6c3a206661696c656420746f2073656e642055424900000000006044820152606490fd5b60648660188c888851937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f554249506f6f6c3a206e6f2055424920746f20636c61696d00000000000000006044820152fd5b608485602e8b878751937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b8780fd5b8483517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b8680fd5b8580fd5b8334610bf65780600319360112610bf657610b48611474565b8073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b8390346101ad57816003193601126101ad576020906002549051908152f35b8390346101ad57816003193601126101ad576020905160078152f35b9050346101a95760206003193601126101a95781359163ffffffff8084168094036104b657610c61611474565b7f0000000000000000000000000000000000000000000000000000000000000000168311610cb757507f6c6483041303ba314f169eb2d2af177b4f497324ccf0f3c1e68c2100f76c49299160209151908152a180f35b602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601c60248201527f554249506f6f6c3a2070657263656e7461676520746f6f2068696768000000006044820152fd5b9050346101a95760606003193601126101a957813592602467ffffffffffffffff813581811161053257610d4a90369087016111ea565b95909360449182358481116101a957610d6690369083016111ea565b939095610d71611474565b891561116957848a0361110e57600254610d8b818d611324565b47106110b2578b610d9b91611324565b6002558384547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110875760010185558b90855b878110610fb0575003610f55575050508096949296549686519580608088018a895260209b8c8a015260808a8a01525260a087019460a08260051b89010195819385925b848410610e905750505050505084830360608601528183527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211610bf6575092809287927f1cc6f356308c8399caa490706b01fb9d52cdc87cdf639e66c3da7d4ce2db161c9560051b80928583013701030190a151908152f35b9091929394977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608b820301845288357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811215610afb5782018035908f01848211610f51578136038113610f51578f837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8580859796869760019a52868601378d858286010152011601019a01940194019294939190610e15565b8880fd5b60649291601e7f554249506f6f6c3a20746f74616c20616d6f756e74206d69736d6174636800009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b9150610fbd82888b611360565b351561102c576110226001918761100f8f8f8f918f90611009928f8b610ff8918195610ff3610fed84888c61139f565b906114e4565b611360565b3596805481528a602052209361139f565b906113ff565b5561101b848a8d611360565b3590611324565b9101908c91610dd1565b8a517f08c379a0000000000000000000000000000000000000000000000000000000008152602081870152601f818501527f554249506f6f6c3a20616d6f756e74732063616e6e6f74206265207a65726f0081860152606490fd5b82866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060649291601b7f554249506f6f6c3a206e6f7420656e6f7567682062616c616e636500000000009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b6064929160187f554249506f6f6c3a206c656e677468206d69736d6174636800000000000000009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b60849291602e7f554249506f6f6c3a2076616c696461746f72556e636d705075624b65797320639260208c51957f08c379a00000000000000000000000000000000000000000000000000000000087528601528401528201527f616e6e6f7420626520656d7074790000000000000000000000000000000000006064820152fd5b9181601f8401121561121b5782359167ffffffffffffffff831161121b576020808501948460051b01011161121b57565b600080fd5b60005b8381106112335750506000910152565b8181015183820152602001611223565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761128457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161128457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926112f9826112b3565b916113076040519384611243565b82948184528183011161121b578281602093846000960137010152565b9190820180921161133157565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908110156113705760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156113705760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561121b57019081359167ffffffffffffffff831161121b57602001823603811361121b579190565b6020919283604051948593843782019081520301902090565b3d15611443573d90611429826112b3565b916114376040519384611243565b82523d6000602084013e565b606090565b67ffffffffffffffff81116112845760051b60200190565b80518210156113705760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036114b457565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b906041810361165e5715611370577f04000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000823516036115da57806001602161154f930135910135611796565b1561155657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b8015801561181f575b8015611817575b80156117ed575b6117e6576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b5050600090565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8210156117ad565b5081156117a6565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f81101561179f565b90611888575080511561185e57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b815115806118e0575b611899575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611891565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561191857565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220ca0cc66213b192fb156cc6a30f8f322354dcdc0857802720b9338288fe85068f64736f6c63430008170033", + Bin: "0x60a034610101576001600160401b0390601f611a3a38819003918201601f19168301918483118484101761010557808492602094604052833981010312610101575163ffffffff81168103610101576080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100ef5780808316036100aa575b604051611920908161011a823960805181818161024e0152610c1f0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f808061008b565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60406080815260049081361015610014575f80fd5b5f3560e01c9081631971f77314610cce57816347564aa014610bf15781635727dc5c14610bd757816370bf238114610bba578163715018a614610af5578163747c4ef714610821578163780069e01461080557816379ba50971461077c5781638da5cb5b1461072a578163997da8d414610711578163ac9650d814610517578163c20c14721461049f578163c4d66de814610272578163d5077f4014610233578163e30c3978146101e1578163eeeac01e146101a8575063f2fde38b146100d9575f80fd5b346101a45760206003193601126101a4573573ffffffffffffffffffffffffffffffffffffffff8082168092036101a45761011261141e565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b5f80fd5b346101a4575f6003193601126101a457602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b346101a4575f6003193601126101a45760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b346101a4575f6003193601126101a4576020905163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346101a45760206003193601126101a457803573ffffffffffffffffffffffffffffffffffffffff8116908181036101a4577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff811680159081610497575b600114908161048d575b159081610484575b5061045c578460017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316178755610427575b50156103a4575061034b9061033e611891565b610346611891565b61168c565b61035157005b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a1005b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f554249506f6f6c3a206f776e65722063616e6e6f74206265207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011785558661032b565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b905015886102f8565b303b1591506102f0565b8691506102e6565b9050346101a457806003193601126101a4576024359167ffffffffffffffff83116101a457366023840112156101a4576020610506916104e982953690602481850135910161129d565b90355f5260018252835f20828551948386809551938492016111d4565b820190815203019020549051908152f35b82346101a457602090816003193601126101a45767ffffffffffffffff81358181116101a45761054a90369084016111a3565b9185519385850191858310908311176106e5575080869396525f845261056f866113f2565b9361057c845195866111f5565b868552610588876113f2565b967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08098015f5b8181106106d65750505f5b81811061065557505050505080519280840190808552835180925280838601938360051b8701019401925f965b8388106105f45786860387f35b9091929394838080837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08b6001960301875285601f8b51610640815180928187528780880191016111d4565b011601019701930197019690939291936105e7565b806106b75f80896106976106a39b9e9b8e8b8b6106768f9b8d60019d61134a565b9290965195838794868601998a37840191858301938a8552519384916111d4565b010380845201826111f5565b5190305af46106b06113c3565b90306117f1565b6106c1828a61140a565b526106cc818961140a565b50019794976105ba565b60608882018a015288016105af565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b346101a4575f6003193601126101a457602090515f8152f35b346101a4575f6003193601126101a45760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b82346101a4575f6003193601126101a4573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416036107d6576107d43361168c565b005b60249151907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b346101a4575f6003193601126101a4576020905f549051908152f35b9050346101a457806003193601126101a457813560249283359267ffffffffffffffff908185116101a457366023860112156101a457848301359182116101a457858501368784880101116101a4577f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00956002875414610acd57600287556108a9848361148e565b836001116101a4576108e390369060257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8701910161129d565b9283519373ffffffffffffffffffffffffffffffffffffffff60209586339301201603610a4c57855f526001845261091e835f2082846113aa565b549586156109f1579161093c915f93845260018652848420916113aa565b555f80808087335af161094d6113c3565b501561099857505060025491820391821161096d57600282905560018355005b601184917f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b517f08c379a000000000000000000000000000000000000000000000000000000000815291820152601b818501527f554249506f6f6c3a206661696c656420746f2073656e642055424900000000006044820152606490fd5b60648660188b888851937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f554249506f6f6c3a206e6f2055424920746f20636c61696d00000000000000006044820152fd5b608485602e8a878751937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b8483517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b346101a4575f6003193601126101a457610b0d61141e565b5f73ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101a4575f6003193601126101a4576020906002549051908152f35b346101a4575f6003193601126101a4576020905160078152f35b82346101a45760206003193601126101a45780359063ffffffff8083168093036101a457610c1d61141e565b7f0000000000000000000000000000000000000000000000000000000000000000168211610c71577f6c6483041303ba314f169eb2d2af177b4f497324ccf0f3c1e68c2100f76c49296020838551908152a1005b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601c60248201527f554249506f6f6c3a2070657263656e7461676520746f6f2068696768000000006044820152fd5b82346101a45760606003193601126101a457803591602480359267ffffffffffffffff938481116101a457610d0690369083016111a3565b94909160449384358381116101a457610d2290369084016111a3565b929095610d2d61141e565b8815611123578389036110c957600254610d47818c6112d3565b471061106e578a610d57916112d3565b6002555f925f54937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514611043578b9060018096015f555f5b878110610f6e575003610f13575050509592915f549686519480608087018a885260209b8c89015260808a8901525260a086019460a08260051b8801019581945f925b848410610e4e575050505050505082820360608401528082527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116101a4577f1cc6f356308c8399caa490706b01fb9d52cdc87cdf639e66c3da7d4ce2db161c938792849260051b80928583013701030190a151908152f35b909192939495977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608a82030184528835907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018212156101a457908201808f019190358481116101a45780360383136101a4578f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808e98869897879852868601375f858286010152011601019a0194019401929594939190610dd4565b60649291601e7f554249506f6f6c3a20746f74616c20616d6f756e74206d69736d6174636800009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b9150610f7b82888c61130d565b3515610fe857610fde8691610fd7848f8f8f908f808f948681610fae610fa883610fcb95610fd19861134a565b9061148e565b610fb982898961130d565b35955f545f528d6020525f209361134a565b906113aa565b5561130d565b35906112d3565b9101908c91610d91565b8a517f08c379a0000000000000000000000000000000000000000000000000000000008152602081870152601f818501527f554249506f6f6c3a20616d6f756e74732063616e6e6f74206265207a65726f0081860152606490fd5b506011837f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b507f554249506f6f6c3a206e6f7420656e6f7567682062616c616e6365000000000090601b60649460208b51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b7f554249506f6f6c3a206c656e677468206d69736d61746368000000000000000090601860649460208b51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b7f554249506f6f6c3a2076616c696461746f72556e636d705075624b657973206390602e60849460208b51957f08c379a00000000000000000000000000000000000000000000000000000000087528601528401528201527f616e6e6f7420626520656d7074790000000000000000000000000000000000006064820152fd5b9181601f840112156101a45782359167ffffffffffffffff83116101a4576020808501948460051b0101116101a457565b5f5b8381106111e55750505f910152565b81810151838201526020016111d6565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761123657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161123657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926112a982611263565b916112b760405193846111f5565b8294818452818301116101a4578281602093845f960137010152565b919082018092116112e057565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919081101561131d5760051b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561131d5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101a457019081359167ffffffffffffffff83116101a45760200182360381136101a4579190565b6020919283604051948593843782019081520301902090565b3d156113ed573d906113d482611263565b916113e260405193846111f5565b82523d5f602084013e565b606090565b67ffffffffffffffff81116112365760051b60200190565b805182101561131d5760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361145e57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b9060418103611608571561131d577f04000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000823516036115845780600160216114f993013591013561173f565b1561150057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b801580156117c7575b80156117bf575b8015611795575b61178f576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b50505f90565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f821015611756565b50811561174f565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f811015611748565b90611830575080511561180657805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611888575b611841575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611839565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156118c057565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212200361a4c84bf04a9cd9e78ad3dbadd7dbc05757c1987d87a95f29b643bf4f5c3e64736f6c63430008170033", } // UBIPoolABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/ubipool_more.go b/contracts/bindings/ubipool_more.go index aa16c4b7..1ba3f609 100644 --- a/contracts/bindings/ubipool_more.go +++ b/contracts/bindings/ubipool_more.go @@ -5,7 +5,7 @@ import ( ) const ( - UBIPoolDeployedBytecode = "0x60406080815260048036101561001457600080fd5b600091823560e01c9081631971f77314610d1357816347564aa014610c345781635727dc5c14610c1857816370bf238114610bf9578163715018a614610b2f578163747c4ef71461084f578163780069e01461083257816379ba5097146107a55781638da5cb5b14610751578163997da8d414610736578163ac9650d814610536578163c20c1472146104ba578163c4d66de814610281578163d5077f4014610240578163e30c3978146101ec578163eeeac01e146101b1575063f2fde38b146100dd57600080fd5b346101ad5760206003193601126101ad573573ffffffffffffffffffffffffffffffffffffffff8082168092036101a957610116611474565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b8280fd5b5080fd5b8390346101ad57816003193601126101ad57602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b8390346101ad57816003193601126101ad5760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b8390346101ad57816003193601126101ad576020905163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b919050346101a95760206003193601126101a957803573ffffffffffffffffffffffffffffffffffffffff8116908181036104b6577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff8116801590816104ae575b60011490816104a4575b15908161049b575b50610473578460017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000831617875561043e575b50156103bb575061035c9061034f6118e9565b6103576118e9565b6116e2565b610364578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a138808280f35b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f554249506f6f6c3a206f776e65722063616e6e6f74206265207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011785553861033c565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610309565b303b159150610301565b8691506102f7565b8480fd5b919050346101a957816003193601126101a95760243567ffffffffffffffff811161053257366023820112156105325761052191836020956105068794369060248187013591016112ed565b92358152600184522082855194838680955193849201611220565b820190815203019020549051908152f35b8380fd5b8383346101ad576020806003193601126101a95767ffffffffffffffff9082358281116104b65761056a90369085016111ea565b92865194838601918683109083111761070a57508087939694975283855261059187611448565b9461059e84519687611243565b8786526105aa88611448565b977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0809901865b8181106106fb575050855b81811061067657505050505080519380850191818652845180935281818701918460051b880101950193965b8388106106155786860387f35b9091929394838080837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08b6001960301875285601f8b5161066181518092818752878088019101611220565b01160101970193019701969093929193610608565b806106da8880896106ba8e9b9f9c9e6106c6908b8b6106998f9b8d60019d61139f565b9290965195838794868601998a37840191858301938a855251938491611220565b01038084520182611243565b5190305af46106d3611418565b9030611849565b6106e4828b611460565b526106ef818a611460565b500198949795986105dc565b60608982018b015289016105d1565b8660416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8390346101ad57816003193601126101ad5751908152602090f35b8390346101ad57816003193601126101ad5760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b9050346101a957826003193601126101a9573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054160361080257826107ff336116e2565b80f35b6024925051907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b8390346101ad57816003193601126101ad57602091549051908152f35b839150346101ad57806003193601126101ad57823560249384359267ffffffffffffffff90818511610b2b5736602386011215610b2b5784830135918211610b2b5786850136888488010111610b27577f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00956002875414610aff57600287556108d884836114e4565b83600111610afb5761091290369060257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff870191016112ed565b9283519373ffffffffffffffffffffffffffffffffffffffff60209586339301201603610a7a578588526001845261094d83892082846113ff565b54958615610a1f57885260018452828820889261096a92906113ff565b558580808087335af161097b611418565b50156109c657505060025491820391821161099b57506002556001905580f35b83601186927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b517f08c379a000000000000000000000000000000000000000000000000000000000815291820152601b818601527f554249506f6f6c3a206661696c656420746f2073656e642055424900000000006044820152606490fd5b60648660188c888851937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f554249506f6f6c3a206e6f2055424920746f20636c61696d00000000000000006044820152fd5b608485602e8b878751937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b8780fd5b8483517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b8680fd5b8580fd5b8334610bf65780600319360112610bf657610b48611474565b8073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b8390346101ad57816003193601126101ad576020906002549051908152f35b8390346101ad57816003193601126101ad576020905160078152f35b9050346101a95760206003193601126101a95781359163ffffffff8084168094036104b657610c61611474565b7f0000000000000000000000000000000000000000000000000000000000000000168311610cb757507f6c6483041303ba314f169eb2d2af177b4f497324ccf0f3c1e68c2100f76c49299160209151908152a180f35b602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601c60248201527f554249506f6f6c3a2070657263656e7461676520746f6f2068696768000000006044820152fd5b9050346101a95760606003193601126101a957813592602467ffffffffffffffff813581811161053257610d4a90369087016111ea565b95909360449182358481116101a957610d6690369083016111ea565b939095610d71611474565b891561116957848a0361110e57600254610d8b818d611324565b47106110b2578b610d9b91611324565b6002558384547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110875760010185558b90855b878110610fb0575003610f55575050508096949296549686519580608088018a895260209b8c8a015260808a8a01525260a087019460a08260051b89010195819385925b848410610e905750505050505084830360608601528183527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211610bf6575092809287927f1cc6f356308c8399caa490706b01fb9d52cdc87cdf639e66c3da7d4ce2db161c9560051b80928583013701030190a151908152f35b9091929394977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608b820301845288357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811215610afb5782018035908f01848211610f51578136038113610f51578f837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8580859796869760019a52868601378d858286010152011601019a01940194019294939190610e15565b8880fd5b60649291601e7f554249506f6f6c3a20746f74616c20616d6f756e74206d69736d6174636800009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b9150610fbd82888b611360565b351561102c576110226001918761100f8f8f8f918f90611009928f8b610ff8918195610ff3610fed84888c61139f565b906114e4565b611360565b3596805481528a602052209361139f565b906113ff565b5561101b848a8d611360565b3590611324565b9101908c91610dd1565b8a517f08c379a0000000000000000000000000000000000000000000000000000000008152602081870152601f818501527f554249506f6f6c3a20616d6f756e74732063616e6e6f74206265207a65726f0081860152606490fd5b82866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060649291601b7f554249506f6f6c3a206e6f7420656e6f7567682062616c616e636500000000009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b6064929160187f554249506f6f6c3a206c656e677468206d69736d6174636800000000000000009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b60849291602e7f554249506f6f6c3a2076616c696461746f72556e636d705075624b65797320639260208c51957f08c379a00000000000000000000000000000000000000000000000000000000087528601528401528201527f616e6e6f7420626520656d7074790000000000000000000000000000000000006064820152fd5b9181601f8401121561121b5782359167ffffffffffffffff831161121b576020808501948460051b01011161121b57565b600080fd5b60005b8381106112335750506000910152565b8181015183820152602001611223565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761128457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161128457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926112f9826112b3565b916113076040519384611243565b82948184528183011161121b578281602093846000960137010152565b9190820180921161133157565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908110156113705760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156113705760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561121b57019081359167ffffffffffffffff831161121b57602001823603811361121b579190565b6020919283604051948593843782019081520301902090565b3d15611443573d90611429826112b3565b916114376040519384611243565b82523d6000602084013e565b606090565b67ffffffffffffffff81116112845760051b60200190565b80518210156113705760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036114b457565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b906041810361165e5715611370577f04000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000823516036115da57806001602161154f930135910135611796565b1561155657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b8015801561181f575b8015611817575b80156117ed575b6117e6576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b5050600090565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8210156117ad565b5081156117a6565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f81101561179f565b90611888575080511561185e57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b815115806118e0575b611899575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611891565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561191857565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212205c00eee9d5413147cb9546f7a4a223a20c830f84279223325ba23db6224ba5f264736f6c63430008170033" + UBIPoolDeployedBytecode = "0x60406080815260049081361015610014575f80fd5b5f3560e01c9081631971f77314610cce57816347564aa014610bf15781635727dc5c14610bd757816370bf238114610bba578163715018a614610af5578163747c4ef714610821578163780069e01461080557816379ba50971461077c5781638da5cb5b1461072a578163997da8d414610711578163ac9650d814610517578163c20c14721461049f578163c4d66de814610272578163d5077f4014610233578163e30c3978146101e1578163eeeac01e146101a8575063f2fde38b146100d9575f80fd5b346101a45760206003193601126101a4573573ffffffffffffffffffffffffffffffffffffffff8082168092036101a45761011261141e565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b5f80fd5b346101a4575f6003193601126101a457602090517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f8152f35b346101a4575f6003193601126101a45760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b346101a4575f6003193601126101a4576020905163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346101a45760206003193601126101a457803573ffffffffffffffffffffffffffffffffffffffff8116908181036101a4577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff811680159081610497575b600114908161048d575b159081610484575b5061045c578460017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316178755610427575b50156103a4575061034b9061033e611891565b610346611891565b61168c565b61035157005b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a1005b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f554249506f6f6c3a206f776e65722063616e6e6f74206265207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011785558661032b565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b905015886102f8565b303b1591506102f0565b8691506102e6565b9050346101a457806003193601126101a4576024359167ffffffffffffffff83116101a457366023840112156101a4576020610506916104e982953690602481850135910161129d565b90355f5260018252835f20828551948386809551938492016111d4565b820190815203019020549051908152f35b82346101a457602090816003193601126101a45767ffffffffffffffff81358181116101a45761054a90369084016111a3565b9185519385850191858310908311176106e5575080869396525f845261056f866113f2565b9361057c845195866111f5565b868552610588876113f2565b967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08098015f5b8181106106d65750505f5b81811061065557505050505080519280840190808552835180925280838601938360051b8701019401925f965b8388106105f45786860387f35b9091929394838080837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08b6001960301875285601f8b51610640815180928187528780880191016111d4565b011601019701930197019690939291936105e7565b806106b75f80896106976106a39b9e9b8e8b8b6106768f9b8d60019d61134a565b9290965195838794868601998a37840191858301938a8552519384916111d4565b010380845201826111f5565b5190305af46106b06113c3565b90306117f1565b6106c1828a61140a565b526106cc818961140a565b50019794976105ba565b60608882018a015288016105af565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b346101a4575f6003193601126101a457602090515f8152f35b346101a4575f6003193601126101a45760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b82346101a4575f6003193601126101a4573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416036107d6576107d43361168c565b005b60249151907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b346101a4575f6003193601126101a4576020905f549051908152f35b9050346101a457806003193601126101a457813560249283359267ffffffffffffffff908185116101a457366023860112156101a457848301359182116101a457858501368784880101116101a4577f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00956002875414610acd57600287556108a9848361148e565b836001116101a4576108e390369060257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8701910161129d565b9283519373ffffffffffffffffffffffffffffffffffffffff60209586339301201603610a4c57855f526001845261091e835f2082846113aa565b549586156109f1579161093c915f93845260018652848420916113aa565b555f80808087335af161094d6113c3565b501561099857505060025491820391821161096d57600282905560018355005b601184917f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b517f08c379a000000000000000000000000000000000000000000000000000000000815291820152601b818501527f554249506f6f6c3a206661696c656420746f2073656e642055424900000000006044820152606490fd5b60648660188b888851937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f554249506f6f6c3a206e6f2055424920746f20636c61696d00000000000000006044820152fd5b608485602e8a878751937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206460448201527f65726976656420616464726573730000000000000000000000000000000000006064820152fd5b8483517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b346101a4575f6003193601126101a457610b0d61141e565b5f73ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101a4575f6003193601126101a4576020906002549051908152f35b346101a4575f6003193601126101a4576020905160078152f35b82346101a45760206003193601126101a45780359063ffffffff8083168093036101a457610c1d61141e565b7f0000000000000000000000000000000000000000000000000000000000000000168211610c71577f6c6483041303ba314f169eb2d2af177b4f497324ccf0f3c1e68c2100f76c49296020838551908152a1005b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601c60248201527f554249506f6f6c3a2070657263656e7461676520746f6f2068696768000000006044820152fd5b82346101a45760606003193601126101a457803591602480359267ffffffffffffffff938481116101a457610d0690369083016111a3565b94909160449384358381116101a457610d2290369084016111a3565b929095610d2d61141e565b8815611123578389036110c957600254610d47818c6112d3565b471061106e578a610d57916112d3565b6002555f925f54937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514611043578b9060018096015f555f5b878110610f6e575003610f13575050509592915f549686519480608087018a885260209b8c89015260808a8901525260a086019460a08260051b8801019581945f925b848410610e4e575050505050505082820360608401528082527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116101a4577f1cc6f356308c8399caa490706b01fb9d52cdc87cdf639e66c3da7d4ce2db161c938792849260051b80928583013701030190a151908152f35b909192939495977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608a82030184528835907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018212156101a457908201808f019190358481116101a45780360383136101a4578f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808e98869897879852868601375f858286010152011601019a0194019401929594939190610dd4565b60649291601e7f554249506f6f6c3a20746f74616c20616d6f756e74206d69736d6174636800009260208c51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b9150610f7b82888c61130d565b3515610fe857610fde8691610fd7848f8f8f908f808f948681610fae610fa883610fcb95610fd19861134a565b9061148e565b610fb982898961130d565b35955f545f528d6020525f209361134a565b906113aa565b5561130d565b35906112d3565b9101908c91610d91565b8a517f08c379a0000000000000000000000000000000000000000000000000000000008152602081870152601f818501527f554249506f6f6c3a20616d6f756e74732063616e6e6f74206265207a65726f0081860152606490fd5b506011837f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b507f554249506f6f6c3a206e6f7420656e6f7567682062616c616e6365000000000090601b60649460208b51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b7f554249506f6f6c3a206c656e677468206d69736d61746368000000000000000090601860649460208b51957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b7f554249506f6f6c3a2076616c696461746f72556e636d705075624b657973206390602e60849460208b51957f08c379a00000000000000000000000000000000000000000000000000000000087528601528401528201527f616e6e6f7420626520656d7074790000000000000000000000000000000000006064820152fd5b9181601f840112156101a45782359167ffffffffffffffff83116101a4576020808501948460051b0101116101a457565b5f5b8381106111e55750505f910152565b81810151838201526020016111d6565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761123657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161123657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926112a982611263565b916112b760405193846111f5565b8294818452818301116101a4578281602093845f960137010152565b919082018092116112e057565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919081101561131d5760051b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561131d5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101a457019081359167ffffffffffffffff83116101a45760200182360381136101a4579190565b6020919283604051948593843782019081520301902090565b3d156113ed573d906113d482611263565b916113e260405193846111f5565b82523d5f602084013e565b606090565b67ffffffffffffffff81116112365760051b60200190565b805182101561131d5760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361145e57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b9060418103611608571561131d577f04000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000823516036115845780600160216114f993013591013561173f565b1561150057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206f60448201527f6e206375727665000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579207060448201527f72656669780000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5075624b657956657269666965723a20496e76616c6964207075626b6579206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b801580156117c7575b80156117bf575b8015611795575b61178f576007907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f918282818181950909089180091490565b50505f90565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f821015611756565b50811561174f565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f811015611748565b90611830575080511561180657805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611888575b611841575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611839565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156118c057565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212208f9c0ac52d1338edad0802db991f71c2eed76a842bf8d4e7358816d5918c361664736f6c63430008170033" ) //go:embed ubipool_storage_layout.json diff --git a/contracts/bindings/upgradeentrypoint.go b/contracts/bindings/upgradeentrypoint.go index 7737dd9c..1e0c56be 100644 --- a/contracts/bindings/upgradeentrypoint.go +++ b/contracts/bindings/upgradeentrypoint.go @@ -32,7 +32,7 @@ var ( // UpgradeEntrypointMetaData contains all meta data concerning the UpgradeEntrypoint contract. var UpgradeEntrypointMetaData = &bind.MetaData{ ABI: "[{\"type\":\"constructor\",\"inputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"cancelUpgrade\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"planUpgrade\",\"inputs\":[{\"name\":\"name\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"height\",\"type\":\"int64\",\"internalType\":\"int64\"},{\"name\":\"info\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"CancelUpgrade\",\"inputs\":[],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SoftwareUpgrade\",\"inputs\":[{\"name\":\"name\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"height\",\"type\":\"int64\",\"indexed\":false,\"internalType\":\"int64\"},{\"name\":\"info\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"InvalidInitialization\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotInitializing\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnableInvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"OwnableUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]}]", - Bin: "0x608080604052346100b8577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100a957506001600160401b036002600160401b031982821601610064575b60405161099690816100be8239f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610055565b63f92ee8a960e01b8152600490fd5b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c90816355f2916614610713578163715018a61461062b57816379ba5097146105805781638da5cb5b1461050e578163c4d66de8146102bb578163e30c397814610249578163ef176e0e1461016c575063f2fde38b1461007a57600080fd5b346101685760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610168573573ffffffffffffffffffffffffffffffffffffffff808216809203610164576100d16107e3565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b8280fd5b5080fd5b9050346101645760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101645767ffffffffffffffff918035838111610245576101bd9036908301610771565b919092602435908160070b809203610241576044359586116102415761020a61023b937f112749e79b2098b58eab36c21f123b2883c3ecbbb4f41623a744fa6d9b3e37c697369101610771565b916102136107e3565b61022981519788976060895260608901916107a4565b936020870152858403908601526107a4565b0390a180f35b8680fd5b8480fd5b83903461016857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101685760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b919050346101645760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016457803573ffffffffffffffffffffffffffffffffffffffff811690818103610245577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff811680159081610506575b60011490816104fc575b1590816104f3575b506104cb578460017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316178755610496575b501561041357506103b4906103a7610907565b6103af610907565b610853565b6103bc578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a138808280f35b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f55706772616465456e747279706f696e743a206f776e65722063616e6e6f742060448201527f6265207a65726f206164647265737300000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000166801000000000000000117855538610394565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610361565b303b159150610359565b86915061034f565b83903461016857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101685760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b90503461016457827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610164573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416036105fb57826105f833610853565b80f35b6024925051907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b833461071057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610710576106626107e3565b8073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b833461071057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107105761074a6107e3565b7f812c36a273ff85c1871fc7c629fa4c010821a53f3a2492dcc0ea00a396b6a64f8180a180f35b9181601f8401121561079f5782359167ffffffffffffffff831161079f576020838186019501011161079f57565b600080fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361082357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561093657565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220f191a049ebc031e11e32910156e7a4acd2c4bdc61644af7283347412589ec0d064736f6c63430008170033", + Bin: "0x608080604052346100b8577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100a957506001600160401b036002600160401b031982821601610064575b60405161096690816100bd8239f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610055565b63f92ee8a960e01b8152600490fd5b5f80fdfe60406080815260049081361015610014575f80fd5b5f3560e01c90816355f29166146106ec578163715018a61461060957816379ba5097146105625781638da5cb5b146104f2578163c4d66de8146102a7578163e30c397814610237578163ef176e0e14610163575063f2fde38b14610076575f80fd5b3461015f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f573573ffffffffffffffffffffffffffffffffffffffff80821680920361015f576100cd6107b4565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b5f80fd5b90503461015f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5767ffffffffffffffff91803583811161015f576101b49036908301610748565b919092602435908160070b80920361015f5760443595861161015f57610201610232937f112749e79b2098b58eab36c21f123b2883c3ecbbb4f41623a744fa6d9b3e37c697369101610748565b9161020a6107b4565b6102208151978897606089526060890191610776565b93602087015285840390860152610776565b0390a1005b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b823461015f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f57803573ffffffffffffffffffffffffffffffffffffffff81169081810361015f577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff8116801590816104ea575b60011490816104e0575b1590816104d7575b506104af578460017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000831617875561047a575b50156103f7575061039e906103916108d7565b6103996108d7565b610824565b6103a457005b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a1005b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f55706772616465456e747279706f696e743a206f776e65722063616e6e6f742060448201527f6265207a65726f206164647265737300000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011785558661037e565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b9050158861034b565b303b159150610343565b869150610339565b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b823461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416036105da576105d833610824565b005b60249151907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5761063f6107b4565b5f73ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f576107226107b4565b7f812c36a273ff85c1871fc7c629fa4c010821a53f3a2492dcc0ea00a396b6a64f5f80a1005b9181601f8401121561015f5782359167ffffffffffffffff831161015f576020838186019501011161015f57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036107f457565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561090657565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220aaa587b5c6ac27bc988f3b521a565399d9e24777b52755132da9ef779433814b64736f6c63430008170033", } // UpgradeEntrypointABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/upgradeentrypoint_more.go b/contracts/bindings/upgradeentrypoint_more.go index 62769162..e43208e3 100644 --- a/contracts/bindings/upgradeentrypoint_more.go +++ b/contracts/bindings/upgradeentrypoint_more.go @@ -5,7 +5,7 @@ import ( ) const ( - UpgradeEntrypointDeployedBytecode = "0x60406080815260048036101561001457600080fd5b600091823560e01c90816355f2916614610713578163715018a61461062b57816379ba5097146105805781638da5cb5b1461050e578163c4d66de8146102bb578163e30c397814610249578163ef176e0e1461016c575063f2fde38b1461007a57600080fd5b346101685760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610168573573ffffffffffffffffffffffffffffffffffffffff808216809203610164576100d16107e3565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b8280fd5b5080fd5b9050346101645760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101645767ffffffffffffffff918035838111610245576101bd9036908301610771565b919092602435908160070b809203610241576044359586116102415761020a61023b937f112749e79b2098b58eab36c21f123b2883c3ecbbb4f41623a744fa6d9b3e37c697369101610771565b916102136107e3565b61022981519788976060895260608901916107a4565b936020870152858403908601526107a4565b0390a180f35b8680fd5b8480fd5b83903461016857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101685760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b919050346101645760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016457803573ffffffffffffffffffffffffffffffffffffffff811690818103610245577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff811680159081610506575b60011490816104fc575b1590816104f3575b506104cb578460017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316178755610496575b501561041357506103b4906103a7610907565b6103af610907565b610853565b6103bc578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a138808280f35b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f55706772616465456e747279706f696e743a206f776e65722063616e6e6f742060448201527f6265207a65726f206164647265737300000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000166801000000000000000117855538610394565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610361565b303b159150610359565b86915061034f565b83903461016857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101685760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b90503461016457827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610164573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416036105fb57826105f833610853565b80f35b6024925051907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b833461071057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610710576106626107e3565b8073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b833461071057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107105761074a6107e3565b7f812c36a273ff85c1871fc7c629fa4c010821a53f3a2492dcc0ea00a396b6a64f8180a180f35b9181601f8401121561079f5782359167ffffffffffffffff831161079f576020838186019501011161079f57565b600080fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361082357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561093657565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212201f8e41e67a182e0c945e2b639310775738680205d656f26b067c62fc5f1f146b64736f6c63430008170033" + UpgradeEntrypointDeployedBytecode = "0x60406080815260049081361015610014575f80fd5b5f3560e01c90816355f29166146106ec578163715018a61461060957816379ba5097146105625781638da5cb5b146104f2578163c4d66de8146102a7578163e30c397814610237578163ef176e0e14610163575063f2fde38b14610076575f80fd5b3461015f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f573573ffffffffffffffffffffffffffffffffffffffff80821680920361015f576100cd6107b4565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b5f80fd5b90503461015f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5767ffffffffffffffff91803583811161015f576101b49036908301610748565b919092602435908160070b80920361015f5760443595861161015f57610201610232937f112749e79b2098b58eab36c21f123b2883c3ecbbb4f41623a744fa6d9b3e37c697369101610748565b9161020a6107b4565b6102208151978897606089526060890191610776565b93602087015285840390860152610776565b0390a1005b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5760209073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054169051908152f35b823461015f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f57803573ffffffffffffffffffffffffffffffffffffffff81169081810361015f577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009283549260ff84871c16159367ffffffffffffffff8116801590816104ea575b60011490816104e0575b1590816104d7575b506104af578460017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000831617875561047a575b50156103f7575061039e906103916108d7565b6103996108d7565b610824565b6103a457005b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291817fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff602093541690555160018152a1005b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f55706772616465456e747279706f696e743a206f776e65722063616e6e6f742060448201527f6265207a65726f206164647265737300000000000000000000000000000000006064820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016680100000000000000011785558661037e565b8287517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b9050158861034b565b303b159150610343565b869150610339565b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5760209073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b823461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416036105da576105d833610824565b005b60249151907f118cdaa70000000000000000000000000000000000000000000000000000000082523390820152fd5b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f5761063f6107b4565b5f73ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008181541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549182169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461015f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015f576107226107b4565b7f812c36a273ff85c1871fc7c629fa4c010821a53f3a2492dcc0ea00a396b6a64f5f80a1005b9181601f8401121561015f5782359167ffffffffffffffff831161015f576020838186019501011161015f57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036107f457565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b7fffffffffffffffffffffffff0000000000000000000000000000000000000000907f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c008281541690557f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080549073ffffffffffffffffffffffffffffffffffffffff80931680948316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561090657565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212207e220230255b9207442992da7c029157e9b82ab868579b829996e1c2a6f4bfb464736f6c63430008170033" ) //go:embed upgradeentrypoint_storage_layout.json diff --git a/contracts/src/interfaces/IIPTokenStaking.sol b/contracts/src/interfaces/IIPTokenStaking.sol index d3919279..692c1a87 100644 --- a/contracts/src/interfaces/IIPTokenStaking.sol +++ b/contracts/src/interfaces/IIPTokenStaking.sol @@ -158,7 +158,7 @@ interface IIPTokenStaking { /// @notice Removes current operator for a delegator. /// @param uncmpPubkey 65 bytes uncompressed secp256k1 public key. - function unsetOperator(bytes calldata uncmpPubkey) external; + function unsetOperator(bytes calldata uncmpPubkey) external payable; /// @notice Set/Update the withdrawal address that receives the withdrawals. /// Charges fee (CL spam prevention). Must be exact amount. diff --git a/contracts/src/protocol/IPTokenStaking.sol b/contracts/src/protocol/IPTokenStaking.sol index 95d7cd22..4c722bd2 100644 --- a/contracts/src/protocol/IPTokenStaking.sol +++ b/contracts/src/protocol/IPTokenStaking.sol @@ -159,7 +159,7 @@ contract IPTokenStaking is IIPTokenStaking, Ownable2StepUpgradeable, ReentrancyG /// @param uncmpPubkey 65 bytes uncompressed secp256k1 public key. function unsetOperator( bytes calldata uncmpPubkey - ) external verifyUncmpPubkeyWithExpectedAddress(uncmpPubkey, msg.sender) { + ) external payable verifyUncmpPubkeyWithExpectedAddress(uncmpPubkey, msg.sender) chargesFee { emit UnsetOperator(uncmpPubkey); } diff --git a/contracts/test/stake/IPTokenStaking.t.sol b/contracts/test/stake/IPTokenStaking.t.sol index 654ddf32..718e7019 100644 --- a/contracts/test/stake/IPTokenStaking.t.sol +++ b/contracts/test/stake/IPTokenStaking.t.sol @@ -741,14 +741,20 @@ contract IPTokenStakingTest is Test { vm.deal(otherAddress, feeAmount); vm.prank(otherAddress); vm.expectRevert("PubKeyVerifier: Invalid pubkey derived address"); - ipTokenStaking.unsetOperator(delegatorUncmpPubkey); + ipTokenStaking.unsetOperator{ value: feeAmount }(delegatorUncmpPubkey); // Network shall allow delegators to remove their operators vm.deal(delegatorAddr, feeAmount); vm.prank(delegatorAddr); vm.expectEmit(address(ipTokenStaking)); emit IIPTokenStaking.UnsetOperator(delegatorUncmpPubkey); - ipTokenStaking.unsetOperator(delegatorUncmpPubkey); + ipTokenStaking.unsetOperator{ value: feeAmount }(delegatorUncmpPubkey); + + // Revert if fee is not paid + vm.deal(delegatorAddr, feeAmount); + vm.prank(delegatorAddr); + vm.expectRevert("IPTokenStaking: Invalid fee amount"); + ipTokenStaking.unsetOperator{ value: feeAmount - 1 }(delegatorUncmpPubkey); } function testIPTokenStaking_setMinStakeAmount() public {