1082 lines
62 KiB
JSON
1082 lines
62 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "P2PIX",
|
|
"sourceName": "contracts/p2pix.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "defaultBlocks",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "validSigners",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "contract IReputation",
|
|
"name": "_reputation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "bool[]",
|
|
"name": "tokenStates",
|
|
"type": "bool[]"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AddressDenied",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AlreadyReleased",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AmountNotAllowed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DecOverflow",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "EmptyPixTarget",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InvalidDeposit",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InvalidSigner",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "LengthMismatch",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "LockExpired",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "LoopOverflow",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "MaxBalExceeded",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NoTokens",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotEnoughTokens",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotExpired",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotInitialized",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "OnlySeller",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "Reentrancy",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "StaticCallFailed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "TokenDenied",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "TxAlreadyUsed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "Unauthorized",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bool",
|
|
"name": "state",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "AllowedERC20Updated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "DepositAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "DepositWithdrawn",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "FundsWithdrawn",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "buyer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "lockID",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "seller",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "LockAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "blocks",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "LockBlocksUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "buyer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "lockId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "LockReleased",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "buyer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "lockId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "LockReturned",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnerUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "reputation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ReputationUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "merkleRoot",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RootUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "state",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "ValidSet",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address[]",
|
|
"name": "signers",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "ValidSignersUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "WAD",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_addr",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "_castAddrToKey",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_key",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_key",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "_castKeyToAddr",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_addr",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "erc20",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "allowedERC20s",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "state",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "defaultLockBlocks",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint96",
|
|
"name": "_amount",
|
|
"type": "uint96"
|
|
},
|
|
{
|
|
"internalType": "uint160",
|
|
"name": "_pixTarget",
|
|
"type": "uint160"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "_valid",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "allowlistRoot",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "deposit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getBalance",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "bal",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "sellers",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getBalances",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "ids",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "getLocksStatus",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "enum DataTypes.LockStatus[]",
|
|
"name": "",
|
|
"type": "uint8[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getPixTarget",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint160",
|
|
"name": "pixTarget",
|
|
"type": "uint160"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getValid",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "valid",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_buyerAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_relayerPremium",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "expiredLocks",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "lock",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "lockCounter",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "mapLocks",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sellerKey",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "counter",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "relayerPremium",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "expirationBlock",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint160",
|
|
"name": "pixTarget",
|
|
"type": "uint160"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "buyerAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "relayerAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "owner",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lockID",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "pixTimestamp",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "r",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "s",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "v",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "release",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "reputation",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IReputation",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sellerKey",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "sellerAllowList",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "root",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sellerKey",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "erc20",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "sellerBalance",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "packed",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_blocks",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setDefaultLockBlocks",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setOwner",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract IReputation",
|
|
"name": "_reputation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setReputation",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "addr",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "merkleroot",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "setRoot",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "_validSigners",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "setValidSigners",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "state",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setValidState",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "_tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "bool[]",
|
|
"name": "_states",
|
|
"type": "bool[]"
|
|
}
|
|
],
|
|
"name": "tokenSettings",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "lockIDs",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "unlockExpired",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "message",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "usedTransactions",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "used",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "userRecord",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "signer",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "validBacenSigners",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "valid",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract ERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "expiredLocks",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "withdraw",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "withdrawBalance",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"stateMutability": "payable",
|
|
"type": "receive"
|
|
}
|
|
],
|
|
"bytecode": "0x608060405262002a0f803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516125d99081620004368239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a162000373565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b60008054919290916001600160a01b03163303620004245782519182156200041757815183036200040a57602092919284818080970195019360051b0101925b838103620003c2575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003b3565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b6040516282b42960e81b8152600490fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e576115af565b61153f565b611494565b61147b565b6113d9565b610f4a565b610f16565b610edc565b610e86565b610e46565b610835565b610e28565b610e0a565b610dd6565b610d3d565b610cd6565b610cbd565b610c6c565b610c34565b610b23565b610b00565b610ac0565b610a3d565b6109d9565b6109af565b610918565b610786565b610556565b6104a8565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361047e57805181830192849160051b830181013d1515855b811561044a575b50505060405192818401908285525180915260408401949160005b828110610434577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610405565b90838260018298969499979951600c1b550190838210156104725791509593959492946103e3565b509593959492946103ea565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576004356104c5816102f5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361047e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a060031936011261024257600435610573816102f5565b6024356bffffffffffffffffffffffff811690818103610242576044359061059a826102f5565b6105a261053a565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b9086161561075c576105ea6105e68363cbc9d1c4600c526000526020600c205490565b1590565b610732576b3fffffffffffffffffffffff61061b83839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e4000000610633858461170a565b1161070857826106f3976106ad9661067f896106a4967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d610673611717565b806106f8575b5061170a565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b30903390611752565b6106b660018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6107029033611e53565b38610679565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b3461024257602060031936011261024257600480356000908152600560208181526040928390208054600182015460028301546003840154978401549584015460068501546007860154600890960154895195865296850193909352968301526060820196909652608081019390935273ffffffffffffffffffffffffffffffffffffffff93841660a084015293831660c083015292821660e0820152911661010082015261012090f35b0390f35b34610242576020600319360112610242576020600435546040519015158152f35b90815180825260208080930193019160005b828110610876575050505090565b835185529381019392810192600101610868565b9061089d90604083526040830190610856565b81810360209283015282518082529082019282019160009190825b8281106108c757505050505090565b909192939485516004808210156108ec575081528201948201939291906001016108b8565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610242576020806003193601126102425760043567ffffffffffffffff8111610242573660238201121561024257806004013590610956826102dd565b916109646040519384610276565b80835260248484019160051b8301019136831161024257602401905b8282106109a0576109908461245d565b906108316040519283928361088a565b81358152908401908401610980565b346102425760206003193601126102425760206004356109ce816102f5565b60405190600c1b8152f35b346102425760206003193601126102425760043573ffffffffffffffffffffffffffffffffffffffff60005416330361047e576020817f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851192600355604051908152a1005b3461024257600080600319360112610abd5773ffffffffffffffffffffffffffffffffffffffff815416330361047e57478180808084335af115610ab0576040805133815260208101929092527feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d91a180f35b63b12d13eb82526004601cfd5b80fd5b34610242576020600319360112610242576020610af6600435610ae2816102f5565b63cbc9d1c4600c526000526020600c205490565b6040519015158152f35b34610242576000600319360112610242576020604051670de0b6b3a76400008152f35b3461024257604060031936011261024257600435610b40816102f5565b602435801515908181036102425733600c1b610b7284829060205263739094b1600c52600c1c6000526034600c205490565b918215610c0a57610bc1927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff869260ff1b911617919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff6040519216825260208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2005b60046040517f87138d5c000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576020610c646004356374dfee70600c52600c1c60005260206000205490565b604051908152f35b3461024257604060031936011261024257610019600435610c8c816102f5565b60243590611e53565b600319604091011261024257600435610cad816102f5565b90602435610cba816102f5565b90565b34610242576020610af6610cd036610c95565b906123a5565b3461024257602060031936011261024257602060405173ffffffffffffffffffffffffffffffffffffffff600435600c1c168152f35b9181601f840112156102425782359167ffffffffffffffff8311610242576020808501948460051b01011161024257565b346102425760e060031936011261024257600435610d5a816102f5565b60243590610d67826102f5565b60443590610d74826102f5565b67ffffffffffffffff9160a43583811161024257610d96903690600401610d0c565b9060c4359485116102425761083195610db6610dc6963690600401610d0c565b9590946084359260643592611863565b6040519081529081906020820190565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b34610242576000600319360112610242576020600454604051908152f35b34610242576000600319360112610242576020600354604051908152f35b34610242576040600319360112610242576020610c64602435610e68816102f5565b6004359060205263739094b1600c52600c1c6000526034600c205490565b3461024257610e9436610c95565b6000903d15610ebf575b60208273ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60205263739094b1600c525260206034600c2054605f1c38610e9e565b346102425760206003193601126102425760043567ffffffffffffffff811161024257610f10610019913690600401610d0c565b90611c61565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346102425760a0600319360112610242576084356004803560ff8316830361024257610f74611717565b610f88816000526005602052604060002090565b9060038201805492831561139f5784810190815443116113765760058101546040805160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301908152603483018890526024356054840152909790826074810103926110237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094858101835282610276565b5190209188516110726020820192826110668786603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b03908101835282610276565b5190206001835415151461134e57885190815260ff999099166020808b019190915260443560408b015260643560608b01526000808052998a9060809060015afa15611349576110cb6110c68a51600c1b90565b541590565b611322575085949361125f937f364537f14276f2a0ce9905588413f96454cbb8fb2e4f5308389307c1098bede8978461115d611129958d61114261112960086112489b015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b95816111546002870197885490611bc7565b98555560019055565b61122260066007830192611188611129855473ffffffffffffffffffffffffffffffffffffffff1690565b33146112f65784546111b26111aa33600c1b6000526006602052604060002090565b91825461170a565b90556111ee6111de6111d8865473ffffffffffffffffffffffffffffffffffffffff1690565b600c1b90565b6000526006602052604060002090565b6111f98d825461170a565b90555b019461121c865473ffffffffffffffffffffffffffffffffffffffff1690565b85611bd4565b81548061126e575b505050505473ffffffffffffffffffffffffffffffffffffffff1690565b945191825260208201929092529081906040820190565b0390a261126b60018055565b80f35b61128f611129835473ffffffffffffffffffffffffffffffffffffffff1690565b33146112e357506112da92916112cb6112bf6112d2935473ffffffffffffffffffffffffffffffffffffffff1690565b825460011c9085611bd4565b5460011c90565b903390611bd4565b3880808061122a565b9150506112f1913390611bd4565b6112da565b6113018c865461170a565b61131b6111aa33600c1b6000526006602052604060002090565b90556111fc565b87517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b611bbb565b5087517ff490a6ea000000000000000000000000000000000000000000000000000000008152fd5b856040517ff6fafba0000000000000000000000000000000000000000000000000000000008152fd5b846040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b906020610cba928181520190610856565b346102425760406003193601126102425760043567ffffffffffffffff81116102425761140a903690600401610313565b60243590611417826102f5565b600091815191611426836123fa565b935b83811061143d576040518061083187826113c8565b8061146a8473ffffffffffffffffffffffffffffffffffffffff61146360019587612449565b511661236e565b6114748288612449565b5201611428565b34610242576020610c6461148e36610c95565b9061236e565b346102425760406003193601126102425767ffffffffffffffff600435818111610242576114c6903690600401610313565b9060243590811161024257366023820112156102425780600401356114ea816102dd565b916114f86040519384610276565b81835260209160248385019160051b8301019136831161024257602401905b828210611528576100198587611ea2565b83809161153484610549565b815201910190611517565b346102425760206003193601126102425760043561155c816102f5565b73ffffffffffffffffffffffffffffffffffffffff8060005416330361047e57816020917fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f9360025560405191168152a1005b34610242576060600319360112610242576004356115cc816102f5565b60243560443567ffffffffffffffff8111610242577f2cd6435b1b961c13f55202979edd0765a809f69a539d8a477436c94c1211e43e916116256116176116b1933690600401610d0c565b90611620611717565b611c61565b600161163185336123a5565b1515146116ba575b61167533600c1b85836b3fffffffffffffffffffffff61166f83859060205263739094b1600c52600c1c6000526034600c205490565b16612332565b611680813386611bd4565b6040805173ffffffffffffffffffffffffffffffffffffffff95909516855260208501919091523393918291820190565b0390a260018055005b6116c3846117ab565b611639565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b906001820180921161170557565b6116c8565b9190820180921161170557565b600260015414611728576002600155565b60046040517fab143c06000000000000000000000000000000000000000000000000000000008152fd5b601c600060649281946020966040519860605260405260601b602c526f23b872dd000000000000000000000000600c525af13d1560016000511417161561179d576000606052604052565b637939f4246000526004601cfd5b33600c1b6117cf82829060205263739094b1600c52600c1c6000526034600c205490565b908115610c0a57827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118189316919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff60405191168152600060208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2565b9061187c9897969594939291611877611717565b6118cd565b9060018055565b90670de0b6b3a76400009182810292818404149015171561170557565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117055760010190565b949673ffffffffffffffffffffffffffffffffffffffff92986118f291959495611c61565b16926119016105e685836123a5565b611b915761190f848261236e565b90828210611b6757600c1b9460049661192888546116f7565b988861193e8b6000526005602052604060002090565b0154431115611b3e5790876119ff8b969594936119e261199f6119838c6119676003544361170a565b969060205263739094b1600c52600c1c6000526034600c205490565b605f1c73ffffffffffffffffffffffffffffffffffffffff1690565b6119a76102bc565b9a8d8c528a60208d015260408c015260608b019489865260808c015260a08b019073ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff1660c0890152565b3360e088015273ffffffffffffffffffffffffffffffffffffffff88166101008801528215611a71575092611a669592611a61611a6c999693610cba9b99963391611a5b8a6374dfee70600c52600c1c60005260206000205490565b9161222b565b611fc3565b546118a0565b600455565b805190925068056bc75e2d63100000109050611a9d575092611a6c9592610cba979592611a6695611fc3565b90919250611ad2611acd611abe33600c1b6000526006602052604060002090565b54670de0b6b3a7640000900490565b6122b9565b611add825191611883565b10908115611b29575b50611b005792611a669287611a6c9693610cba9896611fc3565b856040517f1c18f846000000000000000000000000000000000000000000000000000000008152fd5b69d3c21bcecceda10000009150511138611ae6565b886040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b60046040517f22bbb43c000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2e532de000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b9190820391821161170557565b60109260209260145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615611c1057603452565b6390b8ec1890526004601cfd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611c5c5760051b0190565b611c1d565b9060009182905b828210611c85575010611c785750565b63dfb035c990526004601cfd5b90611ca5611c94828585611c4c565b356000526005602052604060002090565b90611caf82611f59565b8154611cd5611129600885015473ffffffffffffffffffffffffffffffffffffffff1690565b926b3fffffffffffffffffffffff611d0385849060205263739094b1600c52600c1c6000526034600c205490565b169060038101946a52b7d2dcc80cd2e4000000611d228754809561170a565b1161070857600195611d556006948b93611de2979060205263739094b1600c52600c1c6000526034600c20908154019055565b55611d7a6111d8600783015473ffffffffffffffffffffffffffffffffffffffff1690565b611d916112cb826000526006602052604060002090565b68056bc75e2d631000008111611e385750611db9611dc7916000526006602052604060002090565b68056bc75e2d631000009055565b015473ffffffffffffffffffffffffffffffffffffffff1690565b7f830501e61b8b075e170b22a430e39454bdb12ed3e9620e586430b6ac00079da573ffffffffffffffffffffffffffffffffffffffff611e23848888611c4c565b60405190358152921691602090a20190611c68565b90611e4d906000526006602052604060002090565b55611dc7565b338103611e94576374dfee70600c5280600052816020600020557f0b294da292f26e55fd442b5c0164fbb9013036ff00c5cfdde0efd01c1baaf632600080a3565b6385d1f7266000526004601cfd5b9060009073ffffffffffffffffffffffffffffffffffffffff825416330361047e578251918215611f4c5781518303611f3f57602092919284818080970195019360051b0101925b838103611ef8575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191611eea565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b60048101544310611f99576003015415611f6f57565b60046040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b936122077f8fb3989f70bd172a37d15b41b015e48ea09d59329638377304a4198cd0c4ea6594926121ed73ffffffffffffffffffffffffffffffffffffffff9598612226948a6000526005602052604060002093875185556020880151600186015560408801516002860155606088019a8b516003870155608089015160048701556120ad61206960a08b015173ffffffffffffffffffffffffffffffffffffffff1690565b600588019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b6121e860c08a019661211a6120d6895173ffffffffffffffffffffffffffffffffffffffff1690565b600683019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61218261213e60e08d015173ffffffffffffffffffffffffffffffffffffffff1690565b600783019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60086121a66101008d015173ffffffffffffffffffffffffffffffffffffffff1690565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b612332565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9151945160405193849316958360209093929193604081019481520152565b0390a3565b73ffffffffffffffffffffffffffffffffffffffff829394169261227d575b50500361225357565b60046040517f3b8474be000000000000000000000000000000000000000000000000000000008152fd5b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156122ae579290612287565b50915050388061224a565b6040519060208201907f4d2b1791000000000000000000000000000000000000000000000000000000008252602483015260248252606082019082821067ffffffffffffffff8311176102b7576020926000926040525190600254617530fa90600051911561232457565b63e10bf1cc6000526004601cfd5b9291909280848103119015176123605760205263739094b1600c52600c1c6000526034600c20908154039055565b63ce3a3d376000526004601cfd5b600092913d1561237c575050565b9091925060205263739094b1600c526000526034600c20546b3fffffffffffffffffffffff1690565b600092913d156123b3575050565b9091925060205263739094b1600c526000526034600c205460ff1c90565b6040516020810181811067ffffffffffffffff8211176102b75760405260008152906000368137565b90612404826102dd565b6124116040519182610276565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061243f82946102dd565b0190602036910137565b8051821015611c5c5760209160051b010190565b908151156125905760008092805190612475826123fa565b9261247f836123fa565b955b83811061249057505050509190565b806124b16124a060019386612449565b516000526005602052604060002090565b546124e1576124c08185612449565b516124cb8288612449565b52826124d7828a612449565b5201925b92612481565b60036124f06124a08387612449565b0154612526576125008185612449565b5161250b8288612449565b5261251f612519828a612449565b60039052565b01926124db565b60046125356124a08387612449565b0154431115612567576125488185612449565b516125538288612449565b5261251f612561828a612449565b60029052565b6125718185612449565b5161257c8288612449565b5261251f61258a828a612449565b60019052565b905061259a6123d1565b90610cba6123d156fea264697066735822122072770abf2010315e54b9f1156a4b188132073c40328bd80f480bfc7887c30f8364736f6c63430008130033",
|
|
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e576115af565b61153f565b611494565b61147b565b6113d9565b610f4a565b610f16565b610edc565b610e86565b610e46565b610835565b610e28565b610e0a565b610dd6565b610d3d565b610cd6565b610cbd565b610c6c565b610c34565b610b23565b610b00565b610ac0565b610a3d565b6109d9565b6109af565b610918565b610786565b610556565b6104a8565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361047e57805181830192849160051b830181013d1515855b811561044a575b50505060405192818401908285525180915260408401949160005b828110610434577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610405565b90838260018298969499979951600c1b550190838210156104725791509593959492946103e3565b509593959492946103ea565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576004356104c5816102f5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361047e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a060031936011261024257600435610573816102f5565b6024356bffffffffffffffffffffffff811690818103610242576044359061059a826102f5565b6105a261053a565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b9086161561075c576105ea6105e68363cbc9d1c4600c526000526020600c205490565b1590565b610732576b3fffffffffffffffffffffff61061b83839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e4000000610633858461170a565b1161070857826106f3976106ad9661067f896106a4967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d610673611717565b806106f8575b5061170a565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b30903390611752565b6106b660018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6107029033611e53565b38610679565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b3461024257602060031936011261024257600480356000908152600560208181526040928390208054600182015460028301546003840154978401549584015460068501546007860154600890960154895195865296850193909352968301526060820196909652608081019390935273ffffffffffffffffffffffffffffffffffffffff93841660a084015293831660c083015292821660e0820152911661010082015261012090f35b0390f35b34610242576020600319360112610242576020600435546040519015158152f35b90815180825260208080930193019160005b828110610876575050505090565b835185529381019392810192600101610868565b9061089d90604083526040830190610856565b81810360209283015282518082529082019282019160009190825b8281106108c757505050505090565b909192939485516004808210156108ec575081528201948201939291906001016108b8565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610242576020806003193601126102425760043567ffffffffffffffff8111610242573660238201121561024257806004013590610956826102dd565b916109646040519384610276565b80835260248484019160051b8301019136831161024257602401905b8282106109a0576109908461245d565b906108316040519283928361088a565b81358152908401908401610980565b346102425760206003193601126102425760206004356109ce816102f5565b60405190600c1b8152f35b346102425760206003193601126102425760043573ffffffffffffffffffffffffffffffffffffffff60005416330361047e576020817f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851192600355604051908152a1005b3461024257600080600319360112610abd5773ffffffffffffffffffffffffffffffffffffffff815416330361047e57478180808084335af115610ab0576040805133815260208101929092527feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d91a180f35b63b12d13eb82526004601cfd5b80fd5b34610242576020600319360112610242576020610af6600435610ae2816102f5565b63cbc9d1c4600c526000526020600c205490565b6040519015158152f35b34610242576000600319360112610242576020604051670de0b6b3a76400008152f35b3461024257604060031936011261024257600435610b40816102f5565b602435801515908181036102425733600c1b610b7284829060205263739094b1600c52600c1c6000526034600c205490565b918215610c0a57610bc1927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff869260ff1b911617919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff6040519216825260208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2005b60046040517f87138d5c000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576020610c646004356374dfee70600c52600c1c60005260206000205490565b604051908152f35b3461024257604060031936011261024257610019600435610c8c816102f5565b60243590611e53565b600319604091011261024257600435610cad816102f5565b90602435610cba816102f5565b90565b34610242576020610af6610cd036610c95565b906123a5565b3461024257602060031936011261024257602060405173ffffffffffffffffffffffffffffffffffffffff600435600c1c168152f35b9181601f840112156102425782359167ffffffffffffffff8311610242576020808501948460051b01011161024257565b346102425760e060031936011261024257600435610d5a816102f5565b60243590610d67826102f5565b60443590610d74826102f5565b67ffffffffffffffff9160a43583811161024257610d96903690600401610d0c565b9060c4359485116102425761083195610db6610dc6963690600401610d0c565b9590946084359260643592611863565b6040519081529081906020820190565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b34610242576000600319360112610242576020600454604051908152f35b34610242576000600319360112610242576020600354604051908152f35b34610242576040600319360112610242576020610c64602435610e68816102f5565b6004359060205263739094b1600c52600c1c6000526034600c205490565b3461024257610e9436610c95565b6000903d15610ebf575b60208273ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60205263739094b1600c525260206034600c2054605f1c38610e9e565b346102425760206003193601126102425760043567ffffffffffffffff811161024257610f10610019913690600401610d0c565b90611c61565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346102425760a0600319360112610242576084356004803560ff8316830361024257610f74611717565b610f88816000526005602052604060002090565b9060038201805492831561139f5784810190815443116113765760058101546040805160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301908152603483018890526024356054840152909790826074810103926110237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094858101835282610276565b5190209188516110726020820192826110668786603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b03908101835282610276565b5190206001835415151461134e57885190815260ff999099166020808b019190915260443560408b015260643560608b01526000808052998a9060809060015afa15611349576110cb6110c68a51600c1b90565b541590565b611322575085949361125f937f364537f14276f2a0ce9905588413f96454cbb8fb2e4f5308389307c1098bede8978461115d611129958d61114261112960086112489b015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b95816111546002870197885490611bc7565b98555560019055565b61122260066007830192611188611129855473ffffffffffffffffffffffffffffffffffffffff1690565b33146112f65784546111b26111aa33600c1b6000526006602052604060002090565b91825461170a565b90556111ee6111de6111d8865473ffffffffffffffffffffffffffffffffffffffff1690565b600c1b90565b6000526006602052604060002090565b6111f98d825461170a565b90555b019461121c865473ffffffffffffffffffffffffffffffffffffffff1690565b85611bd4565b81548061126e575b505050505473ffffffffffffffffffffffffffffffffffffffff1690565b945191825260208201929092529081906040820190565b0390a261126b60018055565b80f35b61128f611129835473ffffffffffffffffffffffffffffffffffffffff1690565b33146112e357506112da92916112cb6112bf6112d2935473ffffffffffffffffffffffffffffffffffffffff1690565b825460011c9085611bd4565b5460011c90565b903390611bd4565b3880808061122a565b9150506112f1913390611bd4565b6112da565b6113018c865461170a565b61131b6111aa33600c1b6000526006602052604060002090565b90556111fc565b87517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b611bbb565b5087517ff490a6ea000000000000000000000000000000000000000000000000000000008152fd5b856040517ff6fafba0000000000000000000000000000000000000000000000000000000008152fd5b846040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b906020610cba928181520190610856565b346102425760406003193601126102425760043567ffffffffffffffff81116102425761140a903690600401610313565b60243590611417826102f5565b600091815191611426836123fa565b935b83811061143d576040518061083187826113c8565b8061146a8473ffffffffffffffffffffffffffffffffffffffff61146360019587612449565b511661236e565b6114748288612449565b5201611428565b34610242576020610c6461148e36610c95565b9061236e565b346102425760406003193601126102425767ffffffffffffffff600435818111610242576114c6903690600401610313565b9060243590811161024257366023820112156102425780600401356114ea816102dd565b916114f86040519384610276565b81835260209160248385019160051b8301019136831161024257602401905b828210611528576100198587611ea2565b83809161153484610549565b815201910190611517565b346102425760206003193601126102425760043561155c816102f5565b73ffffffffffffffffffffffffffffffffffffffff8060005416330361047e57816020917fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f9360025560405191168152a1005b34610242576060600319360112610242576004356115cc816102f5565b60243560443567ffffffffffffffff8111610242577f2cd6435b1b961c13f55202979edd0765a809f69a539d8a477436c94c1211e43e916116256116176116b1933690600401610d0c565b90611620611717565b611c61565b600161163185336123a5565b1515146116ba575b61167533600c1b85836b3fffffffffffffffffffffff61166f83859060205263739094b1600c52600c1c6000526034600c205490565b16612332565b611680813386611bd4565b6040805173ffffffffffffffffffffffffffffffffffffffff95909516855260208501919091523393918291820190565b0390a260018055005b6116c3846117ab565b611639565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b906001820180921161170557565b6116c8565b9190820180921161170557565b600260015414611728576002600155565b60046040517fab143c06000000000000000000000000000000000000000000000000000000008152fd5b601c600060649281946020966040519860605260405260601b602c526f23b872dd000000000000000000000000600c525af13d1560016000511417161561179d576000606052604052565b637939f4246000526004601cfd5b33600c1b6117cf82829060205263739094b1600c52600c1c6000526034600c205490565b908115610c0a57827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118189316919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff60405191168152600060208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2565b9061187c9897969594939291611877611717565b6118cd565b9060018055565b90670de0b6b3a76400009182810292818404149015171561170557565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117055760010190565b949673ffffffffffffffffffffffffffffffffffffffff92986118f291959495611c61565b16926119016105e685836123a5565b611b915761190f848261236e565b90828210611b6757600c1b9460049661192888546116f7565b988861193e8b6000526005602052604060002090565b0154431115611b3e5790876119ff8b969594936119e261199f6119838c6119676003544361170a565b969060205263739094b1600c52600c1c6000526034600c205490565b605f1c73ffffffffffffffffffffffffffffffffffffffff1690565b6119a76102bc565b9a8d8c528a60208d015260408c015260608b019489865260808c015260a08b019073ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff1660c0890152565b3360e088015273ffffffffffffffffffffffffffffffffffffffff88166101008801528215611a71575092611a669592611a61611a6c999693610cba9b99963391611a5b8a6374dfee70600c52600c1c60005260206000205490565b9161222b565b611fc3565b546118a0565b600455565b805190925068056bc75e2d63100000109050611a9d575092611a6c9592610cba979592611a6695611fc3565b90919250611ad2611acd611abe33600c1b6000526006602052604060002090565b54670de0b6b3a7640000900490565b6122b9565b611add825191611883565b10908115611b29575b50611b005792611a669287611a6c9693610cba9896611fc3565b856040517f1c18f846000000000000000000000000000000000000000000000000000000008152fd5b69d3c21bcecceda10000009150511138611ae6565b886040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b60046040517f22bbb43c000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2e532de000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b9190820391821161170557565b60109260209260145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615611c1057603452565b6390b8ec1890526004601cfd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611c5c5760051b0190565b611c1d565b9060009182905b828210611c85575010611c785750565b63dfb035c990526004601cfd5b90611ca5611c94828585611c4c565b356000526005602052604060002090565b90611caf82611f59565b8154611cd5611129600885015473ffffffffffffffffffffffffffffffffffffffff1690565b926b3fffffffffffffffffffffff611d0385849060205263739094b1600c52600c1c6000526034600c205490565b169060038101946a52b7d2dcc80cd2e4000000611d228754809561170a565b1161070857600195611d556006948b93611de2979060205263739094b1600c52600c1c6000526034600c20908154019055565b55611d7a6111d8600783015473ffffffffffffffffffffffffffffffffffffffff1690565b611d916112cb826000526006602052604060002090565b68056bc75e2d631000008111611e385750611db9611dc7916000526006602052604060002090565b68056bc75e2d631000009055565b015473ffffffffffffffffffffffffffffffffffffffff1690565b7f830501e61b8b075e170b22a430e39454bdb12ed3e9620e586430b6ac00079da573ffffffffffffffffffffffffffffffffffffffff611e23848888611c4c565b60405190358152921691602090a20190611c68565b90611e4d906000526006602052604060002090565b55611dc7565b338103611e94576374dfee70600c5280600052816020600020557f0b294da292f26e55fd442b5c0164fbb9013036ff00c5cfdde0efd01c1baaf632600080a3565b6385d1f7266000526004601cfd5b9060009073ffffffffffffffffffffffffffffffffffffffff825416330361047e578251918215611f4c5781518303611f3f57602092919284818080970195019360051b0101925b838103611ef8575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191611eea565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b60048101544310611f99576003015415611f6f57565b60046040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b936122077f8fb3989f70bd172a37d15b41b015e48ea09d59329638377304a4198cd0c4ea6594926121ed73ffffffffffffffffffffffffffffffffffffffff9598612226948a6000526005602052604060002093875185556020880151600186015560408801516002860155606088019a8b516003870155608089015160048701556120ad61206960a08b015173ffffffffffffffffffffffffffffffffffffffff1690565b600588019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b6121e860c08a019661211a6120d6895173ffffffffffffffffffffffffffffffffffffffff1690565b600683019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61218261213e60e08d015173ffffffffffffffffffffffffffffffffffffffff1690565b600783019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60086121a66101008d015173ffffffffffffffffffffffffffffffffffffffff1690565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b612332565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9151945160405193849316958360209093929193604081019481520152565b0390a3565b73ffffffffffffffffffffffffffffffffffffffff829394169261227d575b50500361225357565b60046040517f3b8474be000000000000000000000000000000000000000000000000000000008152fd5b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156122ae579290612287565b50915050388061224a565b6040519060208201907f4d2b1791000000000000000000000000000000000000000000000000000000008252602483015260248252606082019082821067ffffffffffffffff8311176102b7576020926000926040525190600254617530fa90600051911561232457565b63e10bf1cc6000526004601cfd5b9291909280848103119015176123605760205263739094b1600c52600c1c6000526034600c20908154039055565b63ce3a3d376000526004601cfd5b600092913d1561237c575050565b9091925060205263739094b1600c526000526034600c20546b3fffffffffffffffffffffff1690565b600092913d156123b3575050565b9091925060205263739094b1600c526000526034600c205460ff1c90565b6040516020810181811067ffffffffffffffff8211176102b75760405260008152906000368137565b90612404826102dd565b6124116040519182610276565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061243f82946102dd565b0190602036910137565b8051821015611c5c5760209160051b010190565b908151156125905760008092805190612475826123fa565b9261247f836123fa565b955b83811061249057505050509190565b806124b16124a060019386612449565b516000526005602052604060002090565b546124e1576124c08185612449565b516124cb8288612449565b52826124d7828a612449565b5201925b92612481565b60036124f06124a08387612449565b0154612526576125008185612449565b5161250b8288612449565b5261251f612519828a612449565b60039052565b01926124db565b60046125356124a08387612449565b0154431115612567576125488185612449565b516125538288612449565b5261251f612561828a612449565b60029052565b6125718185612449565b5161257c8288612449565b5261251f61258a828a612449565b60019052565b905061259a6123d1565b90610cba6123d156fea264697066735822122072770abf2010315e54b9f1156a4b188132073c40328bd80f480bfc7887c30f8364736f6c63430008130033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|