Socket
Socket
Sign inDemoInstall

@openzeppelin/contracts-upgradeable

Package Overview
Dependencies
Maintainers
4
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openzeppelin/contracts-upgradeable - npm Package Compare versions

Comparing version 4.9.5 to 5.0.1

access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol

80

build/contracts/AccessControlDefaultAdminRulesUpgradeable.json
{
"_format": "hh-sol-artifact-1",
"contractName": "AccessControlDefaultAdminRulesUpgradeable",
"sourceName": "contracts/access/AccessControlDefaultAdminRulesUpgradeable.sol",
"sourceName": "contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol",
"abi": [
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint48",
"name": "schedule",
"type": "uint48"
}
],
"name": "AccessControlEnforcedDefaultAdminDelay",
"type": "error"
},
{
"inputs": [],
"name": "AccessControlEnforcedDefaultAdminRules",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "defaultAdmin",
"type": "address"
}
],
"name": "AccessControlInvalidDefaultAdmin",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -61,5 +135,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -66,0 +140,0 @@ ],

{
"_format": "hh-sol-artifact-1",
"contractName": "AccessControlEnumerableUpgradeable",
"sourceName": "contracts/access/AccessControlEnumerableUpgradeable.sol",
"sourceName": "contracts/access/extensions/AccessControlEnumerableUpgradeable.sol",
"abi": [
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -11,5 +42,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -221,3 +252,3 @@ ],

"internalType": "address",
"name": "account",
"name": "callerConfirmation",
"type": "address"

@@ -224,0 +255,0 @@ }

@@ -7,2 +7,33 @@ {

{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +43,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -179,3 +210,3 @@ ],

"internalType": "address",
"name": "account",
"name": "callerConfirmation",
"type": "address"

@@ -182,0 +213,0 @@ }

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +22,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +27,0 @@ ],

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -18,5 +28,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -23,0 +33,0 @@ ],

@@ -7,2 +7,114 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC1155InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC1155InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "valuesLength",
"type": "uint256"
}
],
"name": "ERC1155InvalidArrayLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC1155InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC1155InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC1155InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC1155MissingApprovalForAll",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +149,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -276,3 +388,3 @@ ],

"internalType": "uint256[]",
"name": "amounts",
"name": "values",
"type": "uint256[]"

@@ -310,3 +422,3 @@ },

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -313,0 +425,0 @@ },

18

build/contracts/ERC1155HolderUpgradeable.json

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +22,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -119,6 +129,6 @@ ],

],
"bytecode": "0x608060405234801561001057600080fd5b506103c5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c811461006e578063f23a6e61146100a6575b600080fd5b6100596100543660046100fc565b6100c5565b60405190151581526020015b60405180910390f35b61008d61007c366004610280565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610065565b61008d6100b436600461032a565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b14806100f657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006020828403121561010e57600080fd5b81356001600160e01b03198116811461012657600080fd5b9392505050565b80356001600160a01b038116811461014457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018857610188610149565b604052919050565b600082601f8301126101a157600080fd5b8135602067ffffffffffffffff8211156101bd576101bd610149565b8160051b6101cc82820161015f565b92835284810182019282810190878511156101e657600080fd5b83870192505b84831015610205578235825291830191908301906101ec565b979650505050505050565b600082601f83011261022157600080fd5b813567ffffffffffffffff81111561023b5761023b610149565b61024e601f8201601f191660200161015f565b81815284602083860101111561026357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561029857600080fd5b6102a18661012d565b94506102af6020870161012d565b9350604086013567ffffffffffffffff808211156102cc57600080fd5b6102d889838a01610190565b945060608801359150808211156102ee57600080fd5b6102fa89838a01610190565b9350608088013591508082111561031057600080fd5b5061031d88828901610210565b9150509295509295909350565b600080600080600060a0868803121561034257600080fd5b61034b8661012d565b94506103596020870161012d565b93506040860135925060608601359150608086013567ffffffffffffffff81111561038357600080fd5b61031d8882890161021056fea26469706673582212206e6a61bb252ecc01600a8e12e454c166dc137b259467e326ea28a499fcb75eb864736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c811461006e578063f23a6e61146100a6575b600080fd5b6100596100543660046100fc565b6100c5565b60405190151581526020015b60405180910390f35b61008d61007c366004610280565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610065565b61008d6100b436600461032a565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b14806100f657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006020828403121561010e57600080fd5b81356001600160e01b03198116811461012657600080fd5b9392505050565b80356001600160a01b038116811461014457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018857610188610149565b604052919050565b600082601f8301126101a157600080fd5b8135602067ffffffffffffffff8211156101bd576101bd610149565b8160051b6101cc82820161015f565b92835284810182019282810190878511156101e657600080fd5b83870192505b84831015610205578235825291830191908301906101ec565b979650505050505050565b600082601f83011261022157600080fd5b813567ffffffffffffffff81111561023b5761023b610149565b61024e601f8201601f191660200161015f565b81815284602083860101111561026357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561029857600080fd5b6102a18661012d565b94506102af6020870161012d565b9350604086013567ffffffffffffffff808211156102cc57600080fd5b6102d889838a01610190565b945060608801359150808211156102ee57600080fd5b6102fa89838a01610190565b9350608088013591508082111561031057600080fd5b5061031d88828901610210565b9150509295509295909350565b600080600080600060a0868803121561034257600080fd5b61034b8661012d565b94506103596020870161012d565b93506040860135925060608601359150608086013567ffffffffffffffff81111561038357600080fd5b61031d8882890161021056fea26469706673582212206e6a61bb252ecc01600a8e12e454c166dc137b259467e326ea28a499fcb75eb864736f6c634300080d0033",
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,2 +7,124 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC1155InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC1155InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "valuesLength",
"type": "uint256"
}
],
"name": "ERC1155InvalidArrayLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC1155InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC1155InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC1155InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC1155MissingApprovalForAll",
"type": "error"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +159,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -269,3 +391,3 @@ ],

"internalType": "uint256[]",
"name": "amounts",
"name": "values",
"type": "uint256[]"

@@ -303,3 +425,3 @@ },

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -306,0 +428,0 @@ },

@@ -7,2 +7,114 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC1155InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC1155InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "valuesLength",
"type": "uint256"
}
],
"name": "ERC1155InvalidArrayLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC1155InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC1155InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC1155InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC1155MissingApprovalForAll",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +149,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -249,3 +361,3 @@ ],

"internalType": "uint256[]",
"name": "amounts",
"name": "values",
"type": "uint256[]"

@@ -283,3 +395,3 @@ },

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -336,2 +448,15 @@ },

{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -338,0 +463,0 @@ {

@@ -7,2 +7,114 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC1155InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC1155InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "valuesLength",
"type": "uint256"
}
],
"name": "ERC1155InvalidArrayLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC1155InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC1155InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC1155InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC1155MissingApprovalForAll",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +149,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -230,3 +342,3 @@ ],

"internalType": "uint256[]",
"name": "amounts",
"name": "values",
"type": "uint256[]"

@@ -264,3 +376,3 @@ },

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -336,6 +448,6 @@ },

],
"bytecode": "0x608060405234801561001057600080fd5b50611391806100206000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461017957600080fd5b8062fdd58e1461008c57806301ffc9a7146100b25780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610b48565b61018c565b6040519081526020015b60405180910390f35b6100c56100c0366004610b8b565b610224565b60405190151581526020016100a9565b6100e86100e3366004610baf565b610276565b6040516100a99190610c15565b610108610103366004610d74565b61030a565b005b61011d610118366004610e1e565b610356565b6040516100a99190610f24565b610108610138366004610f37565b610480565b6100c561014b366004610f73565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b610108610187366004610fa6565b61048f565b60006001600160a01b0383166101fc5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060009081526065602090815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061025557506001600160e01b031982166303a24d0760e21b145b8061027057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060606780546102859061100b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b19061100b565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b50505050509050919050565b6001600160a01b0385163314806103265750610326853361014b565b6103425760405162461bcd60e51b81526004016101f390611045565b61034f85858585856104d4565b5050505050565b606081518351146103bb5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016101f3565b6000835167ffffffffffffffff8111156103d7576103d7610c28565b604051908082528060200260200182016040528015610400578160200160208202803683370190505b50905060005b84518110156104785761044b85828151811061042457610424611093565b602002602001015185838151811061043e5761043e611093565b602002602001015161018c565b82828151811061045d5761045d611093565b6020908102919091010152610471816110bf565b9050610406565b509392505050565b61048b3383836106b4565b5050565b6001600160a01b0385163314806104ab57506104ab853361014b565b6104c75760405162461bcd60e51b81526004016101f390611045565b61034f8585858585610794565b81518351146105365760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016101f3565b6001600160a01b03841661055c5760405162461bcd60e51b81526004016101f3906110d8565b3360005b845181101561064657600085828151811061057d5761057d611093565b60200260200101519050600085838151811061059b5761059b611093565b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156105ec5760405162461bcd60e51b81526004016101f39061111d565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061062b908490611167565b925050819055505050508061063f906110bf565b9050610560565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161069692919061117f565b60405180910390a46106ac8187878787876108c2565b505050505050565b816001600160a01b0316836001600160a01b0316036107275760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016101f3565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107ba5760405162461bcd60e51b81526004016101f3906110d8565b3360006107c685610a26565b905060006107d385610a26565b905060008681526065602090815260408083206001600160a01b038c168452909152902054858110156108185760405162461bcd60e51b81526004016101f39061111d565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290610857908490611167565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108b7848a8a8a8a8a610a71565b505050505050505050565b6001600160a01b0384163b156106ac5760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061090690899089908890889088906004016111ad565b6020604051808303816000875af1925050508015610941575060408051601f3d908101601f1916820190925261093e9181019061120b565b60015b6109ed5761094d611228565b806308c379a0036109865750610961611244565b8061096c5750610988565b8060405162461bcd60e51b81526004016101f39190610c15565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016101f3565b6001600160e01b0319811663bc197c8160e01b14610a1d5760405162461bcd60e51b81526004016101f3906112ce565b50505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610a6057610a60611093565b602090810291909101015292915050565b6001600160a01b0384163b156106ac5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610ab59089908990889088908890600401611316565b6020604051808303816000875af1925050508015610af0575060408051601f3d908101601f19168201909252610aed9181019061120b565b60015b610afc5761094d611228565b6001600160e01b0319811663f23a6e6160e01b14610a1d5760405162461bcd60e51b81526004016101f3906112ce565b80356001600160a01b0381168114610b4357600080fd5b919050565b60008060408385031215610b5b57600080fd5b610b6483610b2c565b946020939093013593505050565b6001600160e01b031981168114610b8857600080fd5b50565b600060208284031215610b9d57600080fd5b8135610ba881610b72565b9392505050565b600060208284031215610bc157600080fd5b5035919050565b6000815180845260005b81811015610bee57602081850181015186830182015201610bd2565b81811115610c00576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610ba86020830184610bc8565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715610c6457610c64610c28565b6040525050565b600067ffffffffffffffff821115610c8557610c85610c28565b5060051b60200190565b600082601f830112610ca057600080fd5b81356020610cad82610c6b565b604051610cba8282610c3e565b83815260059390931b8501820192828101915086841115610cda57600080fd5b8286015b84811015610cf55780358352918301918301610cde565b509695505050505050565b600082601f830112610d1157600080fd5b813567ffffffffffffffff811115610d2b57610d2b610c28565b604051610d42601f8301601f191660200182610c3e565b818152846020838601011115610d5757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610d8c57600080fd5b610d9586610b2c565b9450610da360208701610b2c565b9350604086013567ffffffffffffffff80821115610dc057600080fd5b610dcc89838a01610c8f565b94506060880135915080821115610de257600080fd5b610dee89838a01610c8f565b93506080880135915080821115610e0457600080fd5b50610e1188828901610d00565b9150509295509295909350565b60008060408385031215610e3157600080fd5b823567ffffffffffffffff80821115610e4957600080fd5b818501915085601f830112610e5d57600080fd5b81356020610e6a82610c6b565b604051610e778282610c3e565b83815260059390931b8501820192828101915089841115610e9757600080fd5b948201945b83861015610ebc57610ead86610b2c565b82529482019490820190610e9c565b96505086013592505080821115610ed257600080fd5b50610edf85828601610c8f565b9150509250929050565b600081518084526020808501945080840160005b83811015610f1957815187529582019590820190600101610efd565b509495945050505050565b602081526000610ba86020830184610ee9565b60008060408385031215610f4a57600080fd5b610f5383610b2c565b915060208301358015158114610f6857600080fd5b809150509250929050565b60008060408385031215610f8657600080fd5b610f8f83610b2c565b9150610f9d60208401610b2c565b90509250929050565b600080600080600060a08688031215610fbe57600080fd5b610fc786610b2c565b9450610fd560208701610b2c565b93506040860135925060608601359150608086013567ffffffffffffffff811115610fff57600080fd5b610e1188828901610d00565b600181811c9082168061101f57607f821691505b60208210810361103f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110d1576110d16110a9565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6000821982111561117a5761117a6110a9565b500190565b6040815260006111926040830185610ee9565b82810360208401526111a48185610ee9565b95945050505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906111d990830186610ee9565b82810360608401526111eb8186610ee9565b905082810360808401526111ff8185610bc8565b98975050505050505050565b60006020828403121561121d57600080fd5b8151610ba881610b72565b600060033d11156112415760046000803e5060005160e01c5b90565b600060443d10156112525790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561128257505050505090565b828501915081518181111561129a5750505050505090565b843d87010160208285010111156112b45750505050505090565b6112c360208286010187610c3e565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061135090830184610bc8565b97965050505050505056fea264697066735822122048baeabcd335b4b451538fdaca556a38845619bd9e68ebd583bca8ba11d4a90264736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461017957600080fd5b8062fdd58e1461008c57806301ffc9a7146100b25780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610b48565b61018c565b6040519081526020015b60405180910390f35b6100c56100c0366004610b8b565b610224565b60405190151581526020016100a9565b6100e86100e3366004610baf565b610276565b6040516100a99190610c15565b610108610103366004610d74565b61030a565b005b61011d610118366004610e1e565b610356565b6040516100a99190610f24565b610108610138366004610f37565b610480565b6100c561014b366004610f73565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b610108610187366004610fa6565b61048f565b60006001600160a01b0383166101fc5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060009081526065602090815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061025557506001600160e01b031982166303a24d0760e21b145b8061027057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060606780546102859061100b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b19061100b565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b50505050509050919050565b6001600160a01b0385163314806103265750610326853361014b565b6103425760405162461bcd60e51b81526004016101f390611045565b61034f85858585856104d4565b5050505050565b606081518351146103bb5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016101f3565b6000835167ffffffffffffffff8111156103d7576103d7610c28565b604051908082528060200260200182016040528015610400578160200160208202803683370190505b50905060005b84518110156104785761044b85828151811061042457610424611093565b602002602001015185838151811061043e5761043e611093565b602002602001015161018c565b82828151811061045d5761045d611093565b6020908102919091010152610471816110bf565b9050610406565b509392505050565b61048b3383836106b4565b5050565b6001600160a01b0385163314806104ab57506104ab853361014b565b6104c75760405162461bcd60e51b81526004016101f390611045565b61034f8585858585610794565b81518351146105365760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016101f3565b6001600160a01b03841661055c5760405162461bcd60e51b81526004016101f3906110d8565b3360005b845181101561064657600085828151811061057d5761057d611093565b60200260200101519050600085838151811061059b5761059b611093565b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156105ec5760405162461bcd60e51b81526004016101f39061111d565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061062b908490611167565b925050819055505050508061063f906110bf565b9050610560565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161069692919061117f565b60405180910390a46106ac8187878787876108c2565b505050505050565b816001600160a01b0316836001600160a01b0316036107275760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016101f3565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107ba5760405162461bcd60e51b81526004016101f3906110d8565b3360006107c685610a26565b905060006107d385610a26565b905060008681526065602090815260408083206001600160a01b038c168452909152902054858110156108185760405162461bcd60e51b81526004016101f39061111d565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290610857908490611167565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108b7848a8a8a8a8a610a71565b505050505050505050565b6001600160a01b0384163b156106ac5760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061090690899089908890889088906004016111ad565b6020604051808303816000875af1925050508015610941575060408051601f3d908101601f1916820190925261093e9181019061120b565b60015b6109ed5761094d611228565b806308c379a0036109865750610961611244565b8061096c5750610988565b8060405162461bcd60e51b81526004016101f39190610c15565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016101f3565b6001600160e01b0319811663bc197c8160e01b14610a1d5760405162461bcd60e51b81526004016101f3906112ce565b50505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610a6057610a60611093565b602090810291909101015292915050565b6001600160a01b0384163b156106ac5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610ab59089908990889088908890600401611316565b6020604051808303816000875af1925050508015610af0575060408051601f3d908101601f19168201909252610aed9181019061120b565b60015b610afc5761094d611228565b6001600160e01b0319811663f23a6e6160e01b14610a1d5760405162461bcd60e51b81526004016101f3906112ce565b80356001600160a01b0381168114610b4357600080fd5b919050565b60008060408385031215610b5b57600080fd5b610b6483610b2c565b946020939093013593505050565b6001600160e01b031981168114610b8857600080fd5b50565b600060208284031215610b9d57600080fd5b8135610ba881610b72565b9392505050565b600060208284031215610bc157600080fd5b5035919050565b6000815180845260005b81811015610bee57602081850181015186830182015201610bd2565b81811115610c00576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610ba86020830184610bc8565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715610c6457610c64610c28565b6040525050565b600067ffffffffffffffff821115610c8557610c85610c28565b5060051b60200190565b600082601f830112610ca057600080fd5b81356020610cad82610c6b565b604051610cba8282610c3e565b83815260059390931b8501820192828101915086841115610cda57600080fd5b8286015b84811015610cf55780358352918301918301610cde565b509695505050505050565b600082601f830112610d1157600080fd5b813567ffffffffffffffff811115610d2b57610d2b610c28565b604051610d42601f8301601f191660200182610c3e565b818152846020838601011115610d5757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610d8c57600080fd5b610d9586610b2c565b9450610da360208701610b2c565b9350604086013567ffffffffffffffff80821115610dc057600080fd5b610dcc89838a01610c8f565b94506060880135915080821115610de257600080fd5b610dee89838a01610c8f565b93506080880135915080821115610e0457600080fd5b50610e1188828901610d00565b9150509295509295909350565b60008060408385031215610e3157600080fd5b823567ffffffffffffffff80821115610e4957600080fd5b818501915085601f830112610e5d57600080fd5b81356020610e6a82610c6b565b604051610e778282610c3e565b83815260059390931b8501820192828101915089841115610e9757600080fd5b948201945b83861015610ebc57610ead86610b2c565b82529482019490820190610e9c565b96505086013592505080821115610ed257600080fd5b50610edf85828601610c8f565b9150509250929050565b600081518084526020808501945080840160005b83811015610f1957815187529582019590820190600101610efd565b509495945050505050565b602081526000610ba86020830184610ee9565b60008060408385031215610f4a57600080fd5b610f5383610b2c565b915060208301358015158114610f6857600080fd5b809150509250929050565b60008060408385031215610f8657600080fd5b610f8f83610b2c565b9150610f9d60208401610b2c565b90509250929050565b600080600080600060a08688031215610fbe57600080fd5b610fc786610b2c565b9450610fd560208701610b2c565b93506040860135925060608601359150608086013567ffffffffffffffff811115610fff57600080fd5b610e1188828901610d00565b600181811c9082168061101f57607f821691505b60208210810361103f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110d1576110d16110a9565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6000821982111561117a5761117a6110a9565b500190565b6040815260006111926040830185610ee9565b82810360208401526111a48185610ee9565b95945050505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906111d990830186610ee9565b82810360608401526111eb8186610ee9565b905082810360808401526111ff8185610bc8565b98975050505050505050565b60006020828403121561121d57600080fd5b8151610ba881610b72565b600060033d11156112415760046000803e5060005160e01c5b90565b600060443d10156112525790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561128257505050505090565b828501915081518181111561129a5750505050505090565b843d87010160208285010111156112b45750505050505090565b6112c360208286010187610c3e565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061135090830184610bc8565b97965050505050505056fea264697066735822122048baeabcd335b4b451538fdaca556a38845619bd9e68ebd583bca8ba11d4a90264736f6c634300080d0033",
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,2 +7,114 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC1155InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC1155InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "valuesLength",
"type": "uint256"
}
],
"name": "ERC1155InvalidArrayLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC1155InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC1155InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC1155InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC1155MissingApprovalForAll",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +149,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -230,3 +342,3 @@ ],

"internalType": "uint256[]",
"name": "amounts",
"name": "values",
"type": "uint256[]"

@@ -264,3 +376,3 @@ },

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -267,0 +379,0 @@ },

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +22,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +27,0 @@ ],

@@ -7,2 +7,98 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +133,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -104,3 +200,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -143,3 +239,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -162,3 +258,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -186,50 +282,2 @@ }

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -282,3 +330,3 @@ "name": "name",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -312,3 +360,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -315,0 +363,0 @@ }

@@ -7,2 +7,125 @@ {

{
"inputs": [
{
"internalType": "uint256",
"name": "increasedSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "cap",
"type": "uint256"
}
],
"name": "ERC20ExceededCap",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "cap",
"type": "uint256"
}
],
"name": "ERC20InvalidCap",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +160,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -104,3 +227,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -166,50 +289,2 @@ }

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -262,3 +337,3 @@ "name": "name",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -292,3 +367,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -295,0 +370,0 @@ }

@@ -7,2 +7,131 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "maxLoan",
"type": "uint256"
}
],
"name": "ERC3156ExceededMaxLoan",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC3156InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "ERC3156UnsupportedToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +166,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -104,3 +233,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -156,26 +285,2 @@ }

"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",

@@ -186,3 +291,3 @@ "type": "address"

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -205,3 +310,3 @@ }

{
"internalType": "contract IERC3156FlashBorrowerUpgradeable",
"internalType": "contract IERC3156FlashBorrower",
"name": "receiver",

@@ -217,3 +322,3 @@ "type": "address"

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -242,26 +347,2 @@ },

"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",

@@ -330,3 +411,3 @@ "type": "address"

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -360,3 +441,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -363,0 +444,0 @@ }

@@ -7,2 +7,108 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +143,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -130,3 +236,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -179,50 +285,2 @@ }

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -288,3 +346,3 @@ "name": "name",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -318,3 +376,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -321,0 +379,0 @@ }

@@ -7,2 +7,168 @@ {

{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "ERC2612ExpiredSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC2612InvalidSigner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -43,5 +209,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -123,3 +289,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -172,26 +338,2 @@ }

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -240,26 +382,2 @@ "name": "eip712Domain",

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -374,3 +492,3 @@ "name": "name",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -404,3 +522,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -407,0 +525,0 @@ }

@@ -7,2 +7,98 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +133,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -104,3 +200,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -153,50 +249,2 @@ }

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -249,3 +297,3 @@ "name": "name",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -279,3 +327,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -296,6 +344,6 @@ }

],
"bytecode": "0x608060405234801561001057600080fd5b50610863806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c391906106a1565b60405180910390f35b6100df6100da366004610712565b610232565b60405190151581526020016100c3565b6035545b6040519081526020016100c3565b6100df61010f36600461073c565b61024a565b604051601281526020016100c3565b6100df610131366004610712565b61026e565b6100f3610144366004610778565b6001600160a01b031660009081526033602052604090205490565b6100b6610290565b6100df610175366004610712565b61029f565b6100df610188366004610712565b61031f565b6100f361019b36600461079a565b61032d565b6060603680546101af906107cd565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107cd565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610807565b610358565b6060603780546101af906107cd565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260336020526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106949086815260200190565b60405180910390a36104f0565b600060208083528351808285015260005b818110156106ce578581018301518582016040015282016106b2565b818111156106e0576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070d57600080fd5b919050565b6000806040838503121561072557600080fd5b61072e836106f6565b946020939093013593505050565b60008060006060848603121561075157600080fd5b61075a846106f6565b9250610768602085016106f6565b9150604084013590509250925092565b60006020828403121561078a57600080fd5b610793826106f6565b9392505050565b600080604083850312156107ad57600080fd5b6107b6836106f6565b91506107c4602084016106f6565b90509250929050565b600181811c908216806107e157607f821691505b60208210810361080157634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082857634e487b7160e01b600052601160045260246000fd5b50019056fea26469706673582212201114b53ba744d7f329c32fd9dc1dffc377bd6a1902555d4eadd933c250f42e3564736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c391906106a1565b60405180910390f35b6100df6100da366004610712565b610232565b60405190151581526020016100c3565b6035545b6040519081526020016100c3565b6100df61010f36600461073c565b61024a565b604051601281526020016100c3565b6100df610131366004610712565b61026e565b6100f3610144366004610778565b6001600160a01b031660009081526033602052604090205490565b6100b6610290565b6100df610175366004610712565b61029f565b6100df610188366004610712565b61031f565b6100f361019b36600461079a565b61032d565b6060603680546101af906107cd565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107cd565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b9190610807565b610358565b6060603780546101af906107cd565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260336020526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106949086815260200190565b60405180910390a36104f0565b600060208083528351808285015260005b818110156106ce578581018301518582016040015282016106b2565b818111156106e0576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461070d57600080fd5b919050565b6000806040838503121561072557600080fd5b61072e836106f6565b946020939093013593505050565b60008060006060848603121561075157600080fd5b61075a846106f6565b9250610768602085016106f6565b9150604084013590509250925092565b60006020828403121561078a57600080fd5b610793826106f6565b9392505050565b600080604083850312156107ad57600080fd5b6107b6836106f6565b91506107c4602084016106f6565b90509250929050565b600181811c908216806107e157607f821691505b60208210810361080157634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561082857634e487b7160e01b600052601160045260246000fd5b50019056fea26469706673582212201114b53ba744d7f329c32fd9dc1dffc377bd6a1902555d4eadd933c250f42e3564736f6c634300080d0033",
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,2 +7,210 @@ {

{
"inputs": [],
"name": "CheckpointUnorderedInsertion",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "increasedSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "cap",
"type": "uint256"
}
],
"name": "ERC20ExceededSafeSupply",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",
"type": "uint256"
},
{
"internalType": "uint48",
"name": "clock",
"type": "uint48"
}
],
"name": "ERC5805FutureLookup",
"type": "error"
},
{
"inputs": [],
"name": "ERC6372InconsistentClock",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
}
],
"name": "VotesExpiredSignature",
"type": "error"
},
{
"anonymous": false,

@@ -69,3 +277,3 @@ "inputs": [

"internalType": "uint256",
"name": "previousBalance",
"name": "previousVotes",
"type": "uint256"

@@ -76,3 +284,3 @@ },

"internalType": "uint256",
"name": "newBalance",
"name": "newVotes",
"type": "uint256"

@@ -95,5 +303,5 @@ }

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -143,15 +351,2 @@ ],

{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -189,3 +384,3 @@ {

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -242,13 +437,13 @@ }

{
"internalType": "uint32",
"name": "fromBlock",
"type": "uint32"
"internalType": "uint48",
"name": "_key",
"type": "uint48"
},
{
"internalType": "uint224",
"name": "votes",
"type": "uint224"
"internalType": "uint208",
"name": "_value",
"type": "uint208"
}
],
"internalType": "struct ERC20VotesUpgradeable.Checkpoint",
"internalType": "struct Checkpoints.Checkpoint208",
"name": "",

@@ -291,26 +486,2 @@ "type": "tuple"

"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "delegatee",

@@ -488,26 +659,2 @@ "type": "address"

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -564,45 +711,2 @@ "name": "name",

{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "permit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -642,3 +746,3 @@ "name": "symbol",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -672,3 +776,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -675,0 +779,0 @@ }

@@ -7,2 +7,147 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "ERC20InvalidUnderlying",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"anonymous": false,

@@ -37,5 +182,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -104,3 +249,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -156,26 +301,2 @@ }

"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",

@@ -186,3 +307,3 @@ "type": "address"

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -203,26 +324,2 @@ }

{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -275,3 +372,3 @@ "name": "name",

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -305,3 +402,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -326,3 +423,3 @@ }

{
"internalType": "contract IERC20Upgradeable",
"internalType": "contract IERC20",
"name": "",

@@ -344,3 +441,3 @@ "type": "address"

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -347,0 +444,0 @@ }

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +22,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -39,2 +49,15 @@ ],

"type": "function"
},
{
"inputs": [],
"name": "trustedForwarder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}

@@ -41,0 +64,0 @@ ],

@@ -7,2 +7,76 @@ {

{
"inputs": [
{
"internalType": "uint256",
"name": "numerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "denominator",
"type": "uint256"
}
],
"name": "ERC2981InvalidDefaultRoyalty",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC2981InvalidDefaultRoyaltyReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "numerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "denominator",
"type": "uint256"
}
],
"name": "ERC2981InvalidTokenRoyalty",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC2981InvalidTokenRoyaltyReceiver",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +86,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +91,0 @@ ],

@@ -7,2 +7,225 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "assets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"name": "ERC4626ExceededMaxDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "shares",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"name": "ERC4626ExceededMaxMint",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "shares",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"name": "ERC4626ExceededMaxRedeem",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "assets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"name": "ERC4626ExceededMaxWithdraw",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "MathOverflowedMulDiv",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"anonymous": false,

@@ -68,5 +291,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -172,3 +395,3 @@ ],

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -274,27 +497,3 @@ }

{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "assets",

@@ -324,27 +523,3 @@ "type": "uint256"

"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -611,3 +786,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -641,3 +816,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -644,0 +819,0 @@ }

@@ -7,2 +7,115 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -62,5 +175,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -67,0 +180,0 @@ ],

@@ -7,2 +7,146 @@ {

{
"inputs": [
{
"internalType": "uint256",
"name": "batchSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxBatch",
"type": "uint256"
}
],
"name": "ERC721ExceededMaxBatchMint",
"type": "error"
},
{
"inputs": [],
"name": "ERC721ForbiddenBatchBurn",
"type": "error"
},
{
"inputs": [],
"name": "ERC721ForbiddenBatchMint",
"type": "error"
},
{
"inputs": [],
"name": "ERC721ForbiddenMint",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -93,5 +237,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -98,0 +242,0 @@ ],

@@ -7,2 +7,136 @@ {

{
"inputs": [],
"name": "ERC721EnumerableForbiddenBatchMint",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "ERC721OutOfBoundsIndex",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -62,5 +196,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -67,0 +201,0 @@ ],

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +22,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -56,6 +66,6 @@ ],

],
"bytecode": "0x608060405234801561001057600080fd5b506101af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004e61003e36600461009d565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200160405180910390f35b80356001600160a01b038116811461008257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156100b357600080fd5b6100bc8561006b565b93506100ca6020860161006b565b925060408501359150606085013567ffffffffffffffff808211156100ee57600080fd5b818701915087601f83011261010257600080fd5b81358181111561011457610114610087565b604051601f8201601f19908116603f0116810190838211818310171561013c5761013c610087565b816040528281528a602084870101111561015557600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea26469706673582212208118d8b307acc2428e77a3401a27f394c353bf27e3f4f5544333992986a65dcd64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004e61003e36600461009d565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200160405180910390f35b80356001600160a01b038116811461008257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156100b357600080fd5b6100bc8561006b565b93506100ca6020860161006b565b925060408501359150606085013567ffffffffffffffff808211156100ee57600080fd5b818701915087601f83011261010257600080fd5b81358181111561011457610114610087565b604051601f8201601f19908116603f0116810190838211818310171561013c5761013c610087565b816040528281528a602084870101111561015557600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea26469706673582212208118d8b307acc2428e77a3401a27f394c353bf27e3f4f5544333992986a65dcd64736f6c634300080d0033",
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,2 +7,125 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -62,5 +185,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -67,0 +190,0 @@ ],

@@ -7,2 +7,179 @@ {

{
"inputs": [
{
"internalType": "uint256",
"name": "numerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "denominator",
"type": "uint256"
}
],
"name": "ERC2981InvalidDefaultRoyalty",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC2981InvalidDefaultRoyaltyReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "numerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "denominator",
"type": "uint256"
}
],
"name": "ERC2981InvalidTokenRoyalty",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC2981InvalidTokenRoyaltyReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -62,5 +239,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -67,0 +244,0 @@ ],

@@ -7,2 +7,115 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -62,5 +175,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -352,6 +465,6 @@ ],

],
"bytecode": "0x608060405234801561001057600080fd5b506110fb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cf4565b61012461011f366004610d07565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d3c565b610333565b005b61014f61015f366004610d66565b61044d565b61014f610172366004610d66565b61047e565b610124610185366004610d07565b610499565b61019d610198366004610da2565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610dbd565b61058e565b61014f6101d4366004610e0f565b61059d565b6101046101e7366004610d07565b6105d5565b6100e76101fa366004610eeb565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606065805461028990610f1e565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f1e565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152606960205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f58565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152606760205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526068602052604090205490565b60606066805461028990610f1e565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f58565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610fa5565b6040516020818303038152906040525b9392505050565b6000818152606760205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fd4565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fd4565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611019565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df9565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad490339089908890889060040161106b565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a8565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611019565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b838111156105cf5750506000910152565b60008151808452610ce0816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc8565b600060208284031215610d1957600080fd5b5035919050565b80356001600160a01b0381168114610d3757600080fd5b919050565b60008060408385031215610d4f57600080fd5b610d5883610d20565b946020939093013593505050565b600080600060608486031215610d7b57600080fd5b610d8484610d20565b9250610d9260208501610d20565b9150604084013590509250925092565b600060208284031215610db457600080fd5b61064282610d20565b60008060408385031215610dd057600080fd5b610dd983610d20565b915060208301358015158114610dee57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e2557600080fd5b610e2e85610d20565b9350610e3c60208601610d20565b925060408501359150606085013567ffffffffffffffff80821115610e6057600080fd5b818701915087601f830112610e7457600080fd5b813581811115610e8657610e86610df9565b604051601f8201601f19908116603f01168101908382118183101715610eae57610eae610df9565b816040528281528a6020848701011115610ec757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610efe57600080fd5b610f0783610d20565b9150610f1560208401610d20565b90509250929050565b600181811c90821680610f3257607f821691505b602082108103610f5257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610fb7818460208801610c9c565b835190830190610fcb818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109e90830184610cc8565b9695505050505050565b6000602082840312156110ba57600080fd5b815161064281610c6956fea2646970667358221220f61e28cf38e2205efa30e3dfada16da5aefe80ca2a8d1c0cdb13ccb35670677864736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cf4565b61012461011f366004610d07565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d3c565b610333565b005b61014f61015f366004610d66565b61044d565b61014f610172366004610d66565b61047e565b610124610185366004610d07565b610499565b61019d610198366004610da2565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610dbd565b61058e565b61014f6101d4366004610e0f565b61059d565b6101046101e7366004610d07565b6105d5565b6100e76101fa366004610eeb565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606065805461028990610f1e565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f1e565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152606960205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f58565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152606760205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526068602052604090205490565b60606066805461028990610f1e565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f58565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610fa5565b6040516020818303038152906040525b9392505050565b6000818152606760205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fd4565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fd4565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611019565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df9565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad490339089908890889060040161106b565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a8565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611019565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b838111156105cf5750506000910152565b60008151808452610ce0816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc8565b600060208284031215610d1957600080fd5b5035919050565b80356001600160a01b0381168114610d3757600080fd5b919050565b60008060408385031215610d4f57600080fd5b610d5883610d20565b946020939093013593505050565b600080600060608486031215610d7b57600080fd5b610d8484610d20565b9250610d9260208501610d20565b9150604084013590509250925092565b600060208284031215610db457600080fd5b61064282610d20565b60008060408385031215610dd057600080fd5b610dd983610d20565b915060208301358015158114610dee57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e2557600080fd5b610e2e85610d20565b9350610e3c60208601610d20565b925060408501359150606085013567ffffffffffffffff80821115610e6057600080fd5b818701915087601f830112610e7457600080fd5b813581811115610e8657610e86610df9565b604051601f8201601f19908116603f01168101908382118183101715610eae57610eae610df9565b816040528281528a6020848701011115610ec757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610efe57600080fd5b610f0783610d20565b9150610f1560208401610d20565b90509250929050565b600181811c90821680610f3257607f821691505b602082108103610f5257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610fb7818460208801610c9c565b835190830190610fcb818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109e90830184610cc8565b9695505050505050565b6000602082840312156110ba57600080fd5b815161064281610c6956fea2646970667358221220f61e28cf38e2205efa30e3dfada16da5aefe80ca2a8d1c0cdb13ccb35670677864736f6c634300080d0033",
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,2 +7,115 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -81,5 +194,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -86,0 +199,0 @@ ],

@@ -7,2 +7,211 @@ {

{
"inputs": [],
"name": "CheckpointUnorderedInsertion",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",
"type": "uint256"
},
{
"internalType": "uint48",
"name": "clock",
"type": "uint48"
}
],
"name": "ERC5805FutureLookup",
"type": "error"
},
{
"inputs": [],
"name": "ERC6372InconsistentClock",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
}
],
"name": "VotesExpiredSignature",
"type": "error"
},
{
"anonymous": false,

@@ -94,3 +303,3 @@ "inputs": [

"internalType": "uint256",
"name": "previousBalance",
"name": "previousVotes",
"type": "uint256"

@@ -101,3 +310,3 @@ },

"internalType": "uint256",
"name": "newBalance",
"name": "newVotes",
"type": "uint256"

@@ -120,5 +329,5 @@ }

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -168,15 +377,2 @@ ],

{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -183,0 +379,0 @@ {

@@ -7,2 +7,126 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "ERC721UnsupportedToken",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -62,5 +186,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -414,3 +538,3 @@ ],

{
"internalType": "contract IERC721Upgradeable",
"internalType": "contract IERC721",
"name": "",

@@ -417,0 +541,0 @@ "type": "address"

@@ -8,6 +8,235 @@ {

"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +252,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -123,2 +352,21 @@ ],

{
"indexed": false,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "etaSeconds",
"type": "uint256"
}
],
"name": "ProposalQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,

@@ -323,15 +571,10 @@ "internalType": "address",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -426,2 +669,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -437,15 +685,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -682,3 +920,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -818,2 +1075,40 @@ },

],
"name": "proposalEta",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "proposalProposer",

@@ -928,3 +1223,37 @@ "outputs": [

{
"internalType": "address[]",
"name": "targets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
},
{
"internalType": "bytes32",
"name": "descriptionHash",
"type": "bytes32"
}
],
"name": "queue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",

@@ -979,3 +1308,3 @@ "type": "uint256"

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -982,0 +1311,0 @@ "type": "uint8"

@@ -8,6 +8,235 @@ {

"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +252,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -161,2 +390,21 @@ ],

{
"indexed": false,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "etaSeconds",
"type": "uint256"
}
],
"name": "ProposalQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,

@@ -361,15 +609,10 @@ "internalType": "address",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -464,2 +707,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -475,15 +723,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -708,5 +946,5 @@ ],

{
"internalType": "uint64",
"internalType": "uint48",
"name": "",
"type": "uint64"
"type": "uint48"
}

@@ -734,3 +972,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -870,2 +1127,40 @@ },

],
"name": "proposalEta",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "proposalProposer",

@@ -951,3 +1246,37 @@ "outputs": [

{
"internalType": "address[]",
"name": "targets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
},
{
"internalType": "bytes32",
"name": "descriptionHash",
"type": "bytes32"
}
],
"name": "queue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",

@@ -994,5 +1323,5 @@ "type": "uint256"

{
"internalType": "uint64",
"internalType": "uint48",
"name": "newVoteExtension",
"type": "uint64"
"type": "uint48"
}

@@ -1016,3 +1345,3 @@ ],

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -1019,0 +1348,0 @@ "type": "uint8"

@@ -8,6 +8,235 @@ {

"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +252,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -125,2 +354,21 @@ ],

"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "etaSeconds",
"type": "uint256"
}
],
"name": "ProposalQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldProposalThreshold",

@@ -380,15 +628,10 @@ "type": "uint256"

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -483,2 +726,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -494,15 +742,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -739,3 +977,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -875,2 +1132,40 @@ },

],
"name": "proposalEta",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "proposalProposer",

@@ -956,3 +1251,37 @@ "outputs": [

{
"internalType": "address[]",
"name": "targets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
},
{
"internalType": "bytes32",
"name": "descriptionHash",
"type": "bytes32"
}
],
"name": "queue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",

@@ -1012,5 +1341,5 @@ "type": "uint256"

{
"internalType": "uint256",
"internalType": "uint48",
"name": "newVotingDelay",
"type": "uint256"
"type": "uint48"
}

@@ -1026,5 +1355,5 @@ ],

{
"internalType": "uint256",
"internalType": "uint32",
"name": "newVotingPeriod",
"type": "uint256"
"type": "uint32"
}

@@ -1048,3 +1377,3 @@ ],

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -1051,0 +1380,0 @@ "type": "uint8"

@@ -7,7 +7,247 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +263,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -131,3 +371,3 @@ ],

"internalType": "uint256",
"name": "eta",
"name": "etaSeconds",
"type": "uint256"

@@ -368,15 +608,10 @@ }

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -471,2 +706,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -482,15 +722,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -727,3 +957,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -878,2 +1127,21 @@ },

"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",

@@ -1047,3 +1315,3 @@ "type": "uint256"

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -1091,3 +1359,3 @@ "type": "uint8"

{
"internalType": "contract ICompoundTimelockUpgradeable",
"internalType": "contract ICompoundTimelock",
"name": "newTimelock",

@@ -1094,0 +1362,0 @@ "type": "address"

@@ -8,6 +8,235 @@ {

"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +252,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -131,3 +360,3 @@ ],

"internalType": "uint256",
"name": "eta",
"name": "etaSeconds",
"type": "uint256"

@@ -361,15 +590,10 @@ }

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -464,2 +688,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -475,15 +704,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -720,3 +939,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -871,2 +1109,21 @@ },

"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",

@@ -1040,3 +1297,3 @@ "type": "uint256"

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -1043,0 +1300,0 @@ "type": "uint8"

@@ -8,6 +8,235 @@ {

"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +252,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -123,2 +352,21 @@ ],

{
"indexed": false,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "etaSeconds",
"type": "uint256"
}
],
"name": "ProposalQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,

@@ -323,15 +571,10 @@ "internalType": "address",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -426,2 +669,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -437,15 +685,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -682,3 +920,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -818,2 +1075,40 @@ },

],
"name": "proposalEta",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "proposalProposer",

@@ -899,3 +1194,37 @@ "outputs": [

{
"internalType": "address[]",
"name": "targets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
},
{
"internalType": "bytes32",
"name": "descriptionHash",
"type": "bytes32"
}
],
"name": "queue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",

@@ -950,3 +1279,3 @@ "type": "uint256"

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -953,0 +1282,0 @@ "type": "uint8"

@@ -8,6 +8,256 @@ {

"inputs": [],
"name": "Empty",
"name": "CheckpointUnorderedInsertion",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "quorumNumerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "quorumDenominator",
"type": "uint256"
}
],
"name": "GovernorInvalidQuorumFraction",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +273,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -125,2 +375,21 @@ ],

"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "etaSeconds",
"type": "uint256"
}
],
"name": "ProposalQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldQuorumNumerator",

@@ -342,15 +611,10 @@ "type": "uint256"

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -445,2 +709,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -456,15 +725,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -701,3 +960,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -837,2 +1115,40 @@ },

],
"name": "proposalEta",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "proposalProposer",

@@ -918,3 +1234,37 @@ "outputs": [

{
"internalType": "address[]",
"name": "targets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
},
{
"internalType": "bytes32",
"name": "descriptionHash",
"type": "bytes32"
}
],
"name": "queue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",

@@ -1014,3 +1364,3 @@ "type": "uint256"

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -1047,3 +1397,3 @@ "type": "uint8"

{
"internalType": "contract IERC5805Upgradeable",
"internalType": "contract IERC5805",
"name": "",

@@ -1050,0 +1400,0 @@ "type": "address"

@@ -8,6 +8,235 @@ {

"inputs": [],
"name": "Empty",
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorAlreadyCastVote",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorAlreadyQueuedProposal",
"type": "error"
},
{
"inputs": [],
"name": "GovernorDisabledDeposit",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "uint256",
"name": "votes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
}
],
"name": "GovernorInsufficientProposerVotes",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldatas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "GovernorInvalidProposalLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "GovernorInvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "votingPeriod",
"type": "uint256"
}
],
"name": "GovernorInvalidVotingPeriod",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNotQueuedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyExecutor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "GovernorOnlyProposer",
"type": "error"
},
{
"inputs": [],
"name": "GovernorQueueNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
}
],
"name": "GovernorRestrictedProposer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum IGovernor.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,

@@ -23,5 +252,5 @@ "inputs": [],

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -123,2 +352,21 @@ ],

{
"indexed": false,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "etaSeconds",
"type": "uint256"
}
],
"name": "ProposalQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,

@@ -323,15 +571,10 @@ "internalType": "address",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -426,2 +669,7 @@ ],

{
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"internalType": "string",

@@ -437,15 +685,5 @@ "name": "reason",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -682,3 +920,22 @@ ],

"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"

@@ -818,2 +1075,40 @@ },

],
"name": "proposalEta",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposalNeedsQueuing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "proposalProposer",

@@ -899,3 +1194,37 @@ "outputs": [

{
"internalType": "address[]",
"name": "targets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "calldatas",
"type": "bytes[]"
},
{
"internalType": "bytes32",
"name": "descriptionHash",
"type": "bytes32"
}
],
"name": "queue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",

@@ -950,3 +1279,3 @@ "type": "uint256"

{
"internalType": "enum IGovernorUpgradeable.ProposalState",
"internalType": "enum IGovernor.ProposalState",
"name": "",

@@ -983,3 +1312,3 @@ "type": "uint8"

{
"internalType": "contract IERC5805Upgradeable",
"internalType": "contract IERC5805",
"name": "",

@@ -986,0 +1315,0 @@ "type": "address"

@@ -7,2 +7,12 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +22,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +27,0 @@ ],

@@ -7,2 +7,28 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +38,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +43,0 @@ ],

@@ -7,2 +7,34 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +44,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +49,0 @@ ],

@@ -7,2 +7,34 @@ {

{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,

@@ -12,5 +44,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -17,0 +49,0 @@ ],

{
"_format": "hh-sol-artifact-1",
"contractName": "PausableUpgradeable",
"sourceName": "contracts/security/PausableUpgradeable.sol",
"sourceName": "contracts/utils/PausableUpgradeable.sol",
"abi": [
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"anonymous": false,

@@ -11,5 +31,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -16,0 +36,0 @@ ],

{
"_format": "hh-sol-artifact-1",
"contractName": "ReentrancyGuardUpgradeable",
"sourceName": "contracts/security/ReentrancyGuardUpgradeable.sol",
"sourceName": "contracts/utils/ReentrancyGuardUpgradeable.sol",
"abi": [
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"anonymous": false,

@@ -11,5 +26,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -16,0 +31,0 @@ ],

@@ -7,2 +7,113 @@ {

{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "delay",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minDelay",
"type": "uint256"
}
],
"name": "TimelockInsufficientDelay",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "targets",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "payloads",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "values",
"type": "uint256"
}
],
"name": "TimelockInvalidOperationLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "TimelockUnauthorizedCaller",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "predecessorId",
"type": "bytes32"
}
],
"name": "TimelockUnexecutedPredecessor",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "operationId",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "TimelockUnexpectedOperationState",
"type": "error"
},
{
"anonymous": false,

@@ -130,5 +241,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -286,15 +397,2 @@ ],

{
"inputs": [],
"name": "TIMELOCK_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -395,2 +493,21 @@ {

"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "getOperationState",
"outputs": [
{
"internalType": "enum TimelockControllerUpgradeable.OperationState",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",

@@ -747,3 +864,3 @@ "type": "bytes32"

"internalType": "address",
"name": "account",
"name": "callerConfirmation",
"type": "address"

@@ -888,6 +1005,6 @@ }

],
"bytecode": "0x608060405234801561001057600080fd5b50611e4c806100206000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610581578063e38335e5146105a1578063f23a6e61146105b4578063f27a0c92146105e057600080fd5b8063bc197c8114610508578063c4d252f514610534578063d45c44351461055457600080fd5b806391d14854116100c657806391d148541461047f578063a217fddf1461049f578063b08e51c0146104b4578063b1c5f427146104e857600080fd5b80638065657f1461040b5780638f2a0bb01461042b5780638f61f4f51461044b57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038b57806336568abe146103ab578063584b153e146103cb57806364d62353146103eb57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036b57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611447565b6105f5565b005b3480156101f557600080fd5b506102096102043660046114bb565b6106cb565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a23660046114e5565b6106f6565b3480156102b357600080fd5b506102096102c2366004611550565b6107ab565b3480156102d357600080fd5b506102f26102e236600461161e565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b50610252610326366004611550565b60009081526065602052604090206001015490565b34801561034757600080fd5b50610209610356366004611550565b60009081526097602052604090205460011490565b34801561037757600080fd5b506101e7610386366004611685565b6107d1565b34801561039757600080fd5b506102096103a6366004611550565b6107fb565b3480156103b757600080fd5b506101e76103c6366004611685565b610814565b3480156103d757600080fd5b506102096103e6366004611550565b610897565b3480156103f757600080fd5b506101e7610406366004611550565b6108ae565b34801561041757600080fd5b506102526104263660046114e5565b610952565b34801561043757600080fd5b506101e76104463660046116f5565b610991565b34801561045757600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048b57600080fd5b5061020961049a366004611685565b610b24565b3480156104ab57600080fd5b50610252600081565b3480156104c057600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f457600080fd5b506102526105033660046117a6565b610b4f565b34801561051457600080fd5b506102f26105233660046118cd565b63bc197c8160e01b95945050505050565b34801561054057600080fd5b506101e761054f366004611550565b610b94565b34801561056057600080fd5b5061025261056f366004611550565b60009081526097602052604090205490565b34801561058d57600080fd5b506101e761059c366004611685565b610c69565b6101e76105af3660046117a6565b610c8e565b3480156105c057600080fd5b506102f26105cf366004611976565b63f23a6e6160e01b95945050505050565b3480156105ec57600080fd5b50609854610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161061f81610e18565b600061062f898989898989610952565b905061063b8184610e25565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067796959493929190611a03565b60405180910390a383156106c057807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106b791815260200190565b60405180910390a25b505050505050505050565b60006001600160e01b03198216630271189760e51b14806106f057506106f082610f14565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610722816000610b24565b610730576107308133610f49565b6000610740888888888888610952565b905061074c8185610fa2565b6107588888888861103d565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516107909493929190611a40565b60405180910390a36107a181611110565b5050505050505050565b6000818152609760205260408120546001811180156107ca5750428111155b9392505050565b6000828152606560205260409020600101546107ec81610e18565b6107f68383611149565b505050565b60008181526097602052604081205481905b1192915050565b6001600160a01b03811633146108895760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61089382826111cf565b5050565b60008181526097602052604081205460019061080d565b3330146109115760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610880565b60985460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1609855565b600086868686868660405160200161096f96959493929190611a03565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109bb81610e18565b8887146109da5760405162461bcd60e51b815260040161088090611a72565b8885146109f95760405162461bcd60e51b815260040161088090611a72565b6000610a0b8b8b8b8b8b8b8b8b610b4f565b9050610a178184610e25565b60005b8a811015610ad55780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a5757610a57611ab5565b9050602002016020810190610a6c9190611acb565b8d8d86818110610a7e57610a7e611ab5565b905060200201358c8c87818110610a9757610a97611ab5565b9050602002810190610aa99190611ae6565b8c8b604051610abd96959493929190611a03565b60405180910390a3610ace81611b42565b9050610a1a565b508315610b1757807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b0e91815260200190565b60405180910390a25b5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610b70989796959493929190611beb565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610bbe81610e18565b610bc782610897565b610c2d5760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610880565b6000828152609760205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260656020526040902060010154610c8481610e18565b6107f683836111cf565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cba816000610b24565b610cc857610cc88133610f49565b878614610ce75760405162461bcd60e51b815260040161088090611a72565b878414610d065760405162461bcd60e51b815260040161088090611a72565b6000610d188a8a8a8a8a8a8a8a610b4f565b9050610d248185610fa2565b60005b89811015610e025760008b8b83818110610d4357610d43611ab5565b9050602002016020810190610d589190611acb565b905060008a8a84818110610d6e57610d6e611ab5565b9050602002013590503660008a8a86818110610d8c57610d8c611ab5565b9050602002810190610d9e9190611ae6565b91509150610dae8484848461103d565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610de59493929190611a40565b60405180910390a35050505080610dfb90611b42565b9050610d27565b50610e0c81611110565b50505050505050505050565b610e228133610f49565b50565b610e2e826107fb565b15610e935760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610880565b609854811015610ef45760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610880565b610efe8142611c96565b6000928352609760205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106f057506301ffc9a760e01b6001600160e01b03198316146106f0565b610f538282610b24565b61089357610f6081611236565b610f6b836020611248565b604051602001610f7c929190611cde565b60408051601f198184030181529082905262461bcd60e51b825261088091600401611d53565b610fab826107ab565b610fc75760405162461bcd60e51b815260040161088090611d86565b801580610fe257506000818152609760205260409020546001145b6108935760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610880565b6000846001600160a01b031684848460405161105a929190611dd0565b60006040518083038185875af1925050503d8060008114611097576040519150601f19603f3d011682016040523d82523d6000602084013e61109c565b606091505b50509050806111095760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610880565b5050505050565b611119816107ab565b6111355760405162461bcd60e51b815260040161088090611d86565b600090815260976020526040902060019055565b6111538282610b24565b6108935760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561118b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111d98282610b24565b156108935760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106f06001600160a01b03831660145b60606000611257836002611de0565b611262906002611c96565b6001600160401b0381111561127957611279611569565b6040519080825280601f01601f1916602001820160405280156112a3576020820181803683370190505b509050600360fc1b816000815181106112be576112be611ab5565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106112ed576112ed611ab5565b60200101906001600160f81b031916908160001a9053506000611311846002611de0565b61131c906001611c96565b90505b6001811115611394576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061135057611350611ab5565b1a60f81b82828151811061136657611366611ab5565b60200101906001600160f81b031916908160001a90535060049490941c9361138d81611dff565b905061131f565b5083156107ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610880565b80356001600160a01b03811681146113fa57600080fd5b919050565b60008083601f84011261141157600080fd5b5081356001600160401b0381111561142857600080fd5b60208301915083602082850101111561144057600080fd5b9250929050565b600080600080600080600060c0888a03121561146257600080fd5b61146b886113e3565b96506020880135955060408801356001600160401b0381111561148d57600080fd5b6114998a828b016113ff565b989b979a50986060810135976080820135975060a09091013595509350505050565b6000602082840312156114cd57600080fd5b81356001600160e01b0319811681146107ca57600080fd5b60008060008060008060a087890312156114fe57600080fd5b611507876113e3565b95506020870135945060408701356001600160401b0381111561152957600080fd5b61153589828a016113ff565b979a9699509760608101359660809091013595509350505050565b60006020828403121561156257600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156115a7576115a7611569565b604052919050565b600082601f8301126115c057600080fd5b81356001600160401b038111156115d9576115d9611569565b6115ec601f8201601f191660200161157f565b81815284602083860101111561160157600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561163457600080fd5b61163d856113e3565b935061164b602086016113e3565b92506040850135915060608501356001600160401b0381111561166d57600080fd5b611679878288016115af565b91505092959194509250565b6000806040838503121561169857600080fd5b823591506116a8602084016113e3565b90509250929050565b60008083601f8401126116c357600080fd5b5081356001600160401b038111156116da57600080fd5b6020830191508360208260051b850101111561144057600080fd5b600080600080600080600080600060c08a8c03121561171357600080fd5b89356001600160401b038082111561172a57600080fd5b6117368d838e016116b1565b909b50995060208c013591508082111561174f57600080fd5b61175b8d838e016116b1565b909950975060408c013591508082111561177457600080fd5b506117818c828d016116b1565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b0312156117c257600080fd5b88356001600160401b03808211156117d957600080fd5b6117e58c838d016116b1565b909a50985060208b01359150808211156117fe57600080fd5b61180a8c838d016116b1565b909850965060408b013591508082111561182357600080fd5b506118308b828c016116b1565b999c989b509699959896976060870135966080013595509350505050565b600082601f83011261185f57600080fd5b813560206001600160401b0382111561187a5761187a611569565b8160051b61188982820161157f565b92835284810182019282810190878511156118a357600080fd5b83870192505b848310156118c2578235825291830191908301906118a9565b979650505050505050565b600080600080600060a086880312156118e557600080fd5b6118ee866113e3565b94506118fc602087016113e3565b935060408601356001600160401b038082111561191857600080fd5b61192489838a0161184e565b9450606088013591508082111561193a57600080fd5b61194689838a0161184e565b9350608088013591508082111561195c57600080fd5b50611969888289016115af565b9150509295509295909350565b600080600080600060a0868803121561198e57600080fd5b611997866113e3565b94506119a5602087016113e3565b9350604086013592506060860135915060808601356001600160401b038111156119ce57600080fd5b611969888289016115af565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201526000611a2b60a0830186886119da565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201526000611a686060830184866119da565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611add57600080fd5b6107ca826113e3565b6000808335601e19843603018112611afd57600080fd5b8301803591506001600160401b03821115611b1757600080fd5b60200191503681900382131561144057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b5457611b54611b2c565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611bde5782840389528135601e19883603018112611b9657600080fd5b870180356001600160401b03811115611bae57600080fd5b803603891315611bbd57600080fd5b611bca86828985016119da565b9a87019a9550505090840190600101611b75565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611c2c576001600160a01b03611c17846113e3565b16825260209283019290910190600101611bfe565b5083810360208501528881526001600160fb1b03891115611c4c57600080fd5b8860051b9150818a602083013781810191505060208101600081526020848303016040850152611c7d81888a611b5b565b6060850196909652505050608001529695505050505050565b60008219821115611ca957611ca9611b2c565b500190565b60005b83811015611cc9578181015183820152602001611cb1565b83811115611cd8576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611d16816017850160208801611cae565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611d47816028840160208801611cae565b01602801949350505050565b6020815260008251806020840152611d72816040850160208701611cae565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6000816000190483118215151615611dfa57611dfa611b2c565b500290565b600081611e0e57611e0e611b2c565b50600019019056fea26469706673582212206bced80116cf61341e6e1c0849b397290fa79bfaf89786bc9e3b4d13ea869a2464736f6c634300080d0033",
"deployedBytecode": "0x6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610581578063e38335e5146105a1578063f23a6e61146105b4578063f27a0c92146105e057600080fd5b8063bc197c8114610508578063c4d252f514610534578063d45c44351461055457600080fd5b806391d14854116100c657806391d148541461047f578063a217fddf1461049f578063b08e51c0146104b4578063b1c5f427146104e857600080fd5b80638065657f1461040b5780638f2a0bb01461042b5780638f61f4f51461044b57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038b57806336568abe146103ab578063584b153e146103cb57806364d62353146103eb57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036b57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611447565b6105f5565b005b3480156101f557600080fd5b506102096102043660046114bb565b6106cb565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a23660046114e5565b6106f6565b3480156102b357600080fd5b506102096102c2366004611550565b6107ab565b3480156102d357600080fd5b506102f26102e236600461161e565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b50610252610326366004611550565b60009081526065602052604090206001015490565b34801561034757600080fd5b50610209610356366004611550565b60009081526097602052604090205460011490565b34801561037757600080fd5b506101e7610386366004611685565b6107d1565b34801561039757600080fd5b506102096103a6366004611550565b6107fb565b3480156103b757600080fd5b506101e76103c6366004611685565b610814565b3480156103d757600080fd5b506102096103e6366004611550565b610897565b3480156103f757600080fd5b506101e7610406366004611550565b6108ae565b34801561041757600080fd5b506102526104263660046114e5565b610952565b34801561043757600080fd5b506101e76104463660046116f5565b610991565b34801561045757600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048b57600080fd5b5061020961049a366004611685565b610b24565b3480156104ab57600080fd5b50610252600081565b3480156104c057600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f457600080fd5b506102526105033660046117a6565b610b4f565b34801561051457600080fd5b506102f26105233660046118cd565b63bc197c8160e01b95945050505050565b34801561054057600080fd5b506101e761054f366004611550565b610b94565b34801561056057600080fd5b5061025261056f366004611550565b60009081526097602052604090205490565b34801561058d57600080fd5b506101e761059c366004611685565b610c69565b6101e76105af3660046117a6565b610c8e565b3480156105c057600080fd5b506102f26105cf366004611976565b63f23a6e6160e01b95945050505050565b3480156105ec57600080fd5b50609854610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161061f81610e18565b600061062f898989898989610952565b905061063b8184610e25565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067796959493929190611a03565b60405180910390a383156106c057807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106b791815260200190565b60405180910390a25b505050505050505050565b60006001600160e01b03198216630271189760e51b14806106f057506106f082610f14565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610722816000610b24565b610730576107308133610f49565b6000610740888888888888610952565b905061074c8185610fa2565b6107588888888861103d565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516107909493929190611a40565b60405180910390a36107a181611110565b5050505050505050565b6000818152609760205260408120546001811180156107ca5750428111155b9392505050565b6000828152606560205260409020600101546107ec81610e18565b6107f68383611149565b505050565b60008181526097602052604081205481905b1192915050565b6001600160a01b03811633146108895760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61089382826111cf565b5050565b60008181526097602052604081205460019061080d565b3330146109115760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610880565b60985460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1609855565b600086868686868660405160200161096f96959493929190611a03565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109bb81610e18565b8887146109da5760405162461bcd60e51b815260040161088090611a72565b8885146109f95760405162461bcd60e51b815260040161088090611a72565b6000610a0b8b8b8b8b8b8b8b8b610b4f565b9050610a178184610e25565b60005b8a811015610ad55780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a5757610a57611ab5565b9050602002016020810190610a6c9190611acb565b8d8d86818110610a7e57610a7e611ab5565b905060200201358c8c87818110610a9757610a97611ab5565b9050602002810190610aa99190611ae6565b8c8b604051610abd96959493929190611a03565b60405180910390a3610ace81611b42565b9050610a1a565b508315610b1757807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b0e91815260200190565b60405180910390a25b5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610b70989796959493929190611beb565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610bbe81610e18565b610bc782610897565b610c2d5760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610880565b6000828152609760205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260656020526040902060010154610c8481610e18565b6107f683836111cf565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cba816000610b24565b610cc857610cc88133610f49565b878614610ce75760405162461bcd60e51b815260040161088090611a72565b878414610d065760405162461bcd60e51b815260040161088090611a72565b6000610d188a8a8a8a8a8a8a8a610b4f565b9050610d248185610fa2565b60005b89811015610e025760008b8b83818110610d4357610d43611ab5565b9050602002016020810190610d589190611acb565b905060008a8a84818110610d6e57610d6e611ab5565b9050602002013590503660008a8a86818110610d8c57610d8c611ab5565b9050602002810190610d9e9190611ae6565b91509150610dae8484848461103d565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610de59493929190611a40565b60405180910390a35050505080610dfb90611b42565b9050610d27565b50610e0c81611110565b50505050505050505050565b610e228133610f49565b50565b610e2e826107fb565b15610e935760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610880565b609854811015610ef45760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610880565b610efe8142611c96565b6000928352609760205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106f057506301ffc9a760e01b6001600160e01b03198316146106f0565b610f538282610b24565b61089357610f6081611236565b610f6b836020611248565b604051602001610f7c929190611cde565b60408051601f198184030181529082905262461bcd60e51b825261088091600401611d53565b610fab826107ab565b610fc75760405162461bcd60e51b815260040161088090611d86565b801580610fe257506000818152609760205260409020546001145b6108935760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610880565b6000846001600160a01b031684848460405161105a929190611dd0565b60006040518083038185875af1925050503d8060008114611097576040519150601f19603f3d011682016040523d82523d6000602084013e61109c565b606091505b50509050806111095760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610880565b5050505050565b611119816107ab565b6111355760405162461bcd60e51b815260040161088090611d86565b600090815260976020526040902060019055565b6111538282610b24565b6108935760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561118b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111d98282610b24565b156108935760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106f06001600160a01b03831660145b60606000611257836002611de0565b611262906002611c96565b6001600160401b0381111561127957611279611569565b6040519080825280601f01601f1916602001820160405280156112a3576020820181803683370190505b509050600360fc1b816000815181106112be576112be611ab5565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106112ed576112ed611ab5565b60200101906001600160f81b031916908160001a9053506000611311846002611de0565b61131c906001611c96565b90505b6001811115611394576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061135057611350611ab5565b1a60f81b82828151811061136657611366611ab5565b60200101906001600160f81b031916908160001a90535060049490941c9361138d81611dff565b905061131f565b5083156107ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610880565b80356001600160a01b03811681146113fa57600080fd5b919050565b60008083601f84011261141157600080fd5b5081356001600160401b0381111561142857600080fd5b60208301915083602082850101111561144057600080fd5b9250929050565b600080600080600080600060c0888a03121561146257600080fd5b61146b886113e3565b96506020880135955060408801356001600160401b0381111561148d57600080fd5b6114998a828b016113ff565b989b979a50986060810135976080820135975060a09091013595509350505050565b6000602082840312156114cd57600080fd5b81356001600160e01b0319811681146107ca57600080fd5b60008060008060008060a087890312156114fe57600080fd5b611507876113e3565b95506020870135945060408701356001600160401b0381111561152957600080fd5b61153589828a016113ff565b979a9699509760608101359660809091013595509350505050565b60006020828403121561156257600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156115a7576115a7611569565b604052919050565b600082601f8301126115c057600080fd5b81356001600160401b038111156115d9576115d9611569565b6115ec601f8201601f191660200161157f565b81815284602083860101111561160157600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561163457600080fd5b61163d856113e3565b935061164b602086016113e3565b92506040850135915060608501356001600160401b0381111561166d57600080fd5b611679878288016115af565b91505092959194509250565b6000806040838503121561169857600080fd5b823591506116a8602084016113e3565b90509250929050565b60008083601f8401126116c357600080fd5b5081356001600160401b038111156116da57600080fd5b6020830191508360208260051b850101111561144057600080fd5b600080600080600080600080600060c08a8c03121561171357600080fd5b89356001600160401b038082111561172a57600080fd5b6117368d838e016116b1565b909b50995060208c013591508082111561174f57600080fd5b61175b8d838e016116b1565b909950975060408c013591508082111561177457600080fd5b506117818c828d016116b1565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b0312156117c257600080fd5b88356001600160401b03808211156117d957600080fd5b6117e58c838d016116b1565b909a50985060208b01359150808211156117fe57600080fd5b61180a8c838d016116b1565b909850965060408b013591508082111561182357600080fd5b506118308b828c016116b1565b999c989b509699959896976060870135966080013595509350505050565b600082601f83011261185f57600080fd5b813560206001600160401b0382111561187a5761187a611569565b8160051b61188982820161157f565b92835284810182019282810190878511156118a357600080fd5b83870192505b848310156118c2578235825291830191908301906118a9565b979650505050505050565b600080600080600060a086880312156118e557600080fd5b6118ee866113e3565b94506118fc602087016113e3565b935060408601356001600160401b038082111561191857600080fd5b61192489838a0161184e565b9450606088013591508082111561193a57600080fd5b61194689838a0161184e565b9350608088013591508082111561195c57600080fd5b50611969888289016115af565b9150509295509295909350565b600080600080600060a0868803121561198e57600080fd5b611997866113e3565b94506119a5602087016113e3565b9350604086013592506060860135915060808601356001600160401b038111156119ce57600080fd5b611969888289016115af565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201526000611a2b60a0830186886119da565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201526000611a686060830184866119da565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611add57600080fd5b6107ca826113e3565b6000808335601e19843603018112611afd57600080fd5b8301803591506001600160401b03821115611b1757600080fd5b60200191503681900382131561144057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b5457611b54611b2c565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611bde5782840389528135601e19883603018112611b9657600080fd5b870180356001600160401b03811115611bae57600080fd5b803603891315611bbd57600080fd5b611bca86828985016119da565b9a87019a9550505090840190600101611b75565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611c2c576001600160a01b03611c17846113e3565b16825260209283019290910190600101611bfe565b5083810360208501528881526001600160fb1b03891115611c4c57600080fd5b8860051b9150818a602083013781810191505060208101600081526020848303016040850152611c7d81888a611b5b565b6060850196909652505050608001529695505050505050565b60008219821115611ca957611ca9611b2c565b500190565b60005b83811015611cc9578181015183820152602001611cb1565b83811115611cd8576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611d16816017850160208801611cae565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611d47816028840160208801611cae565b01602801949350505050565b6020815260008251806020840152611d72816040850160208701611cae565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6000816000190483118215151615611dfa57611dfa611b2c565b500290565b600081611e0e57611e0e611b2c565b50600019019056fea26469706673582212206bced80116cf61341e6e1c0849b397290fa79bfaf89786bc9e3b4d13ea869a2464736f6c634300080d0033",
"bytecode": "0x608060405234801561001057600080fd5b50611b6c806100206000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610567578063e38335e514610587578063f23a6e611461059a578063f27a0c92146105c657600080fd5b8063bc197c81146104e1578063c4d252f51461050d578063d45c44351461052d57600080fd5b806391d14854116100c657806391d1485414610458578063a217fddf14610478578063b08e51c01461048d578063b1c5f427146104c157600080fd5b80638065657f146103e45780638f2a0bb0146104045780638f61f4f51461042457600080fd5b80632ab0f5291161015957806336568abe1161013357806336568abe14610357578063584b153e1461037757806364d62353146103975780637958004c146103b757600080fd5b80632ab0f529146102f75780632f2ff15d1461031757806331d507501461033757600080fd5b8063134008d311610195578063134008d31461026057806313bc9f2014610273578063150b7a0214610293578063248a9ca3146102d757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611292565b6105fa565b005b3480156101f557600080fd5b50610209610204366004611306565b6106d0565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b6101e761026e366004611330565b6106e1565b34801561027f57600080fd5b5061020961028e36600461139b565b610796565b34801561029f57600080fd5b506102be6102ae366004611469565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b3480156102e357600080fd5b506102526102f236600461139b565b6107bc565b34801561030357600080fd5b5061020961031236600461139b565b6107de565b34801561032357600080fd5b506101e76103323660046114d0565b6107e7565b34801561034357600080fd5b5061020961035236600461139b565b610809565b34801561036357600080fd5b506101e76103723660046114d0565b61082e565b34801561038357600080fd5b5061020961039236600461139b565b610866565b3480156103a357600080fd5b506101e76103b236600461139b565b6108ac565b3480156103c357600080fd5b506103d76103d236600461139b565b610931565b6040516102159190611512565b3480156103f057600080fd5b506102526103ff366004611330565b610989565b34801561041057600080fd5b506101e761041f36600461157e565b6109c8565b34801561043057600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561046457600080fd5b506102096104733660046114d0565b610b5e565b34801561048457600080fd5b50610252600081565b34801561049957600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104cd57600080fd5b506102526104dc36600461162f565b610b96565b3480156104ed57600080fd5b506102be6104fc366004611756565b63bc197c8160e01b95945050505050565b34801561051957600080fd5b506101e761052836600461139b565b610bdb565b34801561053957600080fd5b5061025261054836600461139b565b6000908152600080516020611af7833981519152602052604090205490565b34801561057357600080fd5b506101e76105823660046114d0565b610c96565b6101e761059536600461162f565b610cb2565b3480156105a657600080fd5b506102be6105b53660046117ff565b63f23a6e6160e01b95945050505050565b3480156105d257600080fd5b507f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360154610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062481610e3f565b6000610634898989898989610989565b90506106408184610e4c565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067c9695949392919061188c565b60405180910390a383156106c557807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106bc91815260200190565b60405180910390a25b505050505050505050565b60006106db82610f0f565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6361070d816000610b5e565b61071b5761071b8133610f34565b600061072b888888888888610989565b90506107378185610f71565b61074388888888610fbf565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161077b94939291906118c9565b60405180910390a361078c81611037565b5050505050505050565b600060025b6107a483610931565b60038111156107b5576107b56114fc565b1492915050565b6000908152600080516020611b17833981519152602052604090206001015490565b6000600361079b565b6107f0826107bc565b6107f981610e3f565b6108038383611070565b50505050565b60008061081583610931565b6003811115610826576108266114fc565b141592915050565b6001600160a01b03811633146108575760405163334bd91960e11b815260040160405180910390fd5b6108618282611115565b505050565b60008061087283610931565b90506001816003811115610888576108886114fc565b14806108a5575060028160038111156108a3576108a36114fc565b145b9392505050565b600080516020611af7833981519152333081146108ec5760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600182015460408051918252602082018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15060010155565b6000818152600080516020611af783398151915260205260408120548060000361095e5750600092915050565b6001810361096f5750600392915050565b428111156109805750600192915050565b50600292915050565b60008686868686866040516020016109a69695949392919061188c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109f281610e3f565b8887141580610a015750888514155b15610a33576040516001624fcdef60e01b03198152600481018a905260248101869052604481018890526064016108e3565b6000610a458b8b8b8b8b8b8b8b610b96565b9050610a518184610e4c565b60005b8a811015610b0f5780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a9157610a916118fb565b9050602002016020810190610aa69190611911565b8d8d86818110610ab857610ab86118fb565b905060200201358c8c87818110610ad157610ad16118fb565b9050602002810190610ae3919061192c565b8c8b604051610af79695949392919061188c565b60405180910390a3610b0881611988565b9050610a54565b508315610b5157807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b4891815260200190565b60405180910390a25b5050505050505050505050565b6000918252600080516020611b17833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610bb7989796959493929190611a32565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c0581610e3f565b600080516020611af7833981519152610c1d83610866565b610c595782610c2c6002611191565b610c366001611191565b604051635ead8eb560e01b815260048101939093521760248201526044016108e3565b6000838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b610c9f826107bc565b610ca881610e3f565b6108038383611115565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cde816000610b5e565b610cec57610cec8133610f34565b8786141580610cfb5750878414155b15610d2d576040516001624fcdef60e01b031981526004810189905260248101859052604481018790526064016108e3565b6000610d3f8a8a8a8a8a8a8a8a610b96565b9050610d4b8185610f71565b60005b89811015610e295760008b8b83818110610d6a57610d6a6118fb565b9050602002016020810190610d7f9190611911565b905060008a8a84818110610d9557610d956118fb565b9050602002013590503660008a8a86818110610db357610db36118fb565b9050602002810190610dc5919061192c565b91509150610dd584848484610fbf565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610e0c94939291906118c9565b60405180910390a35050505080610e2290611988565b9050610d4e565b50610e3381611037565b50505050505050505050565b610e498133610f34565b50565b600080516020611af7833981519152610e6483610809565b15610e965782610e746000611191565b604051635ead8eb560e01b8152600481019290925260248201526044016108e3565b6000610ec07f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015490565b905080831015610eed57604051635433660960e01b815260048101849052602481018290526044016108e3565b610ef78342611ad3565b60009485526020929092525060409092209190915550565b60006001600160e01b03198216630271189760e51b14806106db57506106db826111b4565b610f3e8282610b5e565b610f6d5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016108e3565b5050565b610f7a82610796565b610f895781610e746002611191565b8015801590610f9e5750610f9c816107de565b155b15610f6d5760405163121534c360e31b8152600481018290526024016108e3565b600080856001600160a01b0316858585604051610fdd929190611ae6565b60006040518083038185875af1925050503d806000811461101a576040519150601f19603f3d011682016040523d82523d6000602084013e61101f565b606091505b509150915061102e82826111e9565b50505050505050565b600080516020611af783398151915261104f82610796565b61105e5781610e746002611191565b60009182526020526040902060019055565b6000600080516020611b1783398151915261108b8484610b5e565b61110b576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556110c13390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106db565b60009150506106db565b6000600080516020611b178339815191526111308484610b5e565b1561110b576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106db565b60008160038111156111a5576111a56114fc565b600160ff919091161b92915050565b60006001600160e01b03198216637965db0b60e01b14806106db57506301ffc9a760e01b6001600160e01b03198316146106db565b6060826111fe576111f982611205565b6106db565b50806106db565b8051156112155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461124557600080fd5b919050565b60008083601f84011261125c57600080fd5b5081356001600160401b0381111561127357600080fd5b60208301915083602082850101111561128b57600080fd5b9250929050565b600080600080600080600060c0888a0312156112ad57600080fd5b6112b68861122e565b96506020880135955060408801356001600160401b038111156112d857600080fd5b6112e48a828b0161124a565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561131857600080fd5b81356001600160e01b0319811681146108a557600080fd5b60008060008060008060a0878903121561134957600080fd5b6113528761122e565b95506020870135945060408701356001600160401b0381111561137457600080fd5b61138089828a0161124a565b979a9699509760608101359660809091013595509350505050565b6000602082840312156113ad57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113f2576113f26113b4565b604052919050565b600082601f83011261140b57600080fd5b81356001600160401b03811115611424576114246113b4565b611437601f8201601f19166020016113ca565b81815284602083860101111561144c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561147f57600080fd5b6114888561122e565b93506114966020860161122e565b92506040850135915060608501356001600160401b038111156114b857600080fd5b6114c4878288016113fa565b91505092959194509250565b600080604083850312156114e357600080fd5b823591506114f36020840161122e565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b602081016004831061153457634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f84011261154c57600080fd5b5081356001600160401b0381111561156357600080fd5b6020830191508360208260051b850101111561128b57600080fd5b600080600080600080600080600060c08a8c03121561159c57600080fd5b89356001600160401b03808211156115b357600080fd5b6115bf8d838e0161153a565b909b50995060208c01359150808211156115d857600080fd5b6115e48d838e0161153a565b909950975060408c01359150808211156115fd57600080fd5b5061160a8c828d0161153a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561164b57600080fd5b88356001600160401b038082111561166257600080fd5b61166e8c838d0161153a565b909a50985060208b013591508082111561168757600080fd5b6116938c838d0161153a565b909850965060408b01359150808211156116ac57600080fd5b506116b98b828c0161153a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126116e857600080fd5b813560206001600160401b03821115611703576117036113b4565b8160051b6117128282016113ca565b928352848101820192828101908785111561172c57600080fd5b83870192505b8483101561174b57823582529183019190830190611732565b979650505050505050565b600080600080600060a0868803121561176e57600080fd5b6117778661122e565b94506117856020870161122e565b935060408601356001600160401b03808211156117a157600080fd5b6117ad89838a016116d7565b945060608801359150808211156117c357600080fd5b6117cf89838a016116d7565b935060808801359150808211156117e557600080fd5b506117f2888289016113fa565b9150509295509295909350565b600080600080600060a0868803121561181757600080fd5b6118208661122e565b945061182e6020870161122e565b9350604086013592506060860135915060808601356001600160401b0381111561185757600080fd5b6117f2888289016113fa565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006118b460a083018688611863565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006118f1606083018486611863565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192357600080fd5b6108a58261122e565b6000808335601e1984360301811261194357600080fd5b8301803591506001600160401b0382111561195d57600080fd5b60200191503681900382131561128b57600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161199a5761199a611972565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611a255782840389528135601e198836030181126119dc57600080fd5b870185810190356001600160401b038111156119f757600080fd5b803603821315611a0657600080fd5b611a11868284611863565b9a87019a95505050908401906001016119bb565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611a73576001600160a01b03611a5e8461122e565b16825260209283019290910190600101611a45565b5083810360208501528881526001600160fb1b03891115611a9357600080fd5b8860051b9150818a60208301370182810360209081016040850152611abb90820187896119a1565b60608401959095525050608001529695505050505050565b808201808211156106db576106db611972565b818382376000910190815291905056fe9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220781a12c681aeb4eb266150916b3e1897219d9611e2b6367c5530d2e8337ed28064736f6c63430008140033",
"deployedBytecode": "0x6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610567578063e38335e514610587578063f23a6e611461059a578063f27a0c92146105c657600080fd5b8063bc197c81146104e1578063c4d252f51461050d578063d45c44351461052d57600080fd5b806391d14854116100c657806391d1485414610458578063a217fddf14610478578063b08e51c01461048d578063b1c5f427146104c157600080fd5b80638065657f146103e45780638f2a0bb0146104045780638f61f4f51461042457600080fd5b80632ab0f5291161015957806336568abe1161013357806336568abe14610357578063584b153e1461037757806364d62353146103975780637958004c146103b757600080fd5b80632ab0f529146102f75780632f2ff15d1461031757806331d507501461033757600080fd5b8063134008d311610195578063134008d31461026057806313bc9f2014610273578063150b7a0214610293578063248a9ca3146102d757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611292565b6105fa565b005b3480156101f557600080fd5b50610209610204366004611306565b6106d0565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b6101e761026e366004611330565b6106e1565b34801561027f57600080fd5b5061020961028e36600461139b565b610796565b34801561029f57600080fd5b506102be6102ae366004611469565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b3480156102e357600080fd5b506102526102f236600461139b565b6107bc565b34801561030357600080fd5b5061020961031236600461139b565b6107de565b34801561032357600080fd5b506101e76103323660046114d0565b6107e7565b34801561034357600080fd5b5061020961035236600461139b565b610809565b34801561036357600080fd5b506101e76103723660046114d0565b61082e565b34801561038357600080fd5b5061020961039236600461139b565b610866565b3480156103a357600080fd5b506101e76103b236600461139b565b6108ac565b3480156103c357600080fd5b506103d76103d236600461139b565b610931565b6040516102159190611512565b3480156103f057600080fd5b506102526103ff366004611330565b610989565b34801561041057600080fd5b506101e761041f36600461157e565b6109c8565b34801561043057600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561046457600080fd5b506102096104733660046114d0565b610b5e565b34801561048457600080fd5b50610252600081565b34801561049957600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104cd57600080fd5b506102526104dc36600461162f565b610b96565b3480156104ed57600080fd5b506102be6104fc366004611756565b63bc197c8160e01b95945050505050565b34801561051957600080fd5b506101e761052836600461139b565b610bdb565b34801561053957600080fd5b5061025261054836600461139b565b6000908152600080516020611af7833981519152602052604090205490565b34801561057357600080fd5b506101e76105823660046114d0565b610c96565b6101e761059536600461162f565b610cb2565b3480156105a657600080fd5b506102be6105b53660046117ff565b63f23a6e6160e01b95945050505050565b3480156105d257600080fd5b507f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360154610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062481610e3f565b6000610634898989898989610989565b90506106408184610e4c565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067c9695949392919061188c565b60405180910390a383156106c557807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106bc91815260200190565b60405180910390a25b505050505050505050565b60006106db82610f0f565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6361070d816000610b5e565b61071b5761071b8133610f34565b600061072b888888888888610989565b90506107378185610f71565b61074388888888610fbf565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161077b94939291906118c9565b60405180910390a361078c81611037565b5050505050505050565b600060025b6107a483610931565b60038111156107b5576107b56114fc565b1492915050565b6000908152600080516020611b17833981519152602052604090206001015490565b6000600361079b565b6107f0826107bc565b6107f981610e3f565b6108038383611070565b50505050565b60008061081583610931565b6003811115610826576108266114fc565b141592915050565b6001600160a01b03811633146108575760405163334bd91960e11b815260040160405180910390fd5b6108618282611115565b505050565b60008061087283610931565b90506001816003811115610888576108886114fc565b14806108a5575060028160038111156108a3576108a36114fc565b145b9392505050565b600080516020611af7833981519152333081146108ec5760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600182015460408051918252602082018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15060010155565b6000818152600080516020611af783398151915260205260408120548060000361095e5750600092915050565b6001810361096f5750600392915050565b428111156109805750600192915050565b50600292915050565b60008686868686866040516020016109a69695949392919061188c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109f281610e3f565b8887141580610a015750888514155b15610a33576040516001624fcdef60e01b03198152600481018a905260248101869052604481018890526064016108e3565b6000610a458b8b8b8b8b8b8b8b610b96565b9050610a518184610e4c565b60005b8a811015610b0f5780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a9157610a916118fb565b9050602002016020810190610aa69190611911565b8d8d86818110610ab857610ab86118fb565b905060200201358c8c87818110610ad157610ad16118fb565b9050602002810190610ae3919061192c565b8c8b604051610af79695949392919061188c565b60405180910390a3610b0881611988565b9050610a54565b508315610b5157807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b4891815260200190565b60405180910390a25b5050505050505050505050565b6000918252600080516020611b17833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610bb7989796959493929190611a32565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c0581610e3f565b600080516020611af7833981519152610c1d83610866565b610c595782610c2c6002611191565b610c366001611191565b604051635ead8eb560e01b815260048101939093521760248201526044016108e3565b6000838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b610c9f826107bc565b610ca881610e3f565b6108038383611115565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cde816000610b5e565b610cec57610cec8133610f34565b8786141580610cfb5750878414155b15610d2d576040516001624fcdef60e01b031981526004810189905260248101859052604481018790526064016108e3565b6000610d3f8a8a8a8a8a8a8a8a610b96565b9050610d4b8185610f71565b60005b89811015610e295760008b8b83818110610d6a57610d6a6118fb565b9050602002016020810190610d7f9190611911565b905060008a8a84818110610d9557610d956118fb565b9050602002013590503660008a8a86818110610db357610db36118fb565b9050602002810190610dc5919061192c565b91509150610dd584848484610fbf565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610e0c94939291906118c9565b60405180910390a35050505080610e2290611988565b9050610d4e565b50610e3381611037565b50505050505050505050565b610e498133610f34565b50565b600080516020611af7833981519152610e6483610809565b15610e965782610e746000611191565b604051635ead8eb560e01b8152600481019290925260248201526044016108e3565b6000610ec07f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015490565b905080831015610eed57604051635433660960e01b815260048101849052602481018290526044016108e3565b610ef78342611ad3565b60009485526020929092525060409092209190915550565b60006001600160e01b03198216630271189760e51b14806106db57506106db826111b4565b610f3e8282610b5e565b610f6d5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016108e3565b5050565b610f7a82610796565b610f895781610e746002611191565b8015801590610f9e5750610f9c816107de565b155b15610f6d5760405163121534c360e31b8152600481018290526024016108e3565b600080856001600160a01b0316858585604051610fdd929190611ae6565b60006040518083038185875af1925050503d806000811461101a576040519150601f19603f3d011682016040523d82523d6000602084013e61101f565b606091505b509150915061102e82826111e9565b50505050505050565b600080516020611af783398151915261104f82610796565b61105e5781610e746002611191565b60009182526020526040902060019055565b6000600080516020611b1783398151915261108b8484610b5e565b61110b576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556110c13390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106db565b60009150506106db565b6000600080516020611b178339815191526111308484610b5e565b1561110b576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106db565b60008160038111156111a5576111a56114fc565b600160ff919091161b92915050565b60006001600160e01b03198216637965db0b60e01b14806106db57506301ffc9a760e01b6001600160e01b03198316146106db565b6060826111fe576111f982611205565b6106db565b50806106db565b8051156112155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461124557600080fd5b919050565b60008083601f84011261125c57600080fd5b5081356001600160401b0381111561127357600080fd5b60208301915083602082850101111561128b57600080fd5b9250929050565b600080600080600080600060c0888a0312156112ad57600080fd5b6112b68861122e565b96506020880135955060408801356001600160401b038111156112d857600080fd5b6112e48a828b0161124a565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561131857600080fd5b81356001600160e01b0319811681146108a557600080fd5b60008060008060008060a0878903121561134957600080fd5b6113528761122e565b95506020870135945060408701356001600160401b0381111561137457600080fd5b61138089828a0161124a565b979a9699509760608101359660809091013595509350505050565b6000602082840312156113ad57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113f2576113f26113b4565b604052919050565b600082601f83011261140b57600080fd5b81356001600160401b03811115611424576114246113b4565b611437601f8201601f19166020016113ca565b81815284602083860101111561144c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561147f57600080fd5b6114888561122e565b93506114966020860161122e565b92506040850135915060608501356001600160401b038111156114b857600080fd5b6114c4878288016113fa565b91505092959194509250565b600080604083850312156114e357600080fd5b823591506114f36020840161122e565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b602081016004831061153457634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f84011261154c57600080fd5b5081356001600160401b0381111561156357600080fd5b6020830191508360208260051b850101111561128b57600080fd5b600080600080600080600080600060c08a8c03121561159c57600080fd5b89356001600160401b03808211156115b357600080fd5b6115bf8d838e0161153a565b909b50995060208c01359150808211156115d857600080fd5b6115e48d838e0161153a565b909950975060408c01359150808211156115fd57600080fd5b5061160a8c828d0161153a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561164b57600080fd5b88356001600160401b038082111561166257600080fd5b61166e8c838d0161153a565b909a50985060208b013591508082111561168757600080fd5b6116938c838d0161153a565b909850965060408b01359150808211156116ac57600080fd5b506116b98b828c0161153a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126116e857600080fd5b813560206001600160401b03821115611703576117036113b4565b8160051b6117128282016113ca565b928352848101820192828101908785111561172c57600080fd5b83870192505b8483101561174b57823582529183019190830190611732565b979650505050505050565b600080600080600060a0868803121561176e57600080fd5b6117778661122e565b94506117856020870161122e565b935060408601356001600160401b03808211156117a157600080fd5b6117ad89838a016116d7565b945060608801359150808211156117c357600080fd5b6117cf89838a016116d7565b935060808801359150808211156117e557600080fd5b506117f2888289016113fa565b9150509295509295909350565b600080600080600060a0868803121561181757600080fd5b6118208661122e565b945061182e6020870161122e565b9350604086013592506060860135915060808601356001600160401b0381111561185757600080fd5b6117f2888289016113fa565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006118b460a083018688611863565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006118f1606083018486611863565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192357600080fd5b6108a58261122e565b6000808335601e1984360301811261194357600080fd5b8301803591506001600160401b0382111561195d57600080fd5b60200191503681900382131561128b57600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161199a5761199a611972565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611a255782840389528135601e198836030181126119dc57600080fd5b870185810190356001600160401b038111156119f757600080fd5b803603821315611a0657600080fd5b611a11868284611863565b9a87019a95505050908401906001016119bb565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611a73576001600160a01b03611a5e8461122e565b16825260209283019290910190600101611a45565b5083810360208501528881526001600160fb1b03891115611a9357600080fd5b8860051b9150818a60208301370182810360209081016040850152611abb90820187896119a1565b60608401959095525050608001529695505050505050565b808201808211156106db576106db611972565b818382376000910190815291905056fe9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220781a12c681aeb4eb266150916b3e1897219d9611e2b6367c5530d2e8337ed28064736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,32 +7,58 @@ {

{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"name": "target",
"type": "address"
},
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"name": "implementation",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
"name": "ERC1967InvalidImplementation",
"type": "error"
},
{
"anonymous": false,
"inputs": [],
"name": "ERC1967NonPayable",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [],
"name": "UUPSUnauthorizedCallContext",
"type": "error"
},
{
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
"internalType": "bytes32",
"name": "slot",
"type": "bytes32"
}
],
"name": "BeaconUpgraded",
"type": "event"
"name": "UUPSUnsupportedProxiableUUID",
"type": "error"
},

@@ -44,5 +70,5 @@ {

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -68,8 +94,8 @@ ],

"inputs": [],
"name": "proxiableUUID",
"name": "UPGRADE_INTERFACE_VERSION",
"outputs": [
{
"internalType": "bytes32",
"internalType": "string",
"name": "",
"type": "bytes32"
"type": "string"
}

@@ -81,12 +107,12 @@ ],

{
"inputs": [
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"stateMutability": "view",
"type": "function"

@@ -93,0 +119,0 @@ },

@@ -7,2 +7,72 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"anonymous": false,

@@ -44,5 +114,5 @@ "inputs": [

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -54,9 +124,28 @@ ],

{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "beneficiary",
"name": "duration",
"outputs": [
{
"internalType": "address",
"internalType": "uint256",
"name": "",
"type": "address"
"type": "uint256"
}

@@ -69,3 +158,3 @@ ],

"inputs": [],
"name": "duration",
"name": "end",
"outputs": [

@@ -82,2 +171,15 @@ {

{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -168,2 +270,9 @@ {

"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "start",

@@ -183,2 +292,15 @@ "outputs": [

{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",

@@ -229,6 +351,6 @@ "name": "timestamp",

],
"bytecode": "0x608060405234801561001057600080fd5b50610aec806100206000396000f3fe6080604052600436106100a05760003560e01c806386d1a69f1161006457806386d1a69f14610168578063961325211461017d5780639852595c14610192578063a3f8eace146101c8578063be9a6555146101e8578063fbccedae1461020e57600080fd5b80630a17b06b146100ac5780630fb5a6b4146100df57806319165587146100fe57806338af3eed14610120578063810ec23b1461014857600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100cc6100c73660046108f6565b610223565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060365467ffffffffffffffff166100cc565b34801561010a57600080fd5b5061011e610119366004610928565b610247565b005b34801561012c57600080fd5b506035546040516001600160a01b0390911681526020016100d6565b34801561015457600080fd5b506100cc610163366004610943565b6102e2565b34801561017457600080fd5b5061011e610378565b34801561018957600080fd5b506033546100cc565b34801561019e57600080fd5b506100cc6101ad366004610928565b6001600160a01b031660009081526034602052604090205490565b3480156101d457600080fd5b506100cc6101e3366004610928565b6103ec565b3480156101f457600080fd5b50603554600160a01b900467ffffffffffffffff166100cc565b34801561021a57600080fd5b506100cc610419565b600061024161023160335490565b61023b904761098c565b8361043c565b92915050565b6000610252826103ec565b6001600160a01b03831660009081526034602052604081208054929350839290919061027f90849061098c565b90915550506040518181526001600160a01b038316907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a26102de826102d86035546001600160a01b031690565b836104ff565b5050565b6001600160a01b038216600090815260346020526040812054610371906040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036791906109a4565b61023b919061098c565b9392505050565b6000610382610419565b90508060336000828254610396919061098c565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16103e96103e36035546001600160a01b031690565b82610556565b50565b6001600160a01b03811660009081526034602052604081205461040f83426102e2565b61024191906109bd565b600061042460335490565b61042d42610223565b61043791906109bd565b905090565b603554600090600160a01b900467ffffffffffffffff168267ffffffffffffffff16101561046c57506000610241565b60365467ffffffffffffffff16603554600160a01b900467ffffffffffffffff16610497919061098c565b8267ffffffffffffffff1611156104af575081610241565b60365467ffffffffffffffff16603554600160a01b900467ffffffffffffffff166104e49067ffffffffffffffff85166109bd565b6104ee90856109d4565b6104f891906109f3565b9050610241565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610551908490610674565b505050565b804710156105ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146105f8576040519150601f19603f3d011682016040523d82523d6000602084013e6105fd565b606091505b50509050806105515760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105a2565b60006106c9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107499092919063ffffffff16565b90508051600014806106ea5750808060200190518101906106ea9190610a15565b6105515760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105a2565b60606107588484600085610760565b949350505050565b6060824710156107c15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105a2565b600080866001600160a01b031685876040516107dd9190610a67565b60006040518083038185875af1925050503d806000811461081a576040519150601f19603f3d011682016040523d82523d6000602084013e61081f565b606091505b50915091506108308783838761083b565b979650505050505050565b606083156108aa5782516000036108a3576001600160a01b0385163b6108a35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105a2565b5081610758565b61075883838151156108bf5781518083602001fd5b8060405162461bcd60e51b81526004016105a29190610a83565b803567ffffffffffffffff811681146108f157600080fd5b919050565b60006020828403121561090857600080fd5b610371826108d9565b80356001600160a01b03811681146108f157600080fd5b60006020828403121561093a57600080fd5b61037182610911565b6000806040838503121561095657600080fd5b61095f83610911565b915061096d602084016108d9565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561099f5761099f610976565b500190565b6000602082840312156109b657600080fd5b5051919050565b6000828210156109cf576109cf610976565b500390565b60008160001904831182151516156109ee576109ee610976565b500290565b600082610a1057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610a2757600080fd5b8151801515811461037157600080fd5b60005b83811015610a52578181015183820152602001610a3a565b83811115610a61576000848401525b50505050565b60008251610a79818460208701610a37565b9190910192915050565b6020815260008251806020840152610aa2816040850160208701610a37565b601f01601f1916919091016040019291505056fea2646970667358221220f3282a88c5acb4f0c81e9219e582257765313d4de0f7f49fcbe53dcc9c10d4a164736f6c634300080d0033",
"deployedBytecode": "0x6080604052600436106100a05760003560e01c806386d1a69f1161006457806386d1a69f14610168578063961325211461017d5780639852595c14610192578063a3f8eace146101c8578063be9a6555146101e8578063fbccedae1461020e57600080fd5b80630a17b06b146100ac5780630fb5a6b4146100df57806319165587146100fe57806338af3eed14610120578063810ec23b1461014857600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100cc6100c73660046108f6565b610223565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060365467ffffffffffffffff166100cc565b34801561010a57600080fd5b5061011e610119366004610928565b610247565b005b34801561012c57600080fd5b506035546040516001600160a01b0390911681526020016100d6565b34801561015457600080fd5b506100cc610163366004610943565b6102e2565b34801561017457600080fd5b5061011e610378565b34801561018957600080fd5b506033546100cc565b34801561019e57600080fd5b506100cc6101ad366004610928565b6001600160a01b031660009081526034602052604090205490565b3480156101d457600080fd5b506100cc6101e3366004610928565b6103ec565b3480156101f457600080fd5b50603554600160a01b900467ffffffffffffffff166100cc565b34801561021a57600080fd5b506100cc610419565b600061024161023160335490565b61023b904761098c565b8361043c565b92915050565b6000610252826103ec565b6001600160a01b03831660009081526034602052604081208054929350839290919061027f90849061098c565b90915550506040518181526001600160a01b038316907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a26102de826102d86035546001600160a01b031690565b836104ff565b5050565b6001600160a01b038216600090815260346020526040812054610371906040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036791906109a4565b61023b919061098c565b9392505050565b6000610382610419565b90508060336000828254610396919061098c565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16103e96103e36035546001600160a01b031690565b82610556565b50565b6001600160a01b03811660009081526034602052604081205461040f83426102e2565b61024191906109bd565b600061042460335490565b61042d42610223565b61043791906109bd565b905090565b603554600090600160a01b900467ffffffffffffffff168267ffffffffffffffff16101561046c57506000610241565b60365467ffffffffffffffff16603554600160a01b900467ffffffffffffffff16610497919061098c565b8267ffffffffffffffff1611156104af575081610241565b60365467ffffffffffffffff16603554600160a01b900467ffffffffffffffff166104e49067ffffffffffffffff85166109bd565b6104ee90856109d4565b6104f891906109f3565b9050610241565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610551908490610674565b505050565b804710156105ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146105f8576040519150601f19603f3d011682016040523d82523d6000602084013e6105fd565b606091505b50509050806105515760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105a2565b60006106c9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107499092919063ffffffff16565b90508051600014806106ea5750808060200190518101906106ea9190610a15565b6105515760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105a2565b60606107588484600085610760565b949350505050565b6060824710156107c15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105a2565b600080866001600160a01b031685876040516107dd9190610a67565b60006040518083038185875af1925050503d806000811461081a576040519150601f19603f3d011682016040523d82523d6000602084013e61081f565b606091505b50915091506108308783838761083b565b979650505050505050565b606083156108aa5782516000036108a3576001600160a01b0385163b6108a35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105a2565b5081610758565b61075883838151156108bf5781518083602001fd5b8060405162461bcd60e51b81526004016105a29190610a83565b803567ffffffffffffffff811681146108f157600080fd5b919050565b60006020828403121561090857600080fd5b610371826108d9565b80356001600160a01b03811681146108f157600080fd5b60006020828403121561093a57600080fd5b61037182610911565b6000806040838503121561095657600080fd5b61095f83610911565b915061096d602084016108d9565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561099f5761099f610976565b500190565b6000602082840312156109b657600080fd5b5051919050565b6000828210156109cf576109cf610976565b500390565b60008160001904831182151516156109ee576109ee610976565b500290565b600082610a1057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610a2757600080fd5b8151801515811461037157600080fd5b60005b83811015610a52578181015183820152602001610a3a565b83811115610a61576000848401525b50505050565b60008251610a79818460208701610a37565b9190910192915050565b6020815260008251806020840152610aa2816040850160208701610a37565b601f01601f1916919091016040019291505056fea2646970667358221220f3282a88c5acb4f0c81e9219e582257765313d4de0f7f49fcbe53dcc9c10d4a164736f6c634300080d0033",
"bytecode": "0x608060405234801561001057600080fd5b50610b43806100206000396000f3fe6080604052600436106100e15760003560e01c8063961325211161007f578063be9a655511610059578063be9a655514610230578063efbe1c1c14610245578063f2fde38b1461025a578063fbccedae1461027a57600080fd5b806396132521146101ce5780639852595c146101f0578063a3f8eace1461021057600080fd5b8063715018a6116100bb578063715018a614610157578063810ec23b1461016c57806386d1a69f1461018c5780638da5cb5b146101a157600080fd5b80630a17b06b146100ed5780630fb5a6b414610120578063191655871461013557600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d61010836600461098e565b61028f565b6040519081526020015b60405180910390f35b34801561012c57600080fd5b5061010d6102c0565b34801561014157600080fd5b506101556101503660046109c0565b6102fb565b005b34801561016357600080fd5b5061015561039e565b34801561017857600080fd5b5061010d6101873660046109db565b6103b2565b34801561019857600080fd5b50610155610439565b3480156101ad57600080fd5b506101b66104b5565b6040516001600160a01b039091168152602001610117565b3480156101da57600080fd5b50600080516020610aee8339815191525461010d565b3480156101fc57600080fd5b5061010d61020b3660046109c0565b6104e3565b34801561021c57600080fd5b5061010d61022b3660046109c0565b61051d565b34801561023c57600080fd5b5061010d61053c565b34801561025157600080fd5b5061010d61056b565b34801561026657600080fd5b506101556102753660046109c0565b61058c565b34801561028657600080fd5b5061010d6105cf565b60006102ba6102aa600080516020610aee8339815191525490565b6102b49047610a24565b836105fa565b92915050565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025468010000000000000000900467ffffffffffffffff1690565b600080516020610aee83398151915260006103158361051d565b6001600160a01b0384166000908152600184016020526040812080549293508392909190610344908490610a24565b90915550506040518181526001600160a01b038416907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a2610399836103936104b5565b8361067b565b505050565b6103a66106cd565b6103b060006106ff565b565b60006104326103c0846104e3565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190610a37565b6102b49190610a24565b9392505050565b600080516020610aee83398151915260006104526105cf565b9050808260000160008282546104689190610a24565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16104b16104ab6104b5565b82610770565b5050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031660009081527fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3901602052604090205490565b6000610528826104e3565b61053283426103b2565b6102ba9190610a50565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025467ffffffffffffffff1690565b60006105756102c0565b61057d61053c565b6105879190610a24565b905090565b6105946106cd565b6001600160a01b0381166105c357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105cc816106ff565b50565b60006105e7600080516020610aee8339815191525490565b6105f04261028f565b6105879190610a50565b600061060461053c565b8267ffffffffffffffff16101561061d575060006102ba565b61062561056b565b8267ffffffffffffffff161061063c5750816102ba565b6106446102c0565b61064c61053c565b6106609067ffffffffffffffff8516610a50565b61066a9085610a63565b6106749190610a7a565b90506102ba565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610399908490610807565b336106d66104b5565b6001600160a01b0316146103b05760405163118cdaa760e01b81523360048201526024016105ba565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b804710156107935760405163cd78605960e01b81523060048201526024016105ba565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107e0576040519150601f19603f3d011682016040523d82523d6000602084013e6107e5565b606091505b505090508061039957604051630a12f52160e11b815260040160405180910390fd5b600061081c6001600160a01b0384168361086a565b9050805160001415801561084157508080602001905181019061083f9190610a9c565b155b1561039957604051635274afe760e01b81526001600160a01b03841660048201526024016105ba565b60606104328383600084600080856001600160a01b031684866040516108909190610abe565b60006040518083038185875af1925050503d80600081146108cd576040519150601f19603f3d011682016040523d82523d6000602084013e6108d2565b606091505b50915091506108e28683836108ec565b9695505050505050565b606082610901576108fc82610948565b610432565b815115801561091857506001600160a01b0384163b155b1561094157604051639996b31560e01b81526001600160a01b03851660048201526024016105ba565b5080610432565b8051156109585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b803567ffffffffffffffff8116811461098957600080fd5b919050565b6000602082840312156109a057600080fd5b61043282610971565b80356001600160a01b038116811461098957600080fd5b6000602082840312156109d257600080fd5b610432826109a9565b600080604083850312156109ee57600080fd5b6109f7836109a9565b9150610a0560208401610971565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102ba576102ba610a0e565b600060208284031215610a4957600080fd5b5051919050565b818103818111156102ba576102ba610a0e565b80820281158282048414176102ba576102ba610a0e565b600082610a9757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610aae57600080fd5b8151801515811461043257600080fd5b6000825160005b81811015610adf5760208186018101518583015201610ac5565b50600092019182525091905056fea1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3900a26469706673582212206ffbf66d76b47cf378c77f086b7f66790fe26ae097f54c7d03c5d3dedaa37f4e64736f6c63430008140033",
"deployedBytecode": "0x6080604052600436106100e15760003560e01c8063961325211161007f578063be9a655511610059578063be9a655514610230578063efbe1c1c14610245578063f2fde38b1461025a578063fbccedae1461027a57600080fd5b806396132521146101ce5780639852595c146101f0578063a3f8eace1461021057600080fd5b8063715018a6116100bb578063715018a614610157578063810ec23b1461016c57806386d1a69f1461018c5780638da5cb5b146101a157600080fd5b80630a17b06b146100ed5780630fb5a6b414610120578063191655871461013557600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d61010836600461098e565b61028f565b6040519081526020015b60405180910390f35b34801561012c57600080fd5b5061010d6102c0565b34801561014157600080fd5b506101556101503660046109c0565b6102fb565b005b34801561016357600080fd5b5061015561039e565b34801561017857600080fd5b5061010d6101873660046109db565b6103b2565b34801561019857600080fd5b50610155610439565b3480156101ad57600080fd5b506101b66104b5565b6040516001600160a01b039091168152602001610117565b3480156101da57600080fd5b50600080516020610aee8339815191525461010d565b3480156101fc57600080fd5b5061010d61020b3660046109c0565b6104e3565b34801561021c57600080fd5b5061010d61022b3660046109c0565b61051d565b34801561023c57600080fd5b5061010d61053c565b34801561025157600080fd5b5061010d61056b565b34801561026657600080fd5b506101556102753660046109c0565b61058c565b34801561028657600080fd5b5061010d6105cf565b60006102ba6102aa600080516020610aee8339815191525490565b6102b49047610a24565b836105fa565b92915050565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025468010000000000000000900467ffffffffffffffff1690565b600080516020610aee83398151915260006103158361051d565b6001600160a01b0384166000908152600184016020526040812080549293508392909190610344908490610a24565b90915550506040518181526001600160a01b038416907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a2610399836103936104b5565b8361067b565b505050565b6103a66106cd565b6103b060006106ff565b565b60006104326103c0846104e3565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190610a37565b6102b49190610a24565b9392505050565b600080516020610aee83398151915260006104526105cf565b9050808260000160008282546104689190610a24565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16104b16104ab6104b5565b82610770565b5050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031660009081527fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3901602052604090205490565b6000610528826104e3565b61053283426103b2565b6102ba9190610a50565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025467ffffffffffffffff1690565b60006105756102c0565b61057d61053c565b6105879190610a24565b905090565b6105946106cd565b6001600160a01b0381166105c357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105cc816106ff565b50565b60006105e7600080516020610aee8339815191525490565b6105f04261028f565b6105879190610a50565b600061060461053c565b8267ffffffffffffffff16101561061d575060006102ba565b61062561056b565b8267ffffffffffffffff161061063c5750816102ba565b6106446102c0565b61064c61053c565b6106609067ffffffffffffffff8516610a50565b61066a9085610a63565b6106749190610a7a565b90506102ba565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610399908490610807565b336106d66104b5565b6001600160a01b0316146103b05760405163118cdaa760e01b81523360048201526024016105ba565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b804710156107935760405163cd78605960e01b81523060048201526024016105ba565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107e0576040519150601f19603f3d011682016040523d82523d6000602084013e6107e5565b606091505b505090508061039957604051630a12f52160e11b815260040160405180910390fd5b600061081c6001600160a01b0384168361086a565b9050805160001415801561084157508080602001905181019061083f9190610a9c565b155b1561039957604051635274afe760e01b81526001600160a01b03841660048201526024016105ba565b60606104328383600084600080856001600160a01b031684866040516108909190610abe565b60006040518083038185875af1925050503d80600081146108cd576040519150601f19603f3d011682016040523d82523d6000602084013e6108d2565b606091505b50915091506108e28683836108ec565b9695505050505050565b606082610901576108fc82610948565b610432565b815115801561091857506001600160a01b0384163b155b1561094157604051639996b31560e01b81526001600160a01b03851660048201526024016105ba565b5080610432565b8051156109585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b803567ffffffffffffffff8116811461098957600080fd5b919050565b6000602082840312156109a057600080fd5b61043282610971565b80356001600160a01b038116811461098957600080fd5b6000602082840312156109d257600080fd5b610432826109a9565b600080604083850312156109ee57600080fd5b6109f7836109a9565b9150610a0560208401610971565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102ba576102ba610a0e565b600060208284031215610a4957600080fd5b5051919050565b818103818111156102ba576102ba610a0e565b80820281158282048414176102ba576102ba610a0e565b600082610a9757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610aae57600080fd5b8151801515811461043257600080fd5b6000825160005b81811015610adf5760208186018101518583015201610ac5565b50600092019182525091905056fea1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3900a26469706673582212206ffbf66d76b47cf378c77f086b7f66790fe26ae097f54c7d03c5d3dedaa37f4e64736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -7,2 +7,108 @@ {

{
"inputs": [],
"name": "CheckpointUnorderedInsertion",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "timepoint",
"type": "uint256"
},
{
"internalType": "uint48",
"name": "clock",
"type": "uint48"
}
],
"name": "ERC5805FutureLookup",
"type": "error"
},
{
"inputs": [],
"name": "ERC6372InconsistentClock",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
}
],
"name": "VotesExpiredSignature",
"type": "error"
},
{
"anonymous": false,

@@ -44,3 +150,3 @@ "inputs": [

"internalType": "uint256",
"name": "previousBalance",
"name": "previousVotes",
"type": "uint256"

@@ -51,3 +157,3 @@ },

"internalType": "uint256",
"name": "newBalance",
"name": "newVotes",
"type": "uint256"

@@ -70,5 +176,5 @@ }

"indexed": false,
"internalType": "uint8",
"internalType": "uint64",
"name": "version",
"type": "uint8"
"type": "uint64"
}

@@ -94,15 +200,2 @@ ],

"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "clock",

@@ -109,0 +202,0 @@ "outputs": [

{
"name": "@openzeppelin/contracts-upgradeable",
"description": "Secure Smart Contract library for Solidity",
"version": "4.9.5",
"version": "5.0.1",
"files": [

@@ -11,3 +11,3 @@ "**/*.sol",

"scripts": {
"prepare": "bash ../scripts/prepare-contracts-package.sh",
"prepack": "bash ../scripts/prepack.sh",
"prepare-docs": "cd ..; npm run prepare-docs"

@@ -32,3 +32,6 @@ },

},
"homepage": "https://openzeppelin.com/contracts/"
"homepage": "https://openzeppelin.com/contracts/",
"peerDependencies": {
"@openzeppelin/contracts": "5.0.1"
}
}

@@ -19,5 +19,8 @@ # <img src="logo.svg" alt="OpenZeppelin" height="40px">

> **Note**
> You are looking at the upgradeable variant of OpenZeppelin Contracts. Be sure to review the documentation on [Using OpenZeppelin Contracts with Upgrades](https://docs.openzeppelin.com/contracts/4.x/upgradeable).
> [!IMPORTANT]
> OpenZeppelin Contracts uses semantic versioning to communicate backwards compatibility of its API and storage layout. For upgradeable contracts, the storage layout of different major versions should be assumed incompatible, for example, it is unsafe to upgrade from 4.9.3 to 5.0.0. Learn more at [Backwards Compatibility](https://docs.openzeppelin.com/contracts/backwards-compatibility).
+> [!NOTE]
+> You are looking at the upgradeable variant of OpenZeppelin Contracts. Be sure to review the documentation on [Using OpenZeppelin Contracts with Upgrades](https://docs.openzeppelin.com/contracts/upgradeable).
+
## Overview

@@ -27,2 +30,4 @@

#### Hardhat, Truffle (npm)
```

@@ -32,6 +37,16 @@ $ npm install @openzeppelin/contracts-upgradeable

OpenZeppelin Contracts features a [stable API](https://docs.openzeppelin.com/contracts/releases-stability#api-stability), which means that your contracts won't break unexpectedly when upgrading to a newer minor version.
#### Foundry (git)
An alternative to npm is to use the GitHub repository (`openzeppelin/openzeppelin-contracts-upgradeable`) to retrieve the contracts. When doing this, make sure to specify the tag for a release such as `v4.5.0`, instead of using the `master` branch.
> [!WARNING]
> When installing via git, it is a common error to use the `master` branch. This is a development branch that should be avoided in favor of tagged releases. The release process involves security measures that the `master` branch does not guarantee.
> [!WARNING]
> Foundry installs the latest version initially, but subsequent `forge update` commands will use the `master` branch.
```
$ forge install OpenZeppelin/openzeppelin-contracts-upgradeable
```
Add `@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/` in `remappings.txt.`
### Usage

@@ -42,5 +57,5 @@

```solidity
pragma solidity ^0.8.0;
pragma solidity ^0.8.20;
import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";
import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";

@@ -68,3 +83,3 @@ contract MyCollectible is ERC721Upgradeable {

Finally, you may want to take a look at the [guides on our blog](https://blog.openzeppelin.com/guides), which cover several common use cases and good practices. The following articles provide great background reading, though please note that some of the referenced tools have changed, as the tooling in the ecosystem continues to rapidly evolve.
Finally, you may want to take a look at the [guides on our blog](https://blog.openzeppelin.com/), which cover several common use cases and good practices. The following articles provide great background reading, though please note that some of the referenced tools have changed, as the tooling in the ecosystem continues to rapidly evolve.

@@ -79,4 +94,6 @@ * [The Hitchhiker’s Guide to Smart Contracts in Ethereum](https://blog.openzeppelin.com/the-hitchhikers-guide-to-smart-contracts-in-ethereum-848f08001f05) will help you get an overview of the various tools available for smart contract development, and help you set up your environment.

The security policy is detailed in [`SECURITY.md`](./SECURITY.md), and specifies how you can report security vulnerabilities, which versions will receive security patches, and how to stay informed about them. We run a [bug bounty program on Immunefi](https://immunefi.com/bounty/openzeppelin) to reward the responsible disclosure of vulnerabilities.
The [OpenZeppelin Contracts Security Center](https://contracts.openzeppelin.com/security) contains more details about the secure development process.
The security policy is detailed in [`SECURITY.md`](./SECURITY.md) as well, and specifies how you can report security vulnerabilities, which versions will receive security patches, and how to stay informed about them. We run a [bug bounty program on Immunefi](https://immunefi.com/bounty/openzeppelin) to reward the responsible disclosure of vulnerabilities.
The engineering guidelines we follow to promote project quality can be found in [`GUIDELINES.md`](./GUIDELINES.md).

@@ -83,0 +100,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc