@r3l/common
Version:
685 lines • 55.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "RelevantTokenV3Mock",
"sourceName": "contracts/mocks/RelevantTokenV3Mock.sol",
"abi": [
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "spender",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "vestingContract",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"name": "vestAllocatedTokens",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "amount",
"type": "uint256"
},
{
"name": "signature",
"type": "bytes"
}
],
"name": "claimTokens",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "sender",
"type": "address"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "CLAIM_HASH",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "spender",
"type": "address"
},
{
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "version",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_admin",
"type": "address"
}
],
"name": "setAdmin",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "allocatedRewards",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "initialize",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isOwner",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "spender",
"type": "address"
},
{
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "recipient",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "releaseTokens",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "initializedV3",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "inflation",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "sender",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "lastReward",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newAllocatedRewards",
"type": "uint256"
}
],
"name": "updateAllocatedRewards",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "owner",
"type": "address"
},
{
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_inflation",
"type": "uint256"
}
],
"name": "setInflation",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "account",
"type": "address"
}
],
"name": "nonceOf",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_admin",
"type": "address"
},
{
"name": "_inflation",
"type": "uint256"
}
],
"name": "initV3",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "admin",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"name": "secondsSinceLast",
"type": "uint256"
},
{
"indexed": false,
"name": "timestamp",
"type": "uint256"
}
],
"name": "Released",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "account",
"type": "address"
},
{
"indexed": false,
"name": "amount",
"type": "uint256"
}
],
"name": "Claimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "admin",
"type": "address"
}
],
"name": "SetAdmin",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "inflation",
"type": "uint256"
}
],
"name": "SetInflation",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "allocatedRewards",
"type": "uint256"
}
],
"name": "UpdateAllocatedRewards",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "owner",
"type": "address"
},
{
"indexed": true,
"name": "spender",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
}
],
"bytecode": "0x6080604052612496806100136000396000f3fe608060405234801561001057600080fd5b5060043610610223576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b11610137578063c4d66de8116100ca578063e0a8ed5211610099578063e0a8ed5214610610578063ed2a2d641461062d578063f2fde38b14610653578063f30facf414610679578063f851a440146106a557610223565b8063c4d66de814610597578063c9b17149146105bd578063cc29c347146105c5578063dd62ed3e146105e257610223565b8063a9059cbb11610106578063a9059cbb14610553578063a96f86681461057f578063b782e30314610587578063be0522e01461058f57610223565b80638da5cb5b146104f35780638f32d59b1461051757806395d89b411461051f578063a457c2d71461052757610223565b80633644e515116101ba578063704b6c0211610189578063704b6c021461048f57806370a08231146104b5578063715018a6146104db5780637d556df0146104e35780638129fc1c146104eb57610223565b80633644e51514610436578063395093511461043e57806342966c681461046a57806354fd4d501461048757610223565b806318160ddd116101f657806318160ddd146103c057806323b872dd146103da578063313ce5671461041057806333a6cc581461042e57610223565b806306fdde0314610228578063095ea7b3146102a55780630ff42be4146102e557806314d8bbf114610313575b600080fd5b6102306106ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026a578181015183820152602001610252565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d1600480360360408110156102bb57600080fd5b50600160a060020a03813516906020013561073a565b604080519115158252519081900360200190f35b610311600480360360408110156102fb57600080fd5b50600160a060020a038135169060200135610758565b005b6103116004803603604081101561032957600080fd5b8135919081019060408101602082013564010000000081111561034b57600080fd5b82018360208201111561035d57600080fd5b8035906020019184600183028401116401000000008311171561037f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610826945050505050565b6103c8610a74565b60408051918252519081900360200190f35b6102d1600480360360608110156103f057600080fd5b50600160a060020a03813581169160208101359091169060400135610a7b565b610418610b09565b6040805160ff9092168252519081900360200190f35b6103c8610b13565b6103c8610b37565b6102d16004803603604081101561045457600080fd5b50600160a060020a038135169060200135610b3e565b6103116004803603602081101561048057600080fd5b5035610b92565b610230610c38565b610311600480360360208110156104a557600080fd5b5035600160a060020a0316610c94565b6103c8600480360360208110156104cb57600080fd5b5035600160a060020a0316610d93565b610311610dae565b6103c8610e51565b610311610e58565b6104fb610fc2565b60408051600160a060020a039092168252519081900360200190f35b6102d1610fd1565b610230610ff7565b6102d16004803603604081101561053d57600080fd5b50600160a060020a038135169060200135611053565b6102d16004803603604081101561056957600080fd5b50600160a060020a0381351690602001356110c2565b6103116110d6565b6102d16112b7565b6103c86112c1565b610311600480360360208110156105ad57600080fd5b5035600160a060020a03166112c8565b6103c86113cc565b610311600480360360208110156105db57600080fd5b50356113d3565b6103c8600480360360408110156105f857600080fd5b50600160a060020a03813581169160200135166114ea565b6103116004803603602081101561062657600080fd5b5035611515565b6103c86004803603602081101561064357600080fd5b5035600160a060020a03166115e8565b6103116004803603602081101561066957600080fd5b5035600160a060020a0316611604565b6103116004803603604081101561068f57600080fd5b50600160a060020a038135169060200135611659565b6104fb611895565b61010080546040805160206002600185161586026000190190941693909304601f810184900484028201840190925281815292918301828280156107325780601f1061070757610100808354040283529160200191610732565b820191906000526020600020905b81548152906001019060200180831161071557829003601f168201915b505050505081565b600061074e6107476118a5565b84846118a9565b5060015b92915050565b610760610fd1565b15156107a4576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b610116548111156107ff576040805160e560020a62461bcd02815260206004820181905260248201527f52656c3a206e6f7420656e6f75676820616c6c6f636174656420746f6b656e73604482015290519081900360640190fd5b61080a30838361199f565b6101165461081e908263ffffffff611b0816565b610116555050565b61011d5460ff161515610871576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b610116548211156108cc576040805160e560020a62461bcd02815260206004820181905260248201527f52656c3a206e6f7420656e6f75676820616c6c6f636174656420746f6b656e73604482015290519081900360640190fd5b336000818152610118602090815260408083205481517fa53a2b3fab2ad1dd8877a41407c34f62362beca7419151220729194783585d4c81850152808301959095526060850187905260808086018290528251808703909101815260a08601835280519084012061011e547f190100000000000000000000000000000000000000000000000000000000000060c088015260c287015260e280870182905283518088039091018152610102909601909252845194909201939093209092916109948286611b51565b61010454909150600160a060020a038083169116146109fd576040805160e560020a62461bcd02815260206004820152601960248201527f52656c3a20636c61696d206e6f7420617574686f72697a656400000000000000604482015290519081900360640190fd5b3360009081526101186020526040902060018501905561011654610a27908763ffffffff611b0816565b61011655610a3630338861199f565b60408051878152905133917fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a919081900360200190a2505050505050565b6035545b90565b6000610a8884848461199f565b610aff84610a946118a5565b610afa856060604051908101604052806028815260200161230060289139600160a060020a038a16600090815260346020526040812090610ad36118a5565b600160a060020a03168152602081019190915260400160002054919063ffffffff611c4016565b6118a9565b5060019392505050565b6101015460ff1681565b7fa53a2b3fab2ad1dd8877a41407c34f62362beca7419151220729194783585d4c81565b61011e5481565b600061074e610b4b6118a5565b84610afa8560346000610b5c6118a5565b600160a060020a03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611cda16565b610b9a610fd1565b1515610bde576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b610be83082611d37565b61011654610bf530610d93565b1015610c355760405160e560020a62461bcd0281526004018080602001828103825260218152602001806124256021913960400191505060405180910390fd5b50565b610103805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107325780601f1061070757610100808354040283529160200191610732565b610c9c610fd1565b1515610ce0576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61011d5460ff161515610d2b576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b610104805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905560408051929091168252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a1916020908290030190a150565b600160a060020a031660009081526033602052604090205490565b610db6610fd1565b1515610dfa576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b606854604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36068805473ffffffffffffffffffffffffffffffffffffffff19169055565b6101165481565b600054610100900460ff1680610e715750610e71611e39565b80610e7f575060005460ff16155b1515610ebf5760405160e560020a62461bcd02815260040180806020018281038252602e815260200180612348602e913960400191505060405180910390fd5b600054610100900460ff16158015610eea576000805460ff1961ff0019909116610100171660011790555b610ef3336112c8565b610f063068056bc75e2d63100000611e3f565b6802b5e3af16b1880000610116556040805180820190915260038082527f52454c00000000000000000000000000000000000000000000000000000000006020909201918252610f5991610102916120f8565b506040805180820190915260088082527f52656c6576616e740000000000000000000000000000000000000000000000006020909201918252610f9f91610100916120f8565b50610101805460ff191660121790558015610c35576000805461ff001916905550565b606854600160a060020a031690565b606854600090600160a060020a0316610fe86118a5565b600160a060020a031614905090565b610102805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107325780601f1061070757610100808354040283529160200191610732565b600061074e6110606118a5565b84610afa8560606040519081016040528060258152602001612446602591396034600061108b6118a5565b600160a060020a03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611c4016565b600061074e6110cf6118a5565b848461199f565b61011d5460ff161515611121576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b6101055460001061117c576040805160e560020a62461bcd02815260206004820152601360248201527f52656c3a20696e666c6174696f6e206973203000000000000000000000000000604482015290519081900360640190fd5b60006111946101065442611b0890919063ffffffff16565b90506000620151808204116111dd5760405160e560020a62461bcd0281526004018080602001828103825260278152602001806122666027913960400191505060405180910390fd5b600061121364479d6f6000611207610105546111fb866111fb610a74565b9063ffffffff611f3616565b9063ffffffff611f9616565b6101165490915061122a908263ffffffff611cda16565b61011655600061123930610d93565b90506101165481101561126b576101165460009061125d908363ffffffff611b0816565b90506112693082611e3f565b505b42610106819055604080518481526020810186905280820192909252517ff854feef4c325cc8fcfad1a693b62c4383c8d228c4ca0bc52f9e06095338a5f19181900360600190a1505050565b61011d5460ff1681565b6101055481565b600054610100900460ff16806112e157506112e1611e39565b806112ef575060005460ff16155b151561132f5760405160e560020a62461bcd02815260040180806020018281038252602e815260200180612348602e913960400191505060405180910390fd5b600054610100900460ff1615801561135a576000805460ff1961ff0019909116610100171660011790555b6068805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156113c8576000805461ff00191690555b5050565b6101065481565b6113db610fd1565b151561141f576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61142830610d93565b8111156114695760405160e560020a62461bcd0281526004018080602001828103825260228152602001806121d66022913960400191505060405180910390fd5b610116548110156114ae5760405160e560020a62461bcd0281526004018080602001828103825260258152602001806123e06025913960400191505060405180910390fd5b6101168190556040805182815290517f865f3a638835ca43ecaf61455138a2ae6948763fa8bc9e580f080cb097ad10a19181900360200190a150565b600160a060020a03918216600090815260346020908152604080832093909416825291909152205490565b61151d610fd1565b1515611561576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61011d5460ff1615156115ac576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b6101058190556040805182815290517fa2c906d360736c15f8fc6c4b049228f49b9f4f8dbe56808aa82f316833a055be9181900360200190a150565b600160a060020a03166000908152610118602052604090205490565b61160c610fd1565b1515611650576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b610c3581611fd8565b611661610fd1565b15156116a5576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61011d5460ff1615611701576040805160e560020a62461bcd02815260206004820152601b60248201527f52656c3a20763320616c726561647920696e697469616c697a65640000000000604482015290519081900360640190fd5b42610106556040805180820190915260028082527f7633000000000000000000000000000000000000000000000000000000000000602090920191825261174b91610103916120f8565b5061011d805460ff1916600117905561176382610c94565b61176c81611515565b600061010060405180828054600181600116156101000203166002900480156117cc5780601f106117aa5761010080835404028352918201916117cc565b820191906000526020600020905b8154815290600101906020018083116117b8575b5050604080519182900382208282018252600183527f3100000000000000000000000000000000000000000000000000000000000000602090930192909252519093507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc692506000915080605261228d823960408051918290036052018220602080840191909152828201969096526060820194909452600160808201523060a0808301919091528451808303909101815260c09091019093525050805191012061011e555050565b61010454600160a060020a031681565b3390565b600160a060020a03831615156118f35760405160e560020a62461bcd0281526004018080602001828103825260248152602001806123bc6024913960400191505060405180910390fd5b600160a060020a038216151561193d5760405160e560020a62461bcd02815260040180806020018281038252602281526020018061221e6022913960400191505060405180910390fd5b600160a060020a03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a03831615156119e95760405160e560020a62461bcd0281526004018080602001828103825260258152602001806123976025913960400191505060405180910390fd5b600160a060020a0382161515611a335760405160e560020a62461bcd0281526004018080602001828103825260238152602001806121916023913960400191505060405180910390fd5b611a77816060604051908101604052806026815260200161224060269139600160a060020a038616600090815260336020526040902054919063ffffffff611c4016565b600160a060020a038085166000908152603360205260408082209390935590841681522054611aac908263ffffffff611cda16565b600160a060020a0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000611b4a83836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c40565b9392505050565b8051600090604114611b6557506000610752565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115611bab5760009350505050610752565b8060ff16601b14158015611bc357508060ff16601c14155b15611bd45760009350505050610752565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015611c2b573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008184841115611cd25760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c97578181015183820152602001611c7f565b50505050905090810190601f168015611cc45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611b4a576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600160a060020a0382161515611d815760405160e560020a62461bcd0281526004018080602001828103825260218152602001806123766021913960400191505060405180910390fd5b611dc581606060405190810160405280602281526020016121b460229139600160a060020a038516600090815260336020526040902054919063ffffffff611c4016565b600160a060020a038316600090815260336020526040902055603554611df1908263ffffffff611b0816565b603555604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b303b1590565b600160a060020a0382161515611e9f576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b603554611eb2908263ffffffff611cda16565b603555600160a060020a038216600090815260336020526040902054611ede908263ffffffff611cda16565b600160a060020a03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000821515611f4757506000610752565b828202828482811515611f5657fe5b0414611b4a5760405160e560020a62461bcd0281526004018080602001828103825260218152602001806122df6021913960400191505060405180910390fd5b6000611b4a83836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061208b565b600160a060020a03811615156120225760405160e560020a62461bcd0281526004018080602001828103825260268152602001806121f86026913960400191505060405180910390fd5b606854604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36068805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000818184116120e05760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015611c97578181015183820152602001611c7f565b50600083858115156120ee57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061213957805160ff1916838001178555612166565b82800160010185558215612166579182015b8281111561216657825182559160200191906001019061214b565b50612172929150612176565b5090565b610a7891905b80821115612172576000815560010161217c56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636552656c3a206e6f7420656e6f75676820746f6b656e7320696e20636f6e74726163744f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636552656c3a206c657373207468616e206f6e65206461792066726f6d206c61737420726577617264454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737352656c3a20616c6c6f6361746564526577617264732063616e6e6f7420646563726561736552656c3a207633206e6f7420696e697469616c697a656400000000000000000052656c3a2063616e6e6f74206275726e20616c6c6f636174656420746f6b656e7345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820c7e4afac743a3ab7711110d524e9819ea87b15616ade3657b542aa1f8804fd400029",
"deployedBytecode": "0x608060405234801561001057600080fd5b5060043610610223576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b11610137578063c4d66de8116100ca578063e0a8ed5211610099578063e0a8ed5214610610578063ed2a2d641461062d578063f2fde38b14610653578063f30facf414610679578063f851a440146106a557610223565b8063c4d66de814610597578063c9b17149146105bd578063cc29c347146105c5578063dd62ed3e146105e257610223565b8063a9059cbb11610106578063a9059cbb14610553578063a96f86681461057f578063b782e30314610587578063be0522e01461058f57610223565b80638da5cb5b146104f35780638f32d59b1461051757806395d89b411461051f578063a457c2d71461052757610223565b80633644e515116101ba578063704b6c0211610189578063704b6c021461048f57806370a08231146104b5578063715018a6146104db5780637d556df0146104e35780638129fc1c146104eb57610223565b80633644e51514610436578063395093511461043e57806342966c681461046a57806354fd4d501461048757610223565b806318160ddd116101f657806318160ddd146103c057806323b872dd146103da578063313ce5671461041057806333a6cc581461042e57610223565b806306fdde0314610228578063095ea7b3146102a55780630ff42be4146102e557806314d8bbf114610313575b600080fd5b6102306106ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026a578181015183820152602001610252565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d1600480360360408110156102bb57600080fd5b50600160a060020a03813516906020013561073a565b604080519115158252519081900360200190f35b610311600480360360408110156102fb57600080fd5b50600160a060020a038135169060200135610758565b005b6103116004803603604081101561032957600080fd5b8135919081019060408101602082013564010000000081111561034b57600080fd5b82018360208201111561035d57600080fd5b8035906020019184600183028401116401000000008311171561037f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610826945050505050565b6103c8610a74565b60408051918252519081900360200190f35b6102d1600480360360608110156103f057600080fd5b50600160a060020a03813581169160208101359091169060400135610a7b565b610418610b09565b6040805160ff9092168252519081900360200190f35b6103c8610b13565b6103c8610b37565b6102d16004803603604081101561045457600080fd5b50600160a060020a038135169060200135610b3e565b6103116004803603602081101561048057600080fd5b5035610b92565b610230610c38565b610311600480360360208110156104a557600080fd5b5035600160a060020a0316610c94565b6103c8600480360360208110156104cb57600080fd5b5035600160a060020a0316610d93565b610311610dae565b6103c8610e51565b610311610e58565b6104fb610fc2565b60408051600160a060020a039092168252519081900360200190f35b6102d1610fd1565b610230610ff7565b6102d16004803603604081101561053d57600080fd5b50600160a060020a038135169060200135611053565b6102d16004803603604081101561056957600080fd5b50600160a060020a0381351690602001356110c2565b6103116110d6565b6102d16112b7565b6103c86112c1565b610311600480360360208110156105ad57600080fd5b5035600160a060020a03166112c8565b6103c86113cc565b610311600480360360208110156105db57600080fd5b50356113d3565b6103c8600480360360408110156105f857600080fd5b50600160a060020a03813581169160200135166114ea565b6103116004803603602081101561062657600080fd5b5035611515565b6103c86004803603602081101561064357600080fd5b5035600160a060020a03166115e8565b6103116004803603602081101561066957600080fd5b5035600160a060020a0316611604565b6103116004803603604081101561068f57600080fd5b50600160a060020a038135169060200135611659565b6104fb611895565b61010080546040805160206002600185161586026000190190941693909304601f810184900484028201840190925281815292918301828280156107325780601f1061070757610100808354040283529160200191610732565b820191906000526020600020905b81548152906001019060200180831161071557829003601f168201915b505050505081565b600061074e6107476118a5565b84846118a9565b5060015b92915050565b610760610fd1565b15156107a4576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b610116548111156107ff576040805160e560020a62461bcd02815260206004820181905260248201527f52656c3a206e6f7420656e6f75676820616c6c6f636174656420746f6b656e73604482015290519081900360640190fd5b61080a30838361199f565b6101165461081e908263ffffffff611b0816565b610116555050565b61011d5460ff161515610871576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b610116548211156108cc576040805160e560020a62461bcd02815260206004820181905260248201527f52656c3a206e6f7420656e6f75676820616c6c6f636174656420746f6b656e73604482015290519081900360640190fd5b336000818152610118602090815260408083205481517fa53a2b3fab2ad1dd8877a41407c34f62362beca7419151220729194783585d4c81850152808301959095526060850187905260808086018290528251808703909101815260a08601835280519084012061011e547f190100000000000000000000000000000000000000000000000000000000000060c088015260c287015260e280870182905283518088039091018152610102909601909252845194909201939093209092916109948286611b51565b61010454909150600160a060020a038083169116146109fd576040805160e560020a62461bcd02815260206004820152601960248201527f52656c3a20636c61696d206e6f7420617574686f72697a656400000000000000604482015290519081900360640190fd5b3360009081526101186020526040902060018501905561011654610a27908763ffffffff611b0816565b61011655610a3630338861199f565b60408051878152905133917fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a919081900360200190a2505050505050565b6035545b90565b6000610a8884848461199f565b610aff84610a946118a5565b610afa856060604051908101604052806028815260200161230060289139600160a060020a038a16600090815260346020526040812090610ad36118a5565b600160a060020a03168152602081019190915260400160002054919063ffffffff611c4016565b6118a9565b5060019392505050565b6101015460ff1681565b7fa53a2b3fab2ad1dd8877a41407c34f62362beca7419151220729194783585d4c81565b61011e5481565b600061074e610b4b6118a5565b84610afa8560346000610b5c6118a5565b600160a060020a03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611cda16565b610b9a610fd1565b1515610bde576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b610be83082611d37565b61011654610bf530610d93565b1015610c355760405160e560020a62461bcd0281526004018080602001828103825260218152602001806124256021913960400191505060405180910390fd5b50565b610103805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107325780601f1061070757610100808354040283529160200191610732565b610c9c610fd1565b1515610ce0576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61011d5460ff161515610d2b576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b610104805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905560408051929091168252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a1916020908290030190a150565b600160a060020a031660009081526033602052604090205490565b610db6610fd1565b1515610dfa576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b606854604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36068805473ffffffffffffffffffffffffffffffffffffffff19169055565b6101165481565b600054610100900460ff1680610e715750610e71611e39565b80610e7f575060005460ff16155b1515610ebf5760405160e560020a62461bcd02815260040180806020018281038252602e815260200180612348602e913960400191505060405180910390fd5b600054610100900460ff16158015610eea576000805460ff1961ff0019909116610100171660011790555b610ef3336112c8565b610f063068056bc75e2d63100000611e3f565b6802b5e3af16b1880000610116556040805180820190915260038082527f52454c00000000000000000000000000000000000000000000000000000000006020909201918252610f5991610102916120f8565b506040805180820190915260088082527f52656c6576616e740000000000000000000000000000000000000000000000006020909201918252610f9f91610100916120f8565b50610101805460ff191660121790558015610c35576000805461ff001916905550565b606854600160a060020a031690565b606854600090600160a060020a0316610fe86118a5565b600160a060020a031614905090565b610102805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107325780601f1061070757610100808354040283529160200191610732565b600061074e6110606118a5565b84610afa8560606040519081016040528060258152602001612446602591396034600061108b6118a5565b600160a060020a03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611c4016565b600061074e6110cf6118a5565b848461199f565b61011d5460ff161515611121576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b6101055460001061117c576040805160e560020a62461bcd02815260206004820152601360248201527f52656c3a20696e666c6174696f6e206973203000000000000000000000000000604482015290519081900360640190fd5b60006111946101065442611b0890919063ffffffff16565b90506000620151808204116111dd5760405160e560020a62461bcd0281526004018080602001828103825260278152602001806122666027913960400191505060405180910390fd5b600061121364479d6f6000611207610105546111fb866111fb610a74565b9063ffffffff611f3616565b9063ffffffff611f9616565b6101165490915061122a908263ffffffff611cda16565b61011655600061123930610d93565b90506101165481101561126b576101165460009061125d908363ffffffff611b0816565b90506112693082611e3f565b505b42610106819055604080518481526020810186905280820192909252517ff854feef4c325cc8fcfad1a693b62c4383c8d228c4ca0bc52f9e06095338a5f19181900360600190a1505050565b61011d5460ff1681565b6101055481565b600054610100900460ff16806112e157506112e1611e39565b806112ef575060005460ff16155b151561132f5760405160e560020a62461bcd02815260040180806020018281038252602e815260200180612348602e913960400191505060405180910390fd5b600054610100900460ff1615801561135a576000805460ff1961ff0019909116610100171660011790555b6068805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156113c8576000805461ff00191690555b5050565b6101065481565b6113db610fd1565b151561141f576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61142830610d93565b8111156114695760405160e560020a62461bcd0281526004018080602001828103825260228152602001806121d66022913960400191505060405180910390fd5b610116548110156114ae5760405160e560020a62461bcd0281526004018080602001828103825260258152602001806123e06025913960400191505060405180910390fd5b6101168190556040805182815290517f865f3a638835ca43ecaf61455138a2ae6948763fa8bc9e580f080cb097ad10a19181900360200190a150565b600160a060020a03918216600090815260346020908152604080832093909416825291909152205490565b61151d610fd1565b1515611561576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61011d5460ff1615156115ac576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612405833981519152604482015290519081900360640190fd5b6101058190556040805182815290517fa2c906d360736c15f8fc6c4b049228f49b9f4f8dbe56808aa82f316833a055be9181900360200190a150565b600160a060020a03166000908152610118602052604090205490565b61160c610fd1565b1515611650576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b610c3581611fd8565b611661610fd1565b15156116a5576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612328833981519152604482015290519081900360640190fd5b61011d5460ff1615611701576040805160e560020a62461bcd02815260206004820152601b60248201527f52656c3a20763320616c726561647920696e697469616c697a65640000000000604482015290519081900360640190fd5b42610106556040805180820190915260028082527f7633000000000000000000000000000000000000000000000000000000000000602090920191825261174b91610103916120f8565b5061011d805460ff1916600117905561176382610c94565b61176c81611515565b600061010060405180828054600181600116156101000203166002900480156117cc5780601f106117aa5761010080835404028352918201916117cc565b820191906000526020600020905b8154815290600101906020018083116117b8575b5050604080519182900382208282018252600183527f3100000000000000000000000000000000000000000000000000000000000000602090930192909252519093507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc692506000915080605261228d823960408051918290036052018220602080840191909152828201969096526060820194909452600160808201523060a0808301919091528451808303909101815260c09091019093525050805191012061011e555050565b61010454600160a060020a031681565b3390565b600160a060020a03831615156118f35760405160e560020a62461bcd0281526004018080602001828103825260248152602001806123bc6024913960400191505060405180910390fd5b600160a060020a038216151561193d5760405160e560020a62461bcd02815260040180806020018281038252602281526020018061221e6022913960400191505060405180910390fd5b600160a060020a03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a03831615156119e95760405160e560020a62461bcd0281526004018080602001828103825260