@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
1,552 lines • 107 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "GrantsManagerV1",
"sourceName": "contracts/deprecated/V1/GrantsManagerV1.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "CallerIsNotTheGrantReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "ERC1967InvalidImplementation",
"type": "error"
},
{
"inputs": [],
"name": "ERC1967NonPayable",
"type": "error"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GrantAlreadyCompleted",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GrantAlreadyRejected",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "availableFunds",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredFunds",
"type": "uint256"
}
],
"name": "InsufficientFunds",
"type": "error"
},
{
"inputs": [],
"name": "InvalidAmount",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "InvalidFunctionSelector",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "InvalidMilestoneIndex",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "provided",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "required",
"type": "uint256"
}
],
"name": "InvalidNumberOfMilestones",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "InvalidTarget",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "MilestoneAlreadyApproved",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "MilestoneAlreadyClaimed",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "MilestoneAmountZero",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "claimedAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalAmount",
"type": "uint256"
}
],
"name": "MilestoneClaimedAmountExceedsTotalAmount",
"type": "error"
},
{
"inputs": [],
"name": "MilestoneDetailsMetadataURIEmpty",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "MilestoneNotApprovedByAdmin",
"type": "error"
},
{
"inputs": [],
"name": "MilestoneProposerZeroAddress",
"type": "error"
},
{
"inputs": [
{
"internalType": "enum IGrantsManagerV1.MilestoneState",
"name": "status",
"type": "uint8"
}
],
"name": "MilestoneStateNotPending",
"type": "error"
},
{
"inputs": [],
"name": "MilestoneTotalAmountZero",
"type": "error"
},
{
"inputs": [],
"name": "NotAuthorized",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "PreviousMilestoneNotApproved",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "ProposalNotExecuted",
"type": "error"
},
{
"inputs": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"inputs": [],
"name": "TransferFailed",
"type": "error"
},
{
"inputs": [],
"name": "UUPSUnauthorizedCallContext",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "slot",
"type": "bytes32"
}
],
"name": "UUPSUnsupportedProxiableUUID",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GrantCanceled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "newGrantsReceiver",
"type": "address"
}
],
"name": "GrantsReceiverUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "version",
"type": "uint64"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "MilestoneClaimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "newMilestoneMetadataURI",
"type": "string"
}
],
"name": "MilestoneMetadataURIUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "MilestoneRejectedAndFundsReturnedToTreasury",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "MilestoneValidated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "grantsReceiver",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "totalAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "metadataURI",
"type": "string"
}
],
"name": "MilestonesCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "GOVERNANCE_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "GRANTS_APPROVER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "GRANTS_REJECTOR_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PAUSER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UPGRADER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UPGRADE_INTERFACE_VERSION",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
},
{
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"name": "approveMilestoneWithReason",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "approveMilestones",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "claimMilestone",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "metadataURI",
"type": "string"
},
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "address",
"name": "grantsReceiver",
"type": "address"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
}
],
"name": "createMilestones",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getB3trContract",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGovernorContract",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getGrantProposal",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "claimedAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "address",
"name": "grantsReceiver",
"type": "address"
},
{
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isClaimed",
"type": "bool"
},
{
"internalType": "bool",
"name": "isApproved",
"type": "bool"
},
{
"internalType": "bool",
"name": "isRejected",
"type": "bool"
},
{
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"internalType": "struct IGrantsManagerV1.Milestone[]",
"name": "milestones",
"type": "tuple[]"
},
{
"internalType": "string",
"name": "metadataURI",
"type": "string"
}
],
"internalType": "struct IGrantsManagerV1.GrantProposal",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getGrantsReceiverAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "getMilestone",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isClaimed",
"type": "bool"
},
{
"internalType": "bool",
"name": "isApproved",
"type": "bool"
},
{
"internalType": "bool",
"name": "isRejected",
"type": "bool"
},
{
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"internalType": "struct IGrantsManagerV1.Milestone",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getMilestoneMetadataURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getMilestones",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isClaimed",
"type": "bool"
},
{
"internalType": "bool",
"name": "isApproved",
"type": "bool"
},
{
"internalType": "bool",
"name": "isRejected",
"type": "bool"
},
{
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"internalType": "struct IGrantsManagerV1.Milestone[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getMinimumMilestoneCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "milestoneId",
"type": "uint256"
}
],
"name": "getTotalAmountForMilestones",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTreasuryContract",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "grantState",
"outputs": [
{
"internalType": "enum IGrantsManagerV1.GrantState",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_governor",
"type": "address"
},
{
"internalType": "address",
"name": "_treasury",
"type": "address"
},
{
"internalType": "address",
"name": "defaultAdmin",
"type": "address"
},
{
"internalType": "address",
"name": "_b3tr",
"type": "address"
},
{
"internalType": "uint256",
"name": "_minimumMilestoneCount",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "isClaimable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "isGrantCompleted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "isGrantInDevelopment",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "isGrantRejected",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "milestoneIndex",
"type": "uint256"
}
],
"name": "milestoneState",
"outputs": [
{
"internalType": "enum IGrantsManagerV1.MilestoneState",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "rejectMilestones",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_b3tr",
"type": "address"
}
],
"name": "setB3trContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_governor",
"type": "address"
}
],
"name": "setGovernorContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "minimumMilestoneCount",
"type": "uint256"
}
],
"name": "setMinimumMilestoneCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_treasury",
"type": "address"
}
],
"name": "setTreasuryContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "address",
"name": "newGrantsReceiver",
"type": "address"
}
],
"name": "updateGrantsReceiver",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "string",
"name": "newMilestoneMetadataURI",
"type": "string"
}
],
"name": "updateMilestoneMetadataURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516147a362000104600039600081816132020152818161322b015261337501526147a36000f3fe6080604052600436106102175760003560e01c806219cce61461021c578063012947641461024757806301ffc9a71461026a57806306c498221461029a5780631ed65110146102bc57806321afd1f6146102dc578063248a9ca3146102fe57806324ad94cd1461031e57806326c74fc31461034b5780632f2ff15d1461036057806336568abe146103805780633f36cd7f146103a05780633f4ba83a146103c257806342c549c0146103d75780634f1ef2861461040457806352d1902d1461041757806354b90b7b1461042c57806354fd4d501461044c5780635ade3874146104605780635c975abb14610480578063767b1602146104955780637da17bf3146104b5578063808860a5146104d55780638456cb59146104f55780638ed9895c1461050a57806391d14854146105375780639b15408714610557578063a217fddf14610577578063ad3cb1cc1461058c578063b2a2eef9146105ca578063b3396778146105ea578063bfda4e7c1461060a578063c1a45a6a14610637578063c224938914610657578063c266aef714610677578063c42433b414610697578063c4ec8f98146106b7578063cff28c70146106cc578063d547741f146106ec578063da104fac1461070c578063e03d759b1461072c578063e63ab1e91461074c578063e9af5d1b1461076e578063f23e227b1461079b578063f36c8f5c146107bb578063f7013ef6146107dd578063f72c0d8b146107fd575b600080fd5b34801561022857600080fd5b5061023161081f565b60405161023e9190613dfa565b60405180910390f35b34801561025357600080fd5b5061025c61083d565b60405190815260200161023e565b34801561027657600080fd5b5061028a610285366004613e0e565b610852565b604051901515815260200161023e565b3480156102a657600080fd5b506102ba6102b5366004613e4d565b610889565b005b3480156102c857600080fd5b506102ba6102d7366004613e4d565b6108c4565b3480156102e857600080fd5b5061025c60008051602061468e83398151915281565b34801561030a57600080fd5b5061025c610319366004613e6a565b6108ff565b34801561032a57600080fd5b5061033e610339366004613e6a565b61091f565b60405161023e9190613f16565b34801561035757600080fd5b50610231610b96565b34801561036c57600080fd5b506102ba61037b366004613fdb565b610bb4565b34801561038c57600080fd5b506102ba61039b366004613fdb565b610bd6565b3480156103ac57600080fd5b5061025c60008051602061474e83398151915281565b3480156103ce57600080fd5b506102ba610c0e565b3480156103e357600080fd5b506103f76103f2366004613e6a565b610c7a565b60405161023e919061400b565b6102ba610412366004614122565b610dc6565b34801561042357600080fd5b5061025c610de1565b34801561043857600080fd5b506102ba610447366004613e4d565b610dfe565b34801561045857600080fd5b50600161025c565b34801561046c57600080fd5b5061025c61047b366004613e6a565b610e39565b34801561048c57600080fd5b5061028a610e44565b3480156104a157600080fd5b506102ba6104b0366004614171565b610e59565b3480156104c157600080fd5b5061028a6104d0366004613e6a565b610fd1565b3480156104e157600080fd5b506102ba6104f0366004614193565b611254565b34801561050157600080fd5b506102ba6117e5565b34801561051657600080fd5b5061052a610525366004614171565b61184d565b60405161023e91906142a8565b34801561054357600080fd5b5061028a610552366004613fdb565b6119ae565b34801561056357600080fd5b5061028a610572366004613e6a565b6119e4565b34801561058357600080fd5b5061025c600081565b34801561059857600080fd5b506105bd604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161023e91906142bb565b3480156105d657600080fd5b506102ba6105e5366004613e6a565b611d05565b3480156105f657600080fd5b506102ba6106053660046142ce565b611d25565b34801561061657600080fd5b5061062a610625366004613e6a565b611ebe565b60405161023e9190614333565b34801561064357600080fd5b5061028a610652366004614171565b611fb3565b34801561066357600080fd5b5061028a610672366004613e6a565b611fda565b34801561068357600080fd5b506102ba610692366004614171565b612300565b3480156106a357600080fd5b506102ba6106b236600461434d565b61277a565b3480156106c357600080fd5b5061023161281a565b3480156106d857600080fd5b506105bd6106e7366004613e6a565b612838565b3480156106f857600080fd5b506102ba610707366004613fdb565b6128ea565b34801561071857600080fd5b50610231610727366004613e6a565b612906565b34801561073857600080fd5b506102ba610747366004613fdb565b61292f565b34801561075857600080fd5b5061025c60008051602061472e83398151915281565b34801561077a57600080fd5b5061078e610789366004614171565b612a16565b60405161023e919061437d565b3480156107a757600080fd5b506102ba6107b6366004613e6a565b612a29565b3480156107c757600080fd5b5061025c6000805160206146ae83398151915281565b3480156107e957600080fd5b506102ba6107f8366004614391565b612cee565b34801561080957600080fd5b5061025c6000805160206146ee83398151915281565b60008061082a613032565b600101546001600160a01b031692915050565b600080610848613032565b6004015492915050565b60006001600160e01b03198216637965db0b60e01b148061088357506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061089481613056565b600061089e613032565b60010180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60006108cf81613056565b60006108d9613032565b60020180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a613063565b60009384526020525050604090206001015490565b6109716040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081525090565b600061097b613032565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b03908116606083015260048301541660808201526005820180548451818702810187019095528085529697509095919460a087019491929184015b82821015610af45760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610a63906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8f906143f5565b8015610adc5780601f10610ab157610100808354040283529160200191610adc565b820191906000526020600020905b815481529060010190602001808311610abf57829003601f168201915b505050505081525050815260200190600101906109ef565b505050508152602001600682018054610b0c906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906143f5565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505081525050915050919050565b600080610ba1613032565b600201546001600160a01b031692915050565b610bbd826108ff565b610bc681613056565b610bd08383613087565b50505050565b6001600160a01b0381163314610bff5760405163334bd91960e11b815260040160405180910390fd5b610c098282613128565b505050565b60008051602061472e8339815191526000610c27613032565b9050610c3382336119ae565b80610c515750610c516000805160206146ae833981519152336119ae565b610c6e5760405163ea8e4eb560e01b815260040160405180910390fd5b610c766131a0565b5050565b60606000610c86613032565b600084815260208281526040808320600501805482518185028101850190935280835294955090939092909184015b82821015610dba5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610d29906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610d55906143f5565b8015610da25780601f10610d7757610100808354040283529160200191610da2565b820191906000526020600020905b815481529060010190602001808311610d8557829003601f168201915b50505050508152505081526020019060010190610cb5565b50505050915050919050565b610dce6131f7565b610dd78261329e565b610c7682826132b6565b6000610deb61336a565b5060008051602061470e83398151915290565b6000610e0981613056565b6000610e13613032565b60030180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a613032565b600080610e4f6133b3565b5460ff1692915050565b60008051602061474e8339815191526000610e72613032565b9050610e7e82336119ae565b80610e9c5750610e9c6000805160206146ae833981519152336119ae565b610eb95760405163ea8e4eb560e01b815260040160405180910390fd5b6000610ec3613032565b9050610ece856133d7565b610ed8858561348d565b8315610f61576000610ef486610eef600188614445565b6134cf565b90506001816003811115610f0a57610f0a61431d565b14158015610f2a57506002816003811115610f2757610f2761431d565b14155b15610f5f5785610f3b600187614445565b60405163414e3ac760e01b8152600401610f56929190614458565b60405180910390fd5b505b600085815260208290526040902060050180546001919086908110610f8857610f88614466565b60009182526020822060016003909202010180549215156101000261ff001990931692909217909155604051859187916000805160206146ce8339815191529190a35050505050565b600080610fdc613032565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156111595760008481526020908190206040805160a0810182526003860290920180548352600181015460ff8082161515958501959095526101008104851615159284019290925262010000909104909216151560608201526002820180549192916080840191906110c8906143f5565b80601f01602080910402602001604051908101604052809291908181526020018280546110f4906143f5565b80156111415780601f1061111657610100808354040283529160200191611141565b820191906000526020600020905b81548152906001019060200180831161112457829003601f168201915b50505050508152505081526020019060010190611054565b505050508152602001600682018054611171906143f5565b80601f016020809104026020016040519081016040528092919081815260200182805461119d906143f5565b80156111ea5780601f106111bf576101008083540402835291602001916111ea565b820191906000526020600020905b8154815290600101906020018083116111cd57829003601f168201915b505050505081525050905060005b8160a0015151811015611249578160a00151818151811061121b5761121b614466565b6020026020010151606001511561123757506001949350505050565b806112418161447c565b9150506111f8565b506000949350505050565b600061125e613032565b90506112786000805160206146ae833981519152336119ae565b6112955760405163ea8e4eb560e01b815260040160405180910390fd5b61129d613757565b60006112a7613032565b6000878152602082905260408120919250805b855181101561152e5760008682815181106112d7576112d7614466565b602090810291909101810151908101519091506001600160e01b03198116638e184b3f60e01b14611327576040516310cb7cf160e21b81526001600160e01b031982166004820152602401610f56565b6000600483516113379190614445565b6001600160401b0381111561134e5761134e61406d565b6040519080825280601f01601f191660200182016040528015611378576020820181803683370190505b50905060005b81518110156113e95783611393826004614495565b815181106113a3576113a3614466565b602001015160f81c60f81b8282815181106113c0576113c0614466565b60200101906001600160f81b031916908160001a905350806113e18161447c565b91505061137e565b506000808280602001905181019061140191906144a8565b90925090506001600160a01b0382163014611431578160405163d08525e960e01b8152600401610f569190613dfa565b806000036114525760405163162908e360e11b815260040160405180910390fd5b61145c8188614495565b60008f815260208b81526040808320815160a08101835286815280840185815281840186815260608301878152855180880190965287865260808401958652600590940180546001818101835591895296909720835160039097020195865590519585018054915193511515620100000262ff0000199415156101000261ff00199815159890981661ffff199093169290921796909617929092169190911790935551929950909160028201906115139082614524565b505050505050505080806115269061447c565b9150506112ba565b508782556003820180546001600160a01b0319166001600160a01b0389161790556006820161155d8a82614524565b50600182018190556000600283018190556004830180546001600160a01b0319166001600160a01b038981169182179092556040805160e08101825286548152602080820187905281830186905260038801549094166060820152608081019290925260058601805482518186028101860190935280835261178c959394889460a087019493929184015b828210156116ed5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061165c906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054611688906143f5565b80156116d55780601f106116aa576101008083540402835291602001916116d5565b820191906000526020600020905b8154815290600101906020018083116116b857829003601f168201915b505050505081525050815260200190600101906115e8565b505050508152602001600682018054611705906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054611731906143f5565b801561177e5780601f106117535761010080835404028352916020019161177e565b820191906000526020600020905b81548152906001019060200180831161176157829003601f168201915b50505050508152505061377d565b856001600160a01b0316876001600160a01b0316897f4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553848d6040516117d29291906145e3565b60405180910390a4505050505050505050565b60008051602061472e83398151915260006117fe613032565b905061180a82336119ae565b8061182857506118286000805160206146ae833981519152336119ae565b6118455760405163ea8e4eb560e01b815260040160405180910390fd5b610c766138ff565b6118856040518060a0016040528060008152602001600015158152602001600015158152602001600015158152602001606081525090565b600061188f613032565b6000858152602082905260409020600501805491925090849081106118b6576118b6614466565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611923906143f5565b80601f016020809104026020016040519081016040528092919081815260200182805461194f906143f5565b801561199c5780601f106119715761010080835404028352916020019161199c565b820191906000526020600020905b81548152906001019060200180831161197f57829003601f168201915b50505050508152505091505092915050565b6000806119b9613063565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000806119ef613032565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b82821015611b6c5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611adb906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054611b07906143f5565b8015611b545780601f10611b2957610100808354040283529160200191611b54565b820191906000526020600020905b815481529060010190602001808311611b3757829003601f168201915b50505050508152505081526020019060010190611a67565b505050508152602001600682018054611b84906143f5565b80601f0160208091040260200160405190810160405280929190818152602001828054611bb0906143f5565b8015611bfd5780601f10611bd257610100808354040283529160200191611bfd565b820191906000526020600020905b815481529060010190602001808311611be057829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c91906145fc565b90506006816007811115611c9257611c9261431d565b14611ca257506000949350505050565b60005b8260a0015151811015611cf9576000611cbe87836134cf565b90506000816003811115611cd457611cd461431d565b03611ce6575060019695505050505050565b5080611cf18161447c565b915050611ca5565b50600095945050505050565b6000611d1081613056565b6000611d1a613032565b600401929092555050565b60008051602061474e8339815191526000611d3e613032565b9050611d4a82336119ae565b80611d685750611d686000805160206146ae833981519152336119ae565b611d855760405163ea8e4eb560e01b815260040160405180910390fd5b6000611d8f613032565b9050611d9a866133d7565b611da4868661348d565b8415611e04576000611dbb87610eef600189614445565b90506001816003811115611dd157611dd161431d565b14158015611df157506002816003811115611dee57611dee61431d565b14155b15611e025786610f3b600188614445565b505b600086815260208290526040902060050180546001919087908110611e2b57611e2b614466565b906000526020600020906003020160010160016101000a81548160ff021916908315150217905550838160000160008881526020019081526020016000206005018681548110611e7d57611e7d614466565b90600052602060002090600302016002019081611e9a9190614524565b50604051859087906000805160206146ce83398151915290600090a3505050505050565b600080611ec9613032565b6001810154604051631f27a4f360e11b8152600481018690529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3e91906145fc565b9050611f4984610fd1565b15611f58575060029392505050565b611f61846119e4565b15611f70575060089392505050565b611f7984611