1069 lines
64 KiB
JSON
1069 lines
64 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": [
|
|
{
|
|
"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": "uint80",
|
|
"name": "_relayerPremium",
|
|
"type": "uint80"
|
|
},
|
|
{
|
|
"internalType": "uint80",
|
|
"name": "_amount",
|
|
"type": "uint80"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "expiredLocks",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "lock",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lockID",
|
|
"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": "expirationBlock",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint160",
|
|
"name": "pixTarget",
|
|
"type": "uint160"
|
|
},
|
|
{
|
|
"internalType": "uint80",
|
|
"name": "relayerPremium",
|
|
"type": "uint80"
|
|
},
|
|
{
|
|
"internalType": "uint80",
|
|
"name": "amount",
|
|
"type": "uint80"
|
|
},
|
|
{
|
|
"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": "0x608060405262002c24803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516127ee9081620004368239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a162000373565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b60008054919290916001600160a01b03163303620004245782519182156200041757815183036200040a57602092919284818080970195019360051b0101925b838103620003c2575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003b3565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b6040516282b42960e81b8152600490fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102065780630d2a2d441461020157806313af4035146101fc5780632cc0f905146101f7578063328a7181146101f2578063367821f0146101ed578063461f3120146101a757806349ef8448146101e85780634b2ae980146101e3578063574983c8146101de5780635fd8c710146101d957806369cc6af4146101d45780636d82d9e0146101cf57806377cd38a4146101ca5780637f94f65d146101c557806380e1d302146101c057806384ab1d28146101bb5780638da5cb5b146101b65780638db564c2146101b15780639872dbfe146101ac57806398a26871146101a75780639eee8d4b146101a2578063ad8f2eed1461019d578063b0983d3914610198578063c52164c614610193578063c593dfd81461018e578063d1c0702814610189578063d4fac45d14610184578063d6e8b9731461017f578063f7d0e04b1461017a5763fb8c5ef00361000e57611678565b611608565b61155d565b611544565b6114a2565b610f64565b610f30565b610ef6565b610ea0565b610e60565b61093c565b610e42565b610e24565b610df0565b610dba565b610da1565b610d50565b610d18565b610c07565b610bc7565b610b44565b610ae0565b610ab6565b610a1f565b610881565b610651565b61058d565b610498565b61036b565b346102325760206003193601126102325760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102a757604052565b610237565b60405190610120820182811067ffffffffffffffff8211176102a757604052565b67ffffffffffffffff81116102a75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361023257565b81601f820112156102325780359161031a836102cd565b926103286040519485610266565b808452602092838086019260051b820101928311610232578301905b828210610352575050505090565b8380918335610360816102e5565b815201910190610344565b34610232576020806003193601126102325760043567ffffffffffffffff81116102325761039d903690600401610303565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361046e57805181830192849160051b830181013d1515855b811561043a575b50505060405192818401908285525180915260408401949160005b828110610424577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b83518516875295810195928101926001016103f5565b90838260018298969499979951600c1b550190838210156104625791509593959492946103d3565b509593959492946103da565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610232576020600319360112610232576004356104b5816102e5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361046e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b6064359069ffffffffffffffffffff8216820361023257565b6084359069ffffffffffffffffffff8216820361023257565b9181601f840112156102325782359167ffffffffffffffff8311610232576020808501948460051b01011161023257565b346102325760e0600319360112610232576004356105aa816102e5565b602435906105b7826102e5565b604435916105c4836102e5565b6105cc61052a565b916105d5610543565b67ffffffffffffffff9360a435858111610232576105f790369060040161055c565b92909160c435968711610232576106319761061961062198369060040161055c565b979096611927565b6040519081529081906020820190565b0390f35b60643590811515820361023257565b3590811515820361023257565b346102325760a06003193601126102325760043561066e816102e5565b6024356bffffffffffffffffffffffff8116908181036102325760443590610695826102e5565b61069d610635565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b90861615610857576106e56106e18363cbc9d1c4600c526000526020600c205490565b1590565b61082d576b3fffffffffffffffffffffff61071683839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e400000061072e85846117ce565b1161080357826107ee976107a89661077a8961079f967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d61076e6117db565b806107f3575b506117ce565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b30903390611816565b6107b160018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6107fd9033611fc7565b38610774565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b346102325760206003193601126102325760048035600090815260056020818152604092839020805460018201546002830154600384015497840154958401546006909401548751938452948301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff808616606086015269ffffffffffffffffffff60a096871c8116608087015284169585019590955260509290921c841660c084015290831660e08301529190911661010082015261012090f35b34610232576020600319360112610232576020600435546040519015158152f35b90815180825260208080930193019160005b82811061097d575050505090565b83518552938101939281019260010161096f565b906109a49060408352604083019061095d565b81810360209283015282518082529082019282019160009190825b8281106109ce57505050505090565b909192939485516004808210156109f3575081528201948201939291906001016109bf565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610232576020806003193601126102325760043567ffffffffffffffff8111610232573660238201121561023257806004013590610a5d826102cd565b91610a6b6040519384610266565b80835260248484019160051b8301019136831161023257602401905b828210610aa757610a9784612654565b9061063160405192839283610991565b81358152908401908401610a87565b34610232576020600319360112610232576020600435610ad5816102e5565b60405190600c1b8152f35b346102325760206003193601126102325760043573ffffffffffffffffffffffffffffffffffffffff60005416330361046e576020817f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851192600355604051908152a1005b3461023257600080600319360112610bc45773ffffffffffffffffffffffffffffffffffffffff815416330361046e57478180808084335af115610bb7576040805133815260208101929092527feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d91a180f35b63b12d13eb82526004601cfd5b80fd5b34610232576020600319360112610232576020610bfd600435610be9816102e5565b63cbc9d1c4600c526000526020600c205490565b6040519015158152f35b3461023257604060031936011261023257600435610c24816102e5565b602435801515908181036102325733600c1b610c5684829060205263739094b1600c52600c1c6000526034600c205490565b918215610cee57610ca5927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff869260ff1b911617919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff6040519216825260208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2005b60046040517f87138d5c000000000000000000000000000000000000000000000000000000008152fd5b34610232576020600319360112610232576020610d486004356374dfee70600c52600c1c60005260206000205490565b604051908152f35b3461023257604060031936011261023257610019600435610d70816102e5565b60243590611fc7565b600319604091011261023257600435610d91816102e5565b90602435610d9e816102e5565b90565b34610232576020610bfd610db436610d79565b9061259c565b3461023257602060031936011261023257602060405173ffffffffffffffffffffffffffffffffffffffff600435600c1c168152f35b3461023257600060031936011261023257602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b34610232576000600319360112610232576020600454604051908152f35b34610232576000600319360112610232576020600354604051908152f35b34610232576040600319360112610232576020610d48602435610e82816102e5565b6004359060205263739094b1600c52600c1c6000526034600c205490565b3461023257610eae36610d79565b6000903d15610ed9575b60208273ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60205263739094b1600c525260206034600c2054605f1c38610eb8565b346102325760206003193601126102325760043567ffffffffffffffff811161023257610f2a61001991369060040161055c565b90611d6d565b3461023257600060031936011261023257602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346102325760a06003193601126102325760048035906084359060ff8216820361023257610f906117db565b610fa4836000526005602052604060002090565b81810191610fbc835469ffffffffffffffffffff1690565b9169ffffffffffffffffffff908184169586156114685760028201928354431161143f57600383019485549660405161109f816110738b602083019573ffffffffffffffffffffffffffffffffffffffff602435921687917fffffffffffffffffffff00000000000000000000000000000000000000000000907fffffffffffffffffffffffffffffffffffffffff000000000000000000000000603e959360601b16845260b01b166014830152601e8201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610266565b519020928354611416576110f56110ef6110fa9260643590604435906110ea896020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b611c7c565b600c1b90565b541590565b6113ee5750926112886005846111b3611161989560006111858e7f364537f14276f2a0ce9905588413f96454cbb8fb2e4f5308389307c1098bede89f9e9b61117a6112ca9f9c600661116191015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b9b60a01c1690611c6f565b8a547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000168b55965560019055565b01916111d6611161845473ffffffffffffffffffffffffffffffffffffffff1690565b33146113a95783546112019060a01c69ffffffffffffffffffff165b69ffffffffffffffffffff1690565b61122361121b33600c1b6000526006602052604060002090565b9182546117ce565b90556112596112496110ef855473ffffffffffffffffffffffffffffffffffffffff1690565b6000526006602052604060002090565b6112648a82546117ce565b90555b855460501c73ffffffffffffffffffffffffffffffffffffffff1685611ce0565b81546112a29060a01c69ffffffffffffffffffff166111f2565b806112e4575b505050505473ffffffffffffffffffffffffffffffffffffffff9060501c1690565b60408051948552602085019290925292a261001960018055565b611305611161835473ffffffffffffffffffffffffffffffffffffffff1690565b331461139657506111f261135961138d949361137261133b611385955473ffffffffffffffffffffffffffffffffffffffff1690565b61136b6111f2611359855469ffffffffffffffffffff9060a01c1690565b60011c697fffffffffffffffffff1690565b9087611ce0565b5460a01c69ffffffffffffffffffff1690565b903390611ce0565b388080806112a8565b9150506113a4913390611ce0565b61138d565b6113cd896113c86111f2875469ffffffffffffffffffff9060a01c1690565b6117ce565b6113e761121b33600c1b6000526006602052604060002090565b9055611267565b6040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b506040517ff490a6ea000000000000000000000000000000000000000000000000000000008152fd5b846040517ff6fafba0000000000000000000000000000000000000000000000000000000008152fd5b836040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b906020610d9e92818152019061095d565b346102325760406003193601126102325760043567ffffffffffffffff8111610232576114d3903690600401610303565b602435906114e0826102e5565b6000918151916114ef836125f1565b935b83811061150657604051806106318782611491565b806115338473ffffffffffffffffffffffffffffffffffffffff61152c60019587612640565b5116612565565b61153d8288612640565b52016114f1565b34610232576020610d4861155736610d79565b90612565565b346102325760406003193601126102325767ffffffffffffffff6004358181116102325761158f903690600401610303565b9060243590811161023257366023820112156102325780600401356115b3816102cd565b916115c16040519384610266565b81835260209160248385019160051b8301019136831161023257602401905b8282106115f1576100198587612016565b8380916115fd84610644565b8152019101906115e0565b3461023257602060031936011261023257600435611625816102e5565b73ffffffffffffffffffffffffffffffffffffffff8060005416330361046e57816020917fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f9360025560405191168152a1005b3461023257606060031936011261023257600435611695816102e5565b60243560443567ffffffffffffffff8111610232577f2cd6435b1b961c13f55202979edd0765a809f69a539d8a477436c94c1211e43e916116ee6116e061177593369060040161055c565b906116e96117db565b611d6d565b6116f8843361259c565b61177e575b61173933600c1b85836b3fffffffffffffffffffffff61173383859060205263739094b1600c52600c1c6000526034600c205490565b16612529565b611744813386611ce0565b6040805173ffffffffffffffffffffffffffffffffffffffff95909516855260208501919091523393918291820190565b0390a260018055005b6117878461186f565b6116fd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90600182018092116117c957565b61178c565b919082018092116117c957565b6002600154146117ec576002600155565b60046040517fab143c06000000000000000000000000000000000000000000000000000000008152fd5b601c600060649281946020966040519860605260405260601b602c526f23b872dd000000000000000000000000600c525af13d15600160005114171615611861576000606052604052565b637939f4246000526004601cfd5b33600c1b61189382829060205263739094b1600c52600c1c6000526034600c205490565b908115610cee57827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118dc9316919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff60405191168152600060208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2565b92949761194e9073ffffffffffffffffffffffffffffffffffffffff9395986116e96117db565b169361195d6106e1868461259c565b611c285761196b8583612565565b9669ffffffffffffffffffff9687811693848a10611bfe57600c1b976119926004546117bb565b9560026119a9886000526005602052604060002090565b0154431115611bd4576003546119bf90436117ce565b976119e08a8c9060205263739094b1600c52600c1c6000526034600c205490565b605f1c611a009073ffffffffffffffffffffffffffffffffffffffff1690565b611a086102ac565b8c8152602081018a9052604081019a909a5273ffffffffffffffffffffffffffffffffffffffff1660608a015269ffffffffffffffffffff16608089015260a0880192611a6190849069ffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff1660c08801523360e088015273ffffffffffffffffffffffffffffffffffffffff88166101008801528315611ae4575050611ad89791611ad3913391611acd8a6374dfee70600c52600c1c60005260206000205490565b91612422565b612146565b90611ae260018055565b565b819350809250611b0868056bc75e2d63100000925169ffffffffffffffffffff1690565b1611611b1e575050611b1995612146565b611ad8565b611b4f611b4a611b3b33600c1b6000526006602052604060002090565b54670de0b6b3a7640000900490565b6124b0565b81611b6d611b67855169ffffffffffffffffffff1690565b92611c52565b911611918215611bb1575b5050611b8757611b1995612146565b60046040517f1c18f846000000000000000000000000000000000000000000000000000000008152fd5b5169d3c21bcecceda1000000925069ffffffffffffffffffff1616113880611b78565b60046040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b60046040517f22bbb43c000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2e532de000000000000000000000000000000000000000000000000000000008152fd5b90670de0b6b3a7640000918281029281840414901517156117c957565b919082039182116117c957565b9060806020927f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160ff9796604051966000998a968795865216875260405280606052105afa508251923d15611cd357606052604052565b638baa579f90526004601cfd5b60109260209260145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615611d1c57603452565b6390b8ec1890526004601cfd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611d685760051b0190565b611d29565b6000905b828210611d8e575010611d8057565b63dfb035c96000526004601cfd5b90611dae611d9d828585611d58565b356000526005602052604060002090565b611db7816120cd565b805490611dde611161600683015473ffffffffffffffffffffffffffffffffffffffff1690565b6b3fffffffffffffffffffffff611e0b82859060205263739094b1600c52600c1c6000526034600c205490565b1690600493848401946a52b7d2dcc80cd2e4000000611e41611e3a6111f2895469ffffffffffffffffffff1690565b80966117ce565b11611f9f57506005611f2e94611e7c6001989795611ebd956110ef959060205263739094b1600c52600c1c6000526034600c20908154019055565b84547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000168555015473ffffffffffffffffffffffffffffffffffffffff1690565b611edb611ed4826000526006602052604060002090565b5460011c90565b68056bc75e2d631000008111611f845750611f03611f11916000526006602052604060002090565b68056bc75e2d631000009055565b5460501c73ffffffffffffffffffffffffffffffffffffffff1690565b7f830501e61b8b075e170b22a430e39454bdb12ed3e9620e586430b6ac00079da573ffffffffffffffffffffffffffffffffffffffff611f6f848888611d58565b60405190358152921691602090a20190611d71565b90611f99906000526006602052604060002090565b55611f11565b6040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b338103612008576374dfee70600c5280600052816020600020557f0b294da292f26e55fd442b5c0164fbb9013036ff00c5cfdde0efd01c1baaf632600080a3565b6385d1f7266000526004601cfd5b9060009073ffffffffffffffffffffffffffffffffffffffff825416330361046e5782519182156120c057815183036120b357602092919284818080970195019360051b0101925b83810361206c575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a30192019161205e565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b60028101544310611bd4576004015469ffffffffffffffffffff16156120ef57565b60046040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117c95760010190565b9095949391938460005260056020526040600020928451845560208501516001850155604085015160028501556003840160608601516121999073ffffffffffffffffffffffffffffffffffffffff1690565b8154608088015173ffffffffffffffffffffffffffffffffffffffff929092167fffff0000000000000000000000000000000000000000000000000000000000009091161760a091821b7dffffffffffffffffffff0000000000000000000000000000000000000000161790915585018051600486019991959069ffffffffffffffffffff168a547fffffffffffffffffffffffffffffffffffffffffffff000000000000000000001669ffffffffffffffffffff909116178a5560c08701998a516122789073ffffffffffffffffffffffffffffffffffffffff1690565b81547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509190911b7dffffffffffffffffffffffffffffffffffffffff000000000000000000001617905560e087015173ffffffffffffffffffffffffffffffffffffffff166005820190612329919073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61010087015173ffffffffffffffffffffffffffffffffffffffff16906006019061238e919073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61239793612529565b6004546123a390612119565b6004558294516123c69073ffffffffffffffffffffffffffffffffffffffff1690565b915190516040805192835269ffffffffffffffffffff909116602083015273ffffffffffffffffffffffffffffffffffffffff909216917f8fb3989f70bd172a37d15b41b015e48ea09d59329638377304a4198cd0c4ea6591a3565b73ffffffffffffffffffffffffffffffffffffffff8293941692612474575b50500361244a57565b60046040517f3b8474be000000000000000000000000000000000000000000000000000000008152fd5b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156124a557929061247e565b509150503880612441565b6040519060208201907f4d2b1791000000000000000000000000000000000000000000000000000000008252602483015260248252606082019082821067ffffffffffffffff8311176102a7576020926000926040525190600254617530fa90600051911561251b57565b63e10bf1cc6000526004601cfd5b9291909280848103119015176125575760205263739094b1600c52600c1c6000526034600c20908154039055565b63ce3a3d376000526004601cfd5b600092913d15612573575050565b9091925060205263739094b1600c526000526034600c20546b3fffffffffffffffffffffff1690565b600092913d156125aa575050565b9091925060205263739094b1600c526000526034600c205460ff1c90565b6040516020810181811067ffffffffffffffff8211176102a75760405260008152906000368137565b906125fb826102cd565b6126086040519182610266565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061263682946102cd565b0190602036910137565b8051821015611d685760209160051b010190565b908151156127a5576000809280519061266c826125f1565b92612676836125f1565b955b83811061268757505050509190565b806126a861269760019386612640565b516000526005602052604060002090565b546126d8576126b78185612640565b516126c28288612640565b52826126ce828a612640565b5201925b92612678565b69ffffffffffffffffffff61270660046126f56126978589612640565b015469ffffffffffffffffffff1690565b1661273b576127158185612640565b516127208288612640565b5261273461272e828a612640565b60039052565b01926126d2565b600261274a6126978387612640565b015443111561277c5761275d8185612640565b516127688288612640565b52612734612776828a612640565b60029052565b6127868185612640565b516127918288612640565b5261273461279f828a612640565b60019052565b90506127af6125c8565b90610d9e6125c856fea2646970667358221220637ef5dab3f877f94aaa3a47dff24e5d03955b1e35519a927aad5c994df7ece964736f6c63430008130033",
|
|
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102065780630d2a2d441461020157806313af4035146101fc5780632cc0f905146101f7578063328a7181146101f2578063367821f0146101ed578063461f3120146101a757806349ef8448146101e85780634b2ae980146101e3578063574983c8146101de5780635fd8c710146101d957806369cc6af4146101d45780636d82d9e0146101cf57806377cd38a4146101ca5780637f94f65d146101c557806380e1d302146101c057806384ab1d28146101bb5780638da5cb5b146101b65780638db564c2146101b15780639872dbfe146101ac57806398a26871146101a75780639eee8d4b146101a2578063ad8f2eed1461019d578063b0983d3914610198578063c52164c614610193578063c593dfd81461018e578063d1c0702814610189578063d4fac45d14610184578063d6e8b9731461017f578063f7d0e04b1461017a5763fb8c5ef00361000e57611678565b611608565b61155d565b611544565b6114a2565b610f64565b610f30565b610ef6565b610ea0565b610e60565b61093c565b610e42565b610e24565b610df0565b610dba565b610da1565b610d50565b610d18565b610c07565b610bc7565b610b44565b610ae0565b610ab6565b610a1f565b610881565b610651565b61058d565b610498565b61036b565b346102325760206003193601126102325760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102a757604052565b610237565b60405190610120820182811067ffffffffffffffff8211176102a757604052565b67ffffffffffffffff81116102a75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361023257565b81601f820112156102325780359161031a836102cd565b926103286040519485610266565b808452602092838086019260051b820101928311610232578301905b828210610352575050505090565b8380918335610360816102e5565b815201910190610344565b34610232576020806003193601126102325760043567ffffffffffffffff81116102325761039d903690600401610303565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361046e57805181830192849160051b830181013d1515855b811561043a575b50505060405192818401908285525180915260408401949160005b828110610424577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b83518516875295810195928101926001016103f5565b90838260018298969499979951600c1b550190838210156104625791509593959492946103d3565b509593959492946103da565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610232576020600319360112610232576004356104b5816102e5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361046e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b6064359069ffffffffffffffffffff8216820361023257565b6084359069ffffffffffffffffffff8216820361023257565b9181601f840112156102325782359167ffffffffffffffff8311610232576020808501948460051b01011161023257565b346102325760e0600319360112610232576004356105aa816102e5565b602435906105b7826102e5565b604435916105c4836102e5565b6105cc61052a565b916105d5610543565b67ffffffffffffffff9360a435858111610232576105f790369060040161055c565b92909160c435968711610232576106319761061961062198369060040161055c565b979096611927565b6040519081529081906020820190565b0390f35b60643590811515820361023257565b3590811515820361023257565b346102325760a06003193601126102325760043561066e816102e5565b6024356bffffffffffffffffffffffff8116908181036102325760443590610695826102e5565b61069d610635565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b90861615610857576106e56106e18363cbc9d1c4600c526000526020600c205490565b1590565b61082d576b3fffffffffffffffffffffff61071683839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e400000061072e85846117ce565b1161080357826107ee976107a89661077a8961079f967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d61076e6117db565b806107f3575b506117ce565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b30903390611816565b6107b160018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6107fd9033611fc7565b38610774565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b346102325760206003193601126102325760048035600090815260056020818152604092839020805460018201546002830154600384015497840154958401546006909401548751938452948301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff808616606086015269ffffffffffffffffffff60a096871c8116608087015284169585019590955260509290921c841660c084015290831660e08301529190911661010082015261012090f35b34610232576020600319360112610232576020600435546040519015158152f35b90815180825260208080930193019160005b82811061097d575050505090565b83518552938101939281019260010161096f565b906109a49060408352604083019061095d565b81810360209283015282518082529082019282019160009190825b8281106109ce57505050505090565b909192939485516004808210156109f3575081528201948201939291906001016109bf565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610232576020806003193601126102325760043567ffffffffffffffff8111610232573660238201121561023257806004013590610a5d826102cd565b91610a6b6040519384610266565b80835260248484019160051b8301019136831161023257602401905b828210610aa757610a9784612654565b9061063160405192839283610991565b81358152908401908401610a87565b34610232576020600319360112610232576020600435610ad5816102e5565b60405190600c1b8152f35b346102325760206003193601126102325760043573ffffffffffffffffffffffffffffffffffffffff60005416330361046e576020817f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851192600355604051908152a1005b3461023257600080600319360112610bc45773ffffffffffffffffffffffffffffffffffffffff815416330361046e57478180808084335af115610bb7576040805133815260208101929092527feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d91a180f35b63b12d13eb82526004601cfd5b80fd5b34610232576020600319360112610232576020610bfd600435610be9816102e5565b63cbc9d1c4600c526000526020600c205490565b6040519015158152f35b3461023257604060031936011261023257600435610c24816102e5565b602435801515908181036102325733600c1b610c5684829060205263739094b1600c52600c1c6000526034600c205490565b918215610cee57610ca5927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff869260ff1b911617919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff6040519216825260208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2005b60046040517f87138d5c000000000000000000000000000000000000000000000000000000008152fd5b34610232576020600319360112610232576020610d486004356374dfee70600c52600c1c60005260206000205490565b604051908152f35b3461023257604060031936011261023257610019600435610d70816102e5565b60243590611fc7565b600319604091011261023257600435610d91816102e5565b90602435610d9e816102e5565b90565b34610232576020610bfd610db436610d79565b9061259c565b3461023257602060031936011261023257602060405173ffffffffffffffffffffffffffffffffffffffff600435600c1c168152f35b3461023257600060031936011261023257602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b34610232576000600319360112610232576020600454604051908152f35b34610232576000600319360112610232576020600354604051908152f35b34610232576040600319360112610232576020610d48602435610e82816102e5565b6004359060205263739094b1600c52600c1c6000526034600c205490565b3461023257610eae36610d79565b6000903d15610ed9575b60208273ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60205263739094b1600c525260206034600c2054605f1c38610eb8565b346102325760206003193601126102325760043567ffffffffffffffff811161023257610f2a61001991369060040161055c565b90611d6d565b3461023257600060031936011261023257602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346102325760a06003193601126102325760048035906084359060ff8216820361023257610f906117db565b610fa4836000526005602052604060002090565b81810191610fbc835469ffffffffffffffffffff1690565b9169ffffffffffffffffffff908184169586156114685760028201928354431161143f57600383019485549660405161109f816110738b602083019573ffffffffffffffffffffffffffffffffffffffff602435921687917fffffffffffffffffffff00000000000000000000000000000000000000000000907fffffffffffffffffffffffffffffffffffffffff000000000000000000000000603e959360601b16845260b01b166014830152601e8201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610266565b519020928354611416576110f56110ef6110fa9260643590604435906110ea896020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b611c7c565b600c1b90565b541590565b6113ee5750926112886005846111b3611161989560006111858e7f364537f14276f2a0ce9905588413f96454cbb8fb2e4f5308389307c1098bede89f9e9b61117a6112ca9f9c600661116191015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b9b60a01c1690611c6f565b8a547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000168b55965560019055565b01916111d6611161845473ffffffffffffffffffffffffffffffffffffffff1690565b33146113a95783546112019060a01c69ffffffffffffffffffff165b69ffffffffffffffffffff1690565b61122361121b33600c1b6000526006602052604060002090565b9182546117ce565b90556112596112496110ef855473ffffffffffffffffffffffffffffffffffffffff1690565b6000526006602052604060002090565b6112648a82546117ce565b90555b855460501c73ffffffffffffffffffffffffffffffffffffffff1685611ce0565b81546112a29060a01c69ffffffffffffffffffff166111f2565b806112e4575b505050505473ffffffffffffffffffffffffffffffffffffffff9060501c1690565b60408051948552602085019290925292a261001960018055565b611305611161835473ffffffffffffffffffffffffffffffffffffffff1690565b331461139657506111f261135961138d949361137261133b611385955473ffffffffffffffffffffffffffffffffffffffff1690565b61136b6111f2611359855469ffffffffffffffffffff9060a01c1690565b60011c697fffffffffffffffffff1690565b9087611ce0565b5460a01c69ffffffffffffffffffff1690565b903390611ce0565b388080806112a8565b9150506113a4913390611ce0565b61138d565b6113cd896113c86111f2875469ffffffffffffffffffff9060a01c1690565b6117ce565b6113e761121b33600c1b6000526006602052604060002090565b9055611267565b6040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b506040517ff490a6ea000000000000000000000000000000000000000000000000000000008152fd5b846040517ff6fafba0000000000000000000000000000000000000000000000000000000008152fd5b836040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b906020610d9e92818152019061095d565b346102325760406003193601126102325760043567ffffffffffffffff8111610232576114d3903690600401610303565b602435906114e0826102e5565b6000918151916114ef836125f1565b935b83811061150657604051806106318782611491565b806115338473ffffffffffffffffffffffffffffffffffffffff61152c60019587612640565b5116612565565b61153d8288612640565b52016114f1565b34610232576020610d4861155736610d79565b90612565565b346102325760406003193601126102325767ffffffffffffffff6004358181116102325761158f903690600401610303565b9060243590811161023257366023820112156102325780600401356115b3816102cd565b916115c16040519384610266565b81835260209160248385019160051b8301019136831161023257602401905b8282106115f1576100198587612016565b8380916115fd84610644565b8152019101906115e0565b3461023257602060031936011261023257600435611625816102e5565b73ffffffffffffffffffffffffffffffffffffffff8060005416330361046e57816020917fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f9360025560405191168152a1005b3461023257606060031936011261023257600435611695816102e5565b60243560443567ffffffffffffffff8111610232577f2cd6435b1b961c13f55202979edd0765a809f69a539d8a477436c94c1211e43e916116ee6116e061177593369060040161055c565b906116e96117db565b611d6d565b6116f8843361259c565b61177e575b61173933600c1b85836b3fffffffffffffffffffffff61173383859060205263739094b1600c52600c1c6000526034600c205490565b16612529565b611744813386611ce0565b6040805173ffffffffffffffffffffffffffffffffffffffff95909516855260208501919091523393918291820190565b0390a260018055005b6117878461186f565b6116fd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90600182018092116117c957565b61178c565b919082018092116117c957565b6002600154146117ec576002600155565b60046040517fab143c06000000000000000000000000000000000000000000000000000000008152fd5b601c600060649281946020966040519860605260405260601b602c526f23b872dd000000000000000000000000600c525af13d15600160005114171615611861576000606052604052565b637939f4246000526004601cfd5b33600c1b61189382829060205263739094b1600c52600c1c6000526034600c205490565b908115610cee57827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118dc9316919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff60405191168152600060208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2565b92949761194e9073ffffffffffffffffffffffffffffffffffffffff9395986116e96117db565b169361195d6106e1868461259c565b611c285761196b8583612565565b9669ffffffffffffffffffff9687811693848a10611bfe57600c1b976119926004546117bb565b9560026119a9886000526005602052604060002090565b0154431115611bd4576003546119bf90436117ce565b976119e08a8c9060205263739094b1600c52600c1c6000526034600c205490565b605f1c611a009073ffffffffffffffffffffffffffffffffffffffff1690565b611a086102ac565b8c8152602081018a9052604081019a909a5273ffffffffffffffffffffffffffffffffffffffff1660608a015269ffffffffffffffffffff16608089015260a0880192611a6190849069ffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff1660c08801523360e088015273ffffffffffffffffffffffffffffffffffffffff88166101008801528315611ae4575050611ad89791611ad3913391611acd8a6374dfee70600c52600c1c60005260206000205490565b91612422565b612146565b90611ae260018055565b565b819350809250611b0868056bc75e2d63100000925169ffffffffffffffffffff1690565b1611611b1e575050611b1995612146565b611ad8565b611b4f611b4a611b3b33600c1b6000526006602052604060002090565b54670de0b6b3a7640000900490565b6124b0565b81611b6d611b67855169ffffffffffffffffffff1690565b92611c52565b911611918215611bb1575b5050611b8757611b1995612146565b60046040517f1c18f846000000000000000000000000000000000000000000000000000000008152fd5b5169d3c21bcecceda1000000925069ffffffffffffffffffff1616113880611b78565b60046040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b60046040517f22bbb43c000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2e532de000000000000000000000000000000000000000000000000000000008152fd5b90670de0b6b3a7640000918281029281840414901517156117c957565b919082039182116117c957565b9060806020927f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160ff9796604051966000998a968795865216875260405280606052105afa508251923d15611cd357606052604052565b638baa579f90526004601cfd5b60109260209260145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615611d1c57603452565b6390b8ec1890526004601cfd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611d685760051b0190565b611d29565b6000905b828210611d8e575010611d8057565b63dfb035c96000526004601cfd5b90611dae611d9d828585611d58565b356000526005602052604060002090565b611db7816120cd565b805490611dde611161600683015473ffffffffffffffffffffffffffffffffffffffff1690565b6b3fffffffffffffffffffffff611e0b82859060205263739094b1600c52600c1c6000526034600c205490565b1690600493848401946a52b7d2dcc80cd2e4000000611e41611e3a6111f2895469ffffffffffffffffffff1690565b80966117ce565b11611f9f57506005611f2e94611e7c6001989795611ebd956110ef959060205263739094b1600c52600c1c6000526034600c20908154019055565b84547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000168555015473ffffffffffffffffffffffffffffffffffffffff1690565b611edb611ed4826000526006602052604060002090565b5460011c90565b68056bc75e2d631000008111611f845750611f03611f11916000526006602052604060002090565b68056bc75e2d631000009055565b5460501c73ffffffffffffffffffffffffffffffffffffffff1690565b7f830501e61b8b075e170b22a430e39454bdb12ed3e9620e586430b6ac00079da573ffffffffffffffffffffffffffffffffffffffff611f6f848888611d58565b60405190358152921691602090a20190611d71565b90611f99906000526006602052604060002090565b55611f11565b6040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b338103612008576374dfee70600c5280600052816020600020557f0b294da292f26e55fd442b5c0164fbb9013036ff00c5cfdde0efd01c1baaf632600080a3565b6385d1f7266000526004601cfd5b9060009073ffffffffffffffffffffffffffffffffffffffff825416330361046e5782519182156120c057815183036120b357602092919284818080970195019360051b0101925b83810361206c575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a30192019161205e565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b60028101544310611bd4576004015469ffffffffffffffffffff16156120ef57565b60046040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117c95760010190565b9095949391938460005260056020526040600020928451845560208501516001850155604085015160028501556003840160608601516121999073ffffffffffffffffffffffffffffffffffffffff1690565b8154608088015173ffffffffffffffffffffffffffffffffffffffff929092167fffff0000000000000000000000000000000000000000000000000000000000009091161760a091821b7dffffffffffffffffffff0000000000000000000000000000000000000000161790915585018051600486019991959069ffffffffffffffffffff168a547fffffffffffffffffffffffffffffffffffffffffffff000000000000000000001669ffffffffffffffffffff909116178a5560c08701998a516122789073ffffffffffffffffffffffffffffffffffffffff1690565b81547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509190911b7dffffffffffffffffffffffffffffffffffffffff000000000000000000001617905560e087015173ffffffffffffffffffffffffffffffffffffffff166005820190612329919073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61010087015173ffffffffffffffffffffffffffffffffffffffff16906006019061238e919073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61239793612529565b6004546123a390612119565b6004558294516123c69073ffffffffffffffffffffffffffffffffffffffff1690565b915190516040805192835269ffffffffffffffffffff909116602083015273ffffffffffffffffffffffffffffffffffffffff909216917f8fb3989f70bd172a37d15b41b015e48ea09d59329638377304a4198cd0c4ea6591a3565b73ffffffffffffffffffffffffffffffffffffffff8293941692612474575b50500361244a57565b60046040517f3b8474be000000000000000000000000000000000000000000000000000000008152fd5b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156124a557929061247e565b509150503880612441565b6040519060208201907f4d2b1791000000000000000000000000000000000000000000000000000000008252602483015260248252606082019082821067ffffffffffffffff8311176102a7576020926000926040525190600254617530fa90600051911561251b57565b63e10bf1cc6000526004601cfd5b9291909280848103119015176125575760205263739094b1600c52600c1c6000526034600c20908154039055565b63ce3a3d376000526004601cfd5b600092913d15612573575050565b9091925060205263739094b1600c526000526034600c20546b3fffffffffffffffffffffff1690565b600092913d156125aa575050565b9091925060205263739094b1600c526000526034600c205460ff1c90565b6040516020810181811067ffffffffffffffff8211176102a75760405260008152906000368137565b906125fb826102cd565b6126086040519182610266565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061263682946102cd565b0190602036910137565b8051821015611d685760209160051b010190565b908151156127a5576000809280519061266c826125f1565b92612676836125f1565b955b83811061268757505050509190565b806126a861269760019386612640565b516000526005602052604060002090565b546126d8576126b78185612640565b516126c28288612640565b52826126ce828a612640565b5201925b92612678565b69ffffffffffffffffffff61270660046126f56126978589612640565b015469ffffffffffffffffffff1690565b1661273b576127158185612640565b516127208288612640565b5261273461272e828a612640565b60039052565b01926126d2565b600261274a6126978387612640565b015443111561277c5761275d8185612640565b516127688288612640565b52612734612776828a612640565b60029052565b6127868185612640565b516127918288612640565b5261273461279f828a612640565b60019052565b90506127af6125c8565b90610d9e6125c856fea2646970667358221220637ef5dab3f877f94aaa3a47dff24e5d03955b1e35519a927aad5c994df7ece964736f6c63430008130033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|