1077 lines
62 KiB
JSON
1077 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"
|
|
},
|
|
{
|
|
"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": "0x608060405262002a8a803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516126279081620004638239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a1620003af565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b156200037b57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b90600090620003c960018060a01b03835416331462000373565b82519182156200045557815183036200044857602092919284818080970195019360051b0101925b83810362000400575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003f1565b63ff633a3890526004601cfd5b63df95788390526004601cfdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e57611594565b611522565b611477565b61145e565b6113bc565b610f2d565b610ef9565b610ebf565b610e69565b610e29565b610811565b610e0b565b610ded565b610db9565b610d20565b610cb9565b610ca0565b610c4f565b610c17565b610b06565b610ae3565b610aa3565b610a1c565b6109b5565b61098b565b6108f4565b610762565b610532565b61047f565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b73ffffffffffffffffffffffffffffffffffffffff6103d1816000541633146116ad565b8151828401939060051b830181013d1515855b811561044b575b50505060405192818401908285525180915260408401949160005b828110610435577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610406565b90838260018298969499979951600c1b550190838210156104735791509593959492946103e4565b509593959492946103eb565b346102425760206003193601126102425760043561049c816102f5565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060009182549073ffffffffffffffffffffffffffffffffffffffff906104e682841633146116ad565b1691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a06003193601126102425760043561054f816102f5565b6024356bffffffffffffffffffffffff8116908181036102425760443590610576826102f5565b61057e610516565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b90861615610738576105c66105c28363cbc9d1c4600c526000526020600c205490565b1590565b61070e576b3fffffffffffffffffffffff6105f783839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e400000061060f8584611754565b116106e457826106cf976106899661065b89610680967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d61064f611761565b806106d4575b50611754565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b3090339061179c565b61069260018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6106de9033611e9d565b38610655565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b3461024257602060031936011261024257600480356000908152600560208181526040928390208054600182015460028301546003840154978401549584015460068501546007860154600890960154895195865296850193909352968301526060820196909652608081019390935273ffffffffffffffffffffffffffffffffffffffff93841660a084015293831660c083015292821660e0820152911661010082015261012090f35b0390f35b34610242576020600319360112610242576020600435546040519015158152f35b90815180825260208080930193019160005b828110610852575050505090565b835185529381019392810192600101610844565b9061087990604083526040830190610832565b81810360209283015282518082529082019282019160009190825b8281106108a357505050505090565b909192939485516004808210156108c857508152820194820193929190600101610894565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610242576020806003193601126102425760043567ffffffffffffffff8111610242573660238201121561024257806004013590610932826102dd565b916109406040519384610276565b80835260248484019160051b8301019136831161024257602401905b82821061097c5761096c846124ab565b9061080d60405192839283610866565b8135815290840190840161095c565b346102425760206003193601126102425760206004356109aa816102f5565b60405190600c1b8152f35b34610242576020600319360112610242577f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b85116020600435610a0f73ffffffffffffffffffffffffffffffffffffffff6000541633146116ad565b80600355604051908152a1005b3461024257600080600319360112610aa057610a5073ffffffffffffffffffffffffffffffffffffffff82541633146116ad565b478180808084335af115610a93576040805133815260208101929092527feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d91a180f35b63b12d13eb82526004601cfd5b80fd5b34610242576020600319360112610242576020610ad9600435610ac5816102f5565b63cbc9d1c4600c526000526020600c205490565b6040519015158152f35b34610242576000600319360112610242576020604051670de0b6b3a76400008152f35b3461024257604060031936011261024257600435610b23816102f5565b602435801515908181036102425733600c1b610b5584829060205263739094b1600c52600c1c6000526034600c205490565b918215610bed57610ba4927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff869260ff1b911617919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff6040519216825260208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2005b60046040517f87138d5c000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576020610c476004356374dfee70600c52600c1c60005260206000205490565b604051908152f35b3461024257604060031936011261024257610019600435610c6f816102f5565b60243590611e9d565b600319604091011261024257600435610c90816102f5565b90602435610c9d816102f5565b90565b34610242576020610ad9610cb336610c78565b906123f3565b3461024257602060031936011261024257602060405173ffffffffffffffffffffffffffffffffffffffff600435600c1c168152f35b9181601f840112156102425782359167ffffffffffffffff8311610242576020808501948460051b01011161024257565b346102425760e060031936011261024257600435610d3d816102f5565b60243590610d4a826102f5565b60443590610d57826102f5565b67ffffffffffffffff9160a43583811161024257610d79903690600401610cef565b9060c4359485116102425761080d95610d99610da9963690600401610cef565b95909460843592606435926118ad565b6040519081529081906020820190565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b34610242576000600319360112610242576020600454604051908152f35b34610242576000600319360112610242576020600354604051908152f35b34610242576040600319360112610242576020610c47602435610e4b816102f5565b6004359060205263739094b1600c52600c1c6000526034600c205490565b3461024257610e7736610c78565b6000903d15610ea2575b60208273ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60205263739094b1600c525260206034600c2054605f1c38610e81565b346102425760206003193601126102425760043567ffffffffffffffff811161024257610ef3610019913690600401610cef565b90611cab565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346102425760a0600319360112610242576084356004803560ff8316830361024257610f57611761565b610f6b816000526005602052604060002090565b906003820180549283156113825784810190815443116113595760058101546040805160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301908152603483018890526024356054840152909790826074810103926110067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094858101835282610276565b5190209188516110556020820192826110498786603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b03908101835282610276565b5190206001835415151461133157885190815260ff999099166020808b019190915260443560408b015260643560608b01526000808052998a9060809060015afa1561132c576110ae6110a98a51600c1b90565b541590565b6113055750859493611242937f364537f14276f2a0ce9905588413f96454cbb8fb2e4f5308389307c1098bede8978461114061110c958d61112561110c600861122b9b015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b95816111376002870197885490611c11565b98555560019055565b6112056006600783019261116b61110c855473ffffffffffffffffffffffffffffffffffffffff1690565b33146112d957845461119561118d33600c1b6000526006602052604060002090565b918254611754565b90556111d16111c16111bb865473ffffffffffffffffffffffffffffffffffffffff1690565b600c1b90565b6000526006602052604060002090565b6111dc8d8254611754565b90555b01946111ff865473ffffffffffffffffffffffffffffffffffffffff1690565b85611c1e565b815480611251575b505050505473ffffffffffffffffffffffffffffffffffffffff1690565b945191825260208201929092529081906040820190565b0390a261124e60018055565b80f35b61127261110c835473ffffffffffffffffffffffffffffffffffffffff1690565b33146112c657506112bd92916112ae6112a26112b5935473ffffffffffffffffffffffffffffffffffffffff1690565b825460011c9085611c1e565b5460011c90565b903390611c1e565b3880808061120d565b9150506112d4913390611c1e565b6112bd565b6112e48c8654611754565b6112fe61118d33600c1b6000526006602052604060002090565b90556111df565b87517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b611c05565b5087517ff490a6ea000000000000000000000000000000000000000000000000000000008152fd5b856040517ff6fafba0000000000000000000000000000000000000000000000000000000008152fd5b846040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b906020610c9d928181520190610832565b346102425760406003193601126102425760043567ffffffffffffffff8111610242576113ed903690600401610313565b602435906113fa826102f5565b60009181519161140983612448565b935b838110611420576040518061080d87826113ab565b8061144d8473ffffffffffffffffffffffffffffffffffffffff61144660019587612497565b51166123bc565b6114578288612497565b520161140b565b34610242576020610c4761147136610c78565b906123bc565b346102425760406003193601126102425767ffffffffffffffff600435818111610242576114a9903690600401610313565b9060243590811161024257366023820112156102425780600401356114cd816102dd565b916114db6040519384610276565b81835260209160248385019160051b8301019136831161024257602401905b82821061150b576100198587611eec565b83809161151784610525565b8152019101906114fa565b34610242576020600319360112610242577fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f6020600435611562816102f5565b73ffffffffffffffffffffffffffffffffffffffff611586816000541633146116ad565b8160025560405191168152a1005b34610242576060600319360112610242576004356115b1816102f5565b60243560443567ffffffffffffffff8111610242577f2cd6435b1b961c13f55202979edd0765a809f69a539d8a477436c94c1211e43e9161160a6115fc611696933690600401610cef565b90611605611761565b611cab565b600161161685336123f3565b15151461169f575b61165a33600c1b85836b3fffffffffffffffffffffff61165483859060205263739094b1600c52600c1c6000526034600c205490565b16612380565b611665813386611c1e565b6040805173ffffffffffffffffffffffffffffffffffffffff95909516855260208501919091523393918291820190565b0390a260018055005b6116a8846117f5565b61161e565b156116b457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b906001820180921161174f57565b611712565b9190820180921161174f57565b600260015414611772576002600155565b60046040517fab143c06000000000000000000000000000000000000000000000000000000008152fd5b601c600060649281946020966040519860605260405260601b602c526f23b872dd000000000000000000000000600c525af13d156001600051141716156117e7576000606052604052565b637939f4246000526004601cfd5b33600c1b61181982829060205263739094b1600c52600c1c6000526034600c205490565b908115610bed57827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118629316919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff60405191168152600060208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2565b906118c698979695949392916118c1611761565b611917565b9060018055565b90670de0b6b3a76400009182810292818404149015171561174f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461174f5760010190565b949673ffffffffffffffffffffffffffffffffffffffff929861193c91959495611cab565b169261194b6105c285836123f3565b611bdb5761195984826123bc565b90828210611bb157600c1b946004966119728854611741565b98886119888b6000526005602052604060002090565b0154431115611b88579087611a498b96959493611a2c6119e96119cd8c6119b160035443611754565b969060205263739094b1600c52600c1c6000526034600c205490565b605f1c73ffffffffffffffffffffffffffffffffffffffff1690565b6119f16102bc565b9a8d8c528a60208d015260408c015260608b019489865260808c015260a08b019073ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff1660c0890152565b3360e088015273ffffffffffffffffffffffffffffffffffffffff88166101008801528215611abb575092611ab09592611aab611ab6999693610c9d9b99963391611aa58a6374dfee70600c52600c1c60005260206000205490565b91612279565b612011565b546118ea565b600455565b805190925068056bc75e2d63100000109050611ae7575092611ab69592610c9d979592611ab095612011565b90919250611b1c611b17611b0833600c1b6000526006602052604060002090565b54670de0b6b3a7640000900490565b612307565b611b278251916118cd565b10908115611b73575b50611b4a5792611ab09287611ab69693610c9d9896612011565b856040517f1c18f846000000000000000000000000000000000000000000000000000000008152fd5b69d3c21bcecceda10000009150511138611b30565b886040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b60046040517f22bbb43c000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2e532de000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b9190820391821161174f57565b60109260209260145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615611c5a57603452565b6390b8ec1890526004601cfd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611ca65760051b0190565b611c67565b9060009182905b828210611ccf575010611cc25750565b63dfb035c990526004601cfd5b90611cef611cde828585611c96565b356000526005602052604060002090565b90611cf982611fa7565b8154611d1f61110c600885015473ffffffffffffffffffffffffffffffffffffffff1690565b926b3fffffffffffffffffffffff611d4d85849060205263739094b1600c52600c1c6000526034600c205490565b169060038101946a52b7d2dcc80cd2e4000000611d6c87548095611754565b116106e457600195611d9f6006948b93611e2c979060205263739094b1600c52600c1c6000526034600c20908154019055565b55611dc46111bb600783015473ffffffffffffffffffffffffffffffffffffffff1690565b611ddb6112ae826000526006602052604060002090565b68056bc75e2d631000008111611e825750611e03611e11916000526006602052604060002090565b68056bc75e2d631000009055565b015473ffffffffffffffffffffffffffffffffffffffff1690565b7f830501e61b8b075e170b22a430e39454bdb12ed3e9620e586430b6ac00079da573ffffffffffffffffffffffffffffffffffffffff611e6d848888611c96565b60405190358152921691602090a20190611cb2565b90611e97906000526006602052604060002090565b55611e11565b338103611ede576374dfee70600c5280600052816020600020557f0b294da292f26e55fd442b5c0164fbb9013036ff00c5cfdde0efd01c1baaf632600080a3565b6385d1f7266000526004601cfd5b90600090611f1273ffffffffffffffffffffffffffffffffffffffff83541633146116ad565b8251918215611f9a5781518303611f8d57602092919284818080970195019360051b0101925b838103611f46575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191611f38565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b60048101544310611fe7576003015415611fbd57565b60046040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b936122557f8fb3989f70bd172a37d15b41b015e48ea09d59329638377304a4198cd0c4ea65949261223b73ffffffffffffffffffffffffffffffffffffffff9598612274948a6000526005602052604060002093875185556020880151600186015560408801516002860155606088019a8b516003870155608089015160048701556120fb6120b760a08b015173ffffffffffffffffffffffffffffffffffffffff1690565b600588019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61223660c08a0196612168612124895173ffffffffffffffffffffffffffffffffffffffff1690565b600683019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b6121d061218c60e08d015173ffffffffffffffffffffffffffffffffffffffff1690565b600783019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60086121f46101008d015173ffffffffffffffffffffffffffffffffffffffff1690565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b612380565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9151945160405193849316958360209093929193604081019481520152565b0390a3565b73ffffffffffffffffffffffffffffffffffffffff82939416926122cb575b5050036122a157565b60046040517f3b8474be000000000000000000000000000000000000000000000000000000008152fd5b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156122fc5792906122d5565b509150503880612298565b6040519060208201907f4d2b1791000000000000000000000000000000000000000000000000000000008252602483015260248252606082019082821067ffffffffffffffff8311176102b7576020926000926040525190600254617530fa90600051911561237257565b63e10bf1cc6000526004601cfd5b9291909280848103119015176123ae5760205263739094b1600c52600c1c6000526034600c20908154039055565b63ce3a3d376000526004601cfd5b600092913d156123ca575050565b9091925060205263739094b1600c526000526034600c20546b3fffffffffffffffffffffff1690565b600092913d15612401575050565b9091925060205263739094b1600c526000526034600c205460ff1c90565b6040516020810181811067ffffffffffffffff8211176102b75760405260008152906000368137565b90612452826102dd565b61245f6040519182610276565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061248d82946102dd565b0190602036910137565b8051821015611ca65760209160051b010190565b908151156125de57600080928051906124c382612448565b926124cd83612448565b955b8381106124de57505050509190565b806124ff6124ee60019386612497565b516000526005602052604060002090565b5461252f5761250e8185612497565b516125198288612497565b5282612525828a612497565b5201925b926124cf565b600361253e6124ee8387612497565b01546125745761254e8185612497565b516125598288612497565b5261256d612567828a612497565b60039052565b0192612529565b60046125836124ee8387612497565b01544311156125b5576125968185612497565b516125a18288612497565b5261256d6125af828a612497565b60029052565b6125bf8185612497565b516125ca8288612497565b5261256d6125d8828a612497565b60019052565b90506125e861241f565b90610c9d61241f56fea26469706673582212206ea195dd81afc0218be546387a10d6df5dc2cc428d5f2e970c86b7514266fd4964736f6c63430008130033",
|
|
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e57611594565b611522565b611477565b61145e565b6113bc565b610f2d565b610ef9565b610ebf565b610e69565b610e29565b610811565b610e0b565b610ded565b610db9565b610d20565b610cb9565b610ca0565b610c4f565b610c17565b610b06565b610ae3565b610aa3565b610a1c565b6109b5565b61098b565b6108f4565b610762565b610532565b61047f565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b73ffffffffffffffffffffffffffffffffffffffff6103d1816000541633146116ad565b8151828401939060051b830181013d1515855b811561044b575b50505060405192818401908285525180915260408401949160005b828110610435577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610406565b90838260018298969499979951600c1b550190838210156104735791509593959492946103e4565b509593959492946103eb565b346102425760206003193601126102425760043561049c816102f5565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060009182549073ffffffffffffffffffffffffffffffffffffffff906104e682841633146116ad565b1691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a06003193601126102425760043561054f816102f5565b6024356bffffffffffffffffffffffff8116908181036102425760443590610576826102f5565b61057e610516565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b90861615610738576105c66105c28363cbc9d1c4600c526000526020600c205490565b1590565b61070e576b3fffffffffffffffffffffff6105f783839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e400000061060f8584611754565b116106e457826106cf976106899661065b89610680967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d61064f611761565b806106d4575b50611754565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b3090339061179c565b61069260018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6106de9033611e9d565b38610655565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b3461024257602060031936011261024257600480356000908152600560208181526040928390208054600182015460028301546003840154978401549584015460068501546007860154600890960154895195865296850193909352968301526060820196909652608081019390935273ffffffffffffffffffffffffffffffffffffffff93841660a084015293831660c083015292821660e0820152911661010082015261012090f35b0390f35b34610242576020600319360112610242576020600435546040519015158152f35b90815180825260208080930193019160005b828110610852575050505090565b835185529381019392810192600101610844565b9061087990604083526040830190610832565b81810360209283015282518082529082019282019160009190825b8281106108a357505050505090565b909192939485516004808210156108c857508152820194820193929190600101610894565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610242576020806003193601126102425760043567ffffffffffffffff8111610242573660238201121561024257806004013590610932826102dd565b916109406040519384610276565b80835260248484019160051b8301019136831161024257602401905b82821061097c5761096c846124ab565b9061080d60405192839283610866565b8135815290840190840161095c565b346102425760206003193601126102425760206004356109aa816102f5565b60405190600c1b8152f35b34610242576020600319360112610242577f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b85116020600435610a0f73ffffffffffffffffffffffffffffffffffffffff6000541633146116ad565b80600355604051908152a1005b3461024257600080600319360112610aa057610a5073ffffffffffffffffffffffffffffffffffffffff82541633146116ad565b478180808084335af115610a93576040805133815260208101929092527feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d91a180f35b63b12d13eb82526004601cfd5b80fd5b34610242576020600319360112610242576020610ad9600435610ac5816102f5565b63cbc9d1c4600c526000526020600c205490565b6040519015158152f35b34610242576000600319360112610242576020604051670de0b6b3a76400008152f35b3461024257604060031936011261024257600435610b23816102f5565b602435801515908181036102425733600c1b610b5584829060205263739094b1600c52600c1c6000526034600c205490565b918215610bed57610ba4927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff869260ff1b911617919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff6040519216825260208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2005b60046040517f87138d5c000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576020610c476004356374dfee70600c52600c1c60005260206000205490565b604051908152f35b3461024257604060031936011261024257610019600435610c6f816102f5565b60243590611e9d565b600319604091011261024257600435610c90816102f5565b90602435610c9d816102f5565b90565b34610242576020610ad9610cb336610c78565b906123f3565b3461024257602060031936011261024257602060405173ffffffffffffffffffffffffffffffffffffffff600435600c1c168152f35b9181601f840112156102425782359167ffffffffffffffff8311610242576020808501948460051b01011161024257565b346102425760e060031936011261024257600435610d3d816102f5565b60243590610d4a826102f5565b60443590610d57826102f5565b67ffffffffffffffff9160a43583811161024257610d79903690600401610cef565b9060c4359485116102425761080d95610d99610da9963690600401610cef565b95909460843592606435926118ad565b6040519081529081906020820190565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b34610242576000600319360112610242576020600454604051908152f35b34610242576000600319360112610242576020600354604051908152f35b34610242576040600319360112610242576020610c47602435610e4b816102f5565b6004359060205263739094b1600c52600c1c6000526034600c205490565b3461024257610e7736610c78565b6000903d15610ea2575b60208273ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60205263739094b1600c525260206034600c2054605f1c38610e81565b346102425760206003193601126102425760043567ffffffffffffffff811161024257610ef3610019913690600401610cef565b90611cab565b3461024257600060031936011261024257602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b346102425760a0600319360112610242576084356004803560ff8316830361024257610f57611761565b610f6b816000526005602052604060002090565b906003820180549283156113825784810190815443116113595760058101546040805160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301908152603483018890526024356054840152909790826074810103926110067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094858101835282610276565b5190209188516110556020820192826110498786603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b03908101835282610276565b5190206001835415151461133157885190815260ff999099166020808b019190915260443560408b015260643560608b01526000808052998a9060809060015afa1561132c576110ae6110a98a51600c1b90565b541590565b6113055750859493611242937f364537f14276f2a0ce9905588413f96454cbb8fb2e4f5308389307c1098bede8978461114061110c958d61112561110c600861122b9b015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b95816111376002870197885490611c11565b98555560019055565b6112056006600783019261116b61110c855473ffffffffffffffffffffffffffffffffffffffff1690565b33146112d957845461119561118d33600c1b6000526006602052604060002090565b918254611754565b90556111d16111c16111bb865473ffffffffffffffffffffffffffffffffffffffff1690565b600c1b90565b6000526006602052604060002090565b6111dc8d8254611754565b90555b01946111ff865473ffffffffffffffffffffffffffffffffffffffff1690565b85611c1e565b815480611251575b505050505473ffffffffffffffffffffffffffffffffffffffff1690565b945191825260208201929092529081906040820190565b0390a261124e60018055565b80f35b61127261110c835473ffffffffffffffffffffffffffffffffffffffff1690565b33146112c657506112bd92916112ae6112a26112b5935473ffffffffffffffffffffffffffffffffffffffff1690565b825460011c9085611c1e565b5460011c90565b903390611c1e565b3880808061120d565b9150506112d4913390611c1e565b6112bd565b6112e48c8654611754565b6112fe61118d33600c1b6000526006602052604060002090565b90556111df565b87517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b611c05565b5087517ff490a6ea000000000000000000000000000000000000000000000000000000008152fd5b856040517ff6fafba0000000000000000000000000000000000000000000000000000000008152fd5b846040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b906020610c9d928181520190610832565b346102425760406003193601126102425760043567ffffffffffffffff8111610242576113ed903690600401610313565b602435906113fa826102f5565b60009181519161140983612448565b935b838110611420576040518061080d87826113ab565b8061144d8473ffffffffffffffffffffffffffffffffffffffff61144660019587612497565b51166123bc565b6114578288612497565b520161140b565b34610242576020610c4761147136610c78565b906123bc565b346102425760406003193601126102425767ffffffffffffffff600435818111610242576114a9903690600401610313565b9060243590811161024257366023820112156102425780600401356114cd816102dd565b916114db6040519384610276565b81835260209160248385019160051b8301019136831161024257602401905b82821061150b576100198587611eec565b83809161151784610525565b8152019101906114fa565b34610242576020600319360112610242577fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f6020600435611562816102f5565b73ffffffffffffffffffffffffffffffffffffffff611586816000541633146116ad565b8160025560405191168152a1005b34610242576060600319360112610242576004356115b1816102f5565b60243560443567ffffffffffffffff8111610242577f2cd6435b1b961c13f55202979edd0765a809f69a539d8a477436c94c1211e43e9161160a6115fc611696933690600401610cef565b90611605611761565b611cab565b600161161685336123f3565b15151461169f575b61165a33600c1b85836b3fffffffffffffffffffffff61165483859060205263739094b1600c52600c1c6000526034600c205490565b16612380565b611665813386611c1e565b6040805173ffffffffffffffffffffffffffffffffffffffff95909516855260208501919091523393918291820190565b0390a260018055005b6116a8846117f5565b61161e565b156116b457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b906001820180921161174f57565b611712565b9190820180921161174f57565b600260015414611772576002600155565b60046040517fab143c06000000000000000000000000000000000000000000000000000000008152fd5b601c600060649281946020966040519860605260405260601b602c526f23b872dd000000000000000000000000600c525af13d156001600051141716156117e7576000606052604052565b637939f4246000526004601cfd5b33600c1b61181982829060205263739094b1600c52600c1c6000526034600c205490565b908115610bed57827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118629316919060205263739094b1600c52600c1c6000526034600c2055565b73ffffffffffffffffffffffffffffffffffffffff60405191168152600060208201527fca585721b6b442dc9183932f7c84dc2880efb67c4da52cc06873e78971105d4960403392a2565b906118c698979695949392916118c1611761565b611917565b9060018055565b90670de0b6b3a76400009182810292818404149015171561174f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461174f5760010190565b949673ffffffffffffffffffffffffffffffffffffffff929861193c91959495611cab565b169261194b6105c285836123f3565b611bdb5761195984826123bc565b90828210611bb157600c1b946004966119728854611741565b98886119888b6000526005602052604060002090565b0154431115611b88579087611a498b96959493611a2c6119e96119cd8c6119b160035443611754565b969060205263739094b1600c52600c1c6000526034600c205490565b605f1c73ffffffffffffffffffffffffffffffffffffffff1690565b6119f16102bc565b9a8d8c528a60208d015260408c015260608b019489865260808c015260a08b019073ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff1660c0890152565b3360e088015273ffffffffffffffffffffffffffffffffffffffff88166101008801528215611abb575092611ab09592611aab611ab6999693610c9d9b99963391611aa58a6374dfee70600c52600c1c60005260206000205490565b91612279565b612011565b546118ea565b600455565b805190925068056bc75e2d63100000109050611ae7575092611ab69592610c9d979592611ab095612011565b90919250611b1c611b17611b0833600c1b6000526006602052604060002090565b54670de0b6b3a7640000900490565b612307565b611b278251916118cd565b10908115611b73575b50611b4a5792611ab09287611ab69693610c9d9896612011565b856040517f1c18f846000000000000000000000000000000000000000000000000000000008152fd5b69d3c21bcecceda10000009150511138611b30565b886040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b60046040517f22bbb43c000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2e532de000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b9190820391821161174f57565b60109260209260145260345260446000938480936fa9059cbb00000000000000000000000082525af13d156001835114171615611c5a57603452565b6390b8ec1890526004601cfd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611ca65760051b0190565b611c67565b9060009182905b828210611ccf575010611cc25750565b63dfb035c990526004601cfd5b90611cef611cde828585611c96565b356000526005602052604060002090565b90611cf982611fa7565b8154611d1f61110c600885015473ffffffffffffffffffffffffffffffffffffffff1690565b926b3fffffffffffffffffffffff611d4d85849060205263739094b1600c52600c1c6000526034600c205490565b169060038101946a52b7d2dcc80cd2e4000000611d6c87548095611754565b116106e457600195611d9f6006948b93611e2c979060205263739094b1600c52600c1c6000526034600c20908154019055565b55611dc46111bb600783015473ffffffffffffffffffffffffffffffffffffffff1690565b611ddb6112ae826000526006602052604060002090565b68056bc75e2d631000008111611e825750611e03611e11916000526006602052604060002090565b68056bc75e2d631000009055565b015473ffffffffffffffffffffffffffffffffffffffff1690565b7f830501e61b8b075e170b22a430e39454bdb12ed3e9620e586430b6ac00079da573ffffffffffffffffffffffffffffffffffffffff611e6d848888611c96565b60405190358152921691602090a20190611cb2565b90611e97906000526006602052604060002090565b55611e11565b338103611ede576374dfee70600c5280600052816020600020557f0b294da292f26e55fd442b5c0164fbb9013036ff00c5cfdde0efd01c1baaf632600080a3565b6385d1f7266000526004601cfd5b90600090611f1273ffffffffffffffffffffffffffffffffffffffff83541633146116ad565b8251918215611f9a5781518303611f8d57602092919284818080970195019360051b0101925b838103611f46575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191611f38565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b60048101544310611fe7576003015415611fbd57565b60046040517f63b4904e000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd0404f85000000000000000000000000000000000000000000000000000000008152fd5b936122557f8fb3989f70bd172a37d15b41b015e48ea09d59329638377304a4198cd0c4ea65949261223b73ffffffffffffffffffffffffffffffffffffffff9598612274948a6000526005602052604060002093875185556020880151600186015560408801516002860155606088019a8b516003870155608089015160048701556120fb6120b760a08b015173ffffffffffffffffffffffffffffffffffffffff1690565b600588019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b61223660c08a0196612168612124895173ffffffffffffffffffffffffffffffffffffffff1690565b600683019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b6121d061218c60e08d015173ffffffffffffffffffffffffffffffffffffffff1690565b600783019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60086121f46101008d015173ffffffffffffffffffffffffffffffffffffffff1690565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b612380565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9151945160405193849316958360209093929193604081019481520152565b0390a3565b73ffffffffffffffffffffffffffffffffffffffff82939416926122cb575b5050036122a157565b60046040517f3b8474be000000000000000000000000000000000000000000000000000000008152fd5b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156122fc5792906122d5565b509150503880612298565b6040519060208201907f4d2b1791000000000000000000000000000000000000000000000000000000008252602483015260248252606082019082821067ffffffffffffffff8311176102b7576020926000926040525190600254617530fa90600051911561237257565b63e10bf1cc6000526004601cfd5b9291909280848103119015176123ae5760205263739094b1600c52600c1c6000526034600c20908154039055565b63ce3a3d376000526004601cfd5b600092913d156123ca575050565b9091925060205263739094b1600c526000526034600c20546b3fffffffffffffffffffffff1690565b600092913d15612401575050565b9091925060205263739094b1600c526000526034600c205460ff1c90565b6040516020810181811067ffffffffffffffff8211176102b75760405260008152906000368137565b90612452826102dd565b61245f6040519182610276565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061248d82946102dd565b0190602036910137565b8051821015611ca65760209160051b010190565b908151156125de57600080928051906124c382612448565b926124cd83612448565b955b8381106124de57505050509190565b806124ff6124ee60019386612497565b516000526005602052604060002090565b5461252f5761250e8185612497565b516125198288612497565b5282612525828a612497565b5201925b926124cf565b600361253e6124ee8387612497565b01546125745761254e8185612497565b516125598288612497565b5261256d612567828a612497565b60039052565b0192612529565b60046125836124ee8387612497565b01544311156125b5576125968185612497565b516125a18288612497565b5261256d6125af828a612497565b60029052565b6125bf8185612497565b516125ca8288612497565b5261256d6125d8828a612497565b60019052565b90506125e861241f565b90610c9d61241f56fea26469706673582212206ea195dd81afc0218be546387a10d6df5dc2cc428d5f2e970c86b7514266fd4964736f6c63430008130033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|