UNPKG

giveth-bridge

Version:

Mainnet -> sidechain Giveth Bridge.

985 lines 68.3 kB
{ "contractName": "GivethBridgeMock", "source": "./contracts/GivethBridgeMock.sol", "compilerOutput": { "abi": [ { "constant": true, "inputs": [], "name": "maxSecurityGuardDelay", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "token", "type": "address" }, { "name": "accepted", "type": "bool" } ], "name": "whitelistToken", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "checkIn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "giver", "type": "address" }, { "name": "receiverId", "type": "uint64" }, { "name": "token", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "donateAndCreateGiver", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_token", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "escapeFunds", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newTimeLock", "type": "uint256" } ], "name": "setTimelock", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "escapeHatchCaller", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "changeOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "securityGuardLastCheckin", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "giverId", "type": "uint64" }, { "name": "receiverId", "type": "uint64" }, { "name": "token", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "donate", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayment", "type": "uint256" } ], "name": "disburseAuthorizedPayment", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "paused", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_dac", "type": "address" } ], "name": "removeOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "allowed", "type": "bool" } ], "name": "setAllowDisbursePaymentWhenPaused", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "numberOfAuthorizedPayments", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwnerCandidate", "type": "address" } ], "name": "proposeOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_authorize", "type": "bool" } ], "name": "authorizeSpender", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "acceptOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayment", "type": "uint256" } ], "name": "cancelPayment", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayment", "type": "uint256" }, { "name": "_delay", "type": "uint256" } ], "name": "delayPayment", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "allowDisbursePaymentWhenPaused", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_idPayments", "type": "uint256[]" } ], "name": "disburseAuthorizedPayments", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_token", "type": "address" } ], "name": "isTokenEscapable", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "giver", "type": "address" }, { "name": "receiverId", "type": "uint64" } ], "name": "donateAndCreateGiver", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "mock_time", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "authorizedPayments", "outputs": [ { "name": "name", "type": "string" }, { "name": "reference", "type": "bytes32" }, { "name": "spender", "type": "address" }, { "name": "earliestPayTime", "type": "uint256" }, { "name": "canceled", "type": "bool" }, { "name": "paid", "type": "bool" }, { "name": "recipient", "type": "address" }, { "name": "token", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "securityGuardDelay", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_token", "type": "address" } ], "name": "escapeHatch", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_t", "type": "uint256" } ], "name": "setMockedTime", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "securityGuard", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newSecurityGuard", "type": "address" } ], "name": "setSecurityGuard", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "depositEscapedFunds", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "giverId", "type": "uint64" }, { "name": "receiverId", "type": "uint64" } ], "name": "donate", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "timeLock", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "newOwnerCandidate", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newEscapeHatchCaller", "type": "address" } ], "name": "changeHatchEscapeCaller", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "allowedSpenders", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_maxSecurityGuardDelay", "type": "uint256" } ], "name": "setMaxSecurityGuardDelay", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "absoluteMinTimeLock", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_reference", "type": "bytes32" }, { "name": "_recipient", "type": "address" }, { "name": "_token", "type": "address" }, { "name": "_amount", "type": "uint256" }, { "name": "_paymentDelay", "type": "uint256" } ], "name": "authorizePayment", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "escapeHatchDestination", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_escapeHatchCaller", "type": "address" }, { "name": "_escapeHatchDestination", "type": "address" }, { "name": "_absoluteMinTimeLock", "type": "uint256" }, { "name": "_timeLock", "type": "uint256" }, { "name": "_securityGuard", "type": "address" }, { "name": "_maxSecurityGuardDelay", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "giverId", "type": "uint64" }, { "indexed": false, "name": "receiverId", "type": "uint64" }, { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "Donate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "giver", "type": "address" }, { "indexed": false, "name": "receiverId", "type": "uint64" }, { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "DonateAndCreateGiver", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "EscapeFundsCalled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "idPayment", "type": "uint256" }, { "indexed": true, "name": "recipient", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" }, { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "reference", "type": "bytes32" } ], "name": "PaymentAuthorized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "idPayment", "type": "uint256" }, { "indexed": true, "name": "recipient", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" }, { "indexed": false, "name": "token", "type": "address" } ], "name": "PaymentExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "idPayment", "type": "uint256" } ], "name": "PaymentCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "spender", "type": "address" }, { "indexed": false, "name": "authorized", "type": "bool" } ], "name": "SpenderAuthorization", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "token", "type": "address" } ], "name": "EscapeHatchBlackistedToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "token", "type": "address" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "EscapeHatchCalled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "by", "type": "address" }, { "indexed": true, "name": "to", "type": "address" } ], "name": "OwnershipRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "OwnershipRemoved", "type": "event" } ], "evm": { "bytecode": { "object": "60606040526005805460ff19169055341561001957600080fd5b60405160c080611d0e83398101604052808051919060200180519190602001805191906020018051919060200180519190602001805160008054600160a060020a03338116600160a060020a0319928316178355600280549b82169b83169b909b17909a5560038054998b1699821699909917909855600896909655600994909455505060078054959091169490931693909317909155600a919091558052600e6020527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c805460ff19166001179055611c16806100f86000396000f3006060604052600436106101f55763ffffffff60e060020a6000350416630b2e742381146101fa5780630ffb1d8b1461021f578063183ff085146102455780631870c10f146102585780631b28591c146102835780631e891c0a146102a55780631f6eb6e7146102bb5780632af4c31e146102ea5780633f487b8b146103095780633f4ba83a1461031c5780634c4316c71461032f57806352892478146103595780635c975abb1461036f578063666a342714610396578063672f412c146103b557806368b8c5a1146103cd578063710bf322146103e0578063793c0fd4146103ff57806379ba5097146104235780638422927d146104365780638456cb591461044c578063846a5dde1461045f578063859bcc7114610478578063863da0001461048b578063892db057146104da5780638da5cb5b146104f957806391f5c3a81461050c5780639da47a6b1461052d578063a0927a6a14610540578063a142d60814610624578063ab8be23114610643578063b2ca3ec414610659578063bb2a51d11461066c578063bd541ad01461068b578063bde60ac914610693578063d085835a146106ae578063d091b550146106c1578063d836fbe8146106d4578063d8528af0146106f3578063da4793ac14610712578063ea8a66c714610728578063f37b74ca1461073b578063f5b6123014610775575b600080fd5b341561020557600080fd5b61020d610788565b60405190815260200160405180910390f35b341561022a57600080fd5b610243600160a060020a0360043516602435151561078e565b005b341561025057600080fd5b6102436107e4565b610243600160a060020a0360043581169067ffffffffffffffff60243516906044351660643561080c565b341561028e57600080fd5b610243600160a060020a03600435166024356108c0565b34156102b057600080fd5b610243600435610a09565b34156102c657600080fd5b6102ce610a38565b604051600160a060020a03909116815260200160405180910390f35b34156102f557600080fd5b610243600160a060020a0360043516610a47565b341561031457600080fd5b61020d610adb565b341561032757600080fd5b610243610ae1565b61024367ffffffffffffffff60043581169060243516600160a060020a0360443516606435610b45565b341561036457600080fd5b610243600435610bfa565b341561037a57600080fd5b610382610c72565b604051901515815260200160405180910390f35b34156103a157600080fd5b610243600160a060020a0360043516610c7b565b34156103c057600080fd5b6102436004351515610cf8565b34156103d857600080fd5b61020d610d37565b34156103eb57600080fd5b610243600160a060020a0360043516610d3e565b341561040a57600080fd5b610243600160a060020a03600435166024351515610daf565b341561042e57600080fd5b610243610e29565b341561044157600080fd5b610243600435610ea9565b341561045757600080fd5b610243610f5d565b341561046a57600080fd5b610243600435602435610f9c565b341561048357600080fd5b610382611052565b341561049657600080fd5b610243600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061105b95505050505050565b34156104e557600080fd5b610382600160a060020a0360043516611099565b341561050457600080fd5b6102ce6110b8565b610243600160a060020a036004351667ffffffffffffffff602435166110c7565b341561053857600080fd5b61020d6110d4565b341561054b57600080fd5b6105566004356110da565b604051602081018a9052600160a060020a03808a16604083015260608201899052871515608083015286151560a083015285811660c0830152841660e082015261010081018390526101208101829052610140808252819081018c818151815260200191508051906020019080838360005b838110156105e05780820151838201526020016105c8565b50505050905090810190601f16801561060d5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b341561062f57600080fd5b610243600160a060020a03600435166111ee565b341561064e57600080fd5b61024360043561140f565b341561066457600080fd5b6102ce611414565b341561067757600080fd5b610243600160a060020a0360043516611423565b610243611460565b61024367ffffffffffffffff6004358116906024351661147b565b34156106b957600080fd5b61020d611488565b34156106cc57600080fd5b6102ce61148e565b34156106df57600080fd5b610243600160a060020a036004351661149d565b34156106fe57600080fd5b610382600160a060020a03600435166114f5565b341561071d57600080fd5b61024360043561150a565b341561073357600080fd5b61020d61152a565b341561074657600080fd5b61020d602460048035828101929101359035600160a060020a036044358116906064351660843560a435611530565b341561078057600080fd5b6102ce6116e2565b600a5481565b60055460ff161561079e57600080fd5b60005433600160a060020a039081169116146107b957600080fd5b600160a060020a03919091166000908152600e60205260409020805460ff1916911515919091179055565b60075433600160a060020a039081169116146107ff57600080fd5b6108076116f1565b600d55565b60055460009060ff161561081f57600080fd5b600160a060020a038516151561083457600080fd5b67ffffffffffffffff8416151561084a57600080fd5b61085483836116f7565b90507f300ed237d4114d1c2df9984e698721646d6c45633d6c1c5430450cdecf61571d85858584604051600160a060020a03948516815267ffffffffffffffff909316602084015292166040808301919091526060820192909252608001905180910390a15050505050565b60025460009033600160a060020a03908116911614806108ee575060005433600160a060020a039081169116145b15156108f957600080fd5b600160a060020a038316151561094157600354600160a060020a031682156108fc0283604051600060405180830381858888f19350505050151561093c57600080fd5b6109c0565b506003548290600160a060020a038083169163a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561099e57600080fd5b5af115156109ab57600080fd5b5050506040518051905015156109c057600080fd5b7f4ccddcd1a4e33721aee316370fb3e014294985be0755a68c88009b31e1dc4ae38383604051600160a060020a03909216825260208201526040908101905180910390a1505050565b60005433600160a060020a03908116911614610a2457600080fd5b600854811015610a3357600080fd5b600955565b600254600160a060020a031681565b6000805433600160a060020a03908116911614610a6357600080fd5b600160a060020a0382161515610a7857600080fd5b5060008054600160a060020a03838116600160a060020a031980841691909117938490556001805490911690559081169116817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600d5481565b60005433600160a060020a03908116911614610afc57600080fd5b60055460ff161515610b0d57600080fd5b6005805460ff191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60055460009060ff1615610b5857600080fd5b67ffffffffffffffff85161515610b6e57600080fd5b67ffffffffffffffff84161515610b8457600080fd5b610b8e83836116f7565b90507fc77b8feedf86922981aed41179f4a071d80467c7f17c5c13837269e363ac545b8585858460405167ffffffffffffffff9485168152929093166020830152600160a060020a03166040808301919091526060820192909252608001905180910390a15050505050565b60055460009060ff161580610c115750600b5460ff165b1515610c1c57600080fd5b6006548210610c2a57600080fd5b6006805483908110610c3857fe5b9060005260206000209060080201905060095481600301540361070801600d5410151515610c6557600080fd5b610c6e826117d8565b5050565b60055460ff1681565b60005433600160a060020a03908116911614610c9657600080fd5b610dac600160a060020a03821614610cad57600080fd5b60008054600160a060020a03199081169091556001805490911690557f94e8b32e01b9eedfddd778ffbd051a7718cdc14781702884561162dca6f74dbb60405160405180910390a150565b60005433600160a060020a03908116911614610d1357600080fd5b60055460ff161515610d2457600080fd5b600b805460ff1916911515919091179055565b6006545b90565b60005433600160a060020a03908116911614610d5957600080fd5b60018054600160a060020a031916600160a060020a0383811691909117918290559081169033167f13a4b3bc0d5234dd3d87c9f1557d8faefa37986da62c36ba49309e2fb2c9aec460405160405180910390a350565b60005433600160a060020a03908116911614610dca57600080fd5b600160a060020a0382166000818152600c602052604090819020805460ff19168415151790557f801f568efbc3346a6ae3d0c3eb335a30d64e0d3cf08f1c39626d62cd5c82728190839051901515815260200160405180910390a25050565b60015460009033600160a060020a03908116911614610e4757600080fd5b506000805460018054600160a060020a0319808416600160a060020a03838116919091179586905591169091559081169116817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000805433600160a060020a03908116911614610ec557600080fd5b6006548210610ed357600080fd5b6006805483908110610ee157fe5b60009182526020909120600890910201600481015490915060ff1615610f0657600080fd5b6004810154610100900460ff1615610f1d57600080fd5b60048101805460ff19166001179055817ffdf197ed54809861dafe0b4d391843652730ac67274c1e9e46db7687dccaa30160405160405180910390a25050565b60005433600160a060020a03908116911614610f7857600080fd5b60055460ff1615610f8857600080fd5b600b805460ff19169055610f9a6119f9565b565b60075460009033600160a060020a03908116911614610fba57600080fd5b6006548310610fc857600080fd5b670de0b6b3a7640000821115610fdd57600080fd5b6006805484908110610feb57fe5b90600052602060002090600802019050600a54828260070154011115151561101257600080fd5b6004810154610100900460ff161561102957600080fd5b600481015460ff161561103b57600080fd5b600781018054830190556003018054909101905550565b600b5460ff1681565b6000805b82518210156110945782828151811061107457fe5b90602001906020020151905061108981610bfa565b60019091019061105f565b505050565b600160a060020a031660009081526004602052604090205460ff161590565b600054600160a060020a031681565b610c6e828260008061080c565b600f5481565b60068054829081106110e857fe5b9060005260206000209060080201600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111945780601f1061116957610100808354040283529160200191611194565b820191906000526020600020905b81548152906001019060200180831161117757829003601f168201915b5050505060018301546002840154600385015460048601546005870154600688015460079098015496979496600160a060020a039485169650929460ff80841695610100850490911694620100009094048116939216918a565b600254600090819033600160a060020a039081169116148061121e575060005433600160a060020a039081169116145b151561122957600080fd5b600160a060020a03831660009081526004602052604090205460ff161561124f57600080fd5b600160a060020a03831615156112e157600354600160a060020a033081163193501682156108fc0283604051600060405180830381858888f19350505050151561129857600080fd5b7fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f28383604051600160a060020a03909216825260208201526040908101905180910390a1611094565b5081600160a060020a0381166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561133157600080fd5b5af1151561133e57600080fd5b5050506040518051600354909350600160a060020a03808416925063a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156113a457600080fd5b5af115156113b157600080fd5b5050506040518051905015156113c657600080fd5b7fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f28383604051600160a060020a03909216825260208201526040908101905180910390a1505050565b600f55565b600754600160a060020a031681565b60005433600160a060020a0390811691161461143e57600080fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610f9a57600080fd5b610c6e8282600080610b45565b60095481565b600154600160a060020a031681565b60025433600160a060020a03908116911614806114c8575060005433600160a060020a039081169116145b15156114d357600080fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b600c6020526000908152604090205460ff1681565b60005433600160a060020a0390811691161461152557600080fd5b600a55565b60085481565b6005546000908190819060ff161561154757600080fd5b600160a060020a0333166000908152600c602052604090205460ff16151561156e57600080fd5b60068054925082906115839060018301611a5f565b50600680548390811061159257fe5b60009182526020909120600890910201600281018054600160a060020a03191633600160a060020a03161790559050670de0b6b3a76400008411156115d657600080fd5b6009548410156115f1576009546115eb6116f1565b016115fc565b836115fa6116f1565b015b600382015560048101805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038a160217905560068101859055611644818b8b611a8b565b5060018101889055600581018054600160a060020a031916600160a060020a038881169190911791829055600483015460068401546201000090910482169285927fd11935115aa93b9f1f616d0d7702f4593572daa610390123241b3785430281c49291168c604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a35098975050505050505050565b600354600160a060020a031681565b600f5490565b600160a060020a0382166000908152600e602052604081205460ff16151561171e57600080fd5b5080600160a060020a03831615156117335750345b6000811161174057600080fd5b600160a060020a038316156117d25782600160a060020a03166323b872dd33308460405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156117b057600080fd5b5af115156117bd57600080fd5b5050506040518051905015156117d257600080fd5b92915050565b60055460009060ff1615806117ef5750600b5460ff165b15156117fa57600080fd5b600654821061180857600080fd5b600680548390811061181657fe5b60009182526020808320600260089093020191820154600160a060020a03168352600c905260409091205490915060ff16151561185257600080fd5b806003015461185f6116f1565b101561186a57600080fd5b600481015460ff161561187c57600080fd5b6004810154610100900460ff161561189357600080fd5b60048101805461ff0019166101001790556005810154600160a060020a031615156118ff576004810154600682015462010000909104600160a060020a0316906108fc81150290604051600060405180830381858888f1935050505015156118fa57600080fd5b61198d565b600581015460048201546006830154600160a060020a039283169263a9059cbb92620100009004169060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561196b57600080fd5b5af1151561197857600080fd5b50505060405180519050151561198d57600080fd5b600481015460068201546005830154600160a060020a036201000090930483169285927f354f3c0c8efabe1a1a07cf222842b008ef284ac185e63bdf8245be8cd2d97f5192909116604051918252600160a060020a031660208201526040908101905180910390a35050565b60005433600160a060020a03908116911614611a1457600080fd5b60055460ff1615611a2457600080fd5b6005805460ff191660011790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b815481835581811511611094576008028160080283600052602060002091820191016110949190611b09565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611acc5782800160ff19823516178555611af9565b82800160010185558215611af9579182015b82811115611af9578235825591602001919060010190611ade565b50611b05929150611b89565b5090565b610d3b91905b80821115611b05576000611b238282611ba3565b50600060018201819055600282018054600160a060020a03199081169091556003830182905560048301805475ffffffffffffffffffffffffffffffffffffffffffff191690556005830180549091169055600682018190556007820155600801611b0f565b610d3b91905b80821115611b055760008155600101611b8f565b50805460018160011615610100020316600290046000825580601f10611bc95750611be7565b601f016020900490600052602060002090810190611be79190611b89565b505600a165627a7a723058209d72bc232401de2a610a7c4c679fa69a6a354bbe686368cc487ebf7e49fa353c0029", "sourceMap": "904:947:2:-;;;268:26:5;;;-1:-1:-1;;268:26:5;;;981:440:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:5:9;:18;;-1:-1:-1;;;;;1001:10:9;993:18;;-1:-1:-1;;;;;;993:18:9;;;;;;2101:17:8;:38;;;;;;;;;;;;;;;2149:22;:48;;;;;;;;;;;;;;;5231:19:6;:42;;;;5283:8;:20;;;;-1:-1:-1;;5313:13:6;:30;;;;;;;;;;;;;;;;;5353:21;:46;;;;3197:17:1;;:14;981:440:2;3197:17:1;;:24;;-1:-1:-1;;3197:24:1;993:18:9;3197:24:1;;;904:947:2;;;;;;" }, "deployedBytecode": { "object": "6060604052600436106101f55763ffffffff60e060020a6000350416630b2e742381146101fa5780630ffb1d8b1461021f578063183ff085146102455780631870c10f146102585780631b28591c146102835780631e891c0a146102a55780631f6eb6e7146102bb5780632af4c31e146102ea5780633f487b8b146103095780633f4ba83a1461031c5780634c4316c71461032f57806352892478146103595780635c975abb1461036f578063666a342714610396578063672f412c146103b557806368b8c5a1146103cd578063710bf322146103e0578063793c0fd4146103ff57806379ba5097146104235780638422927d146104365780638456cb591461044c578063846a5dde1461045f578063859bcc7114610478578063863da0001461048b578063892db057146104da5780638da5cb5b146104f957806391f5c3a81461050c5780639da47a6b1461052d578063a0927a6a14610540578063a142d60814610624578063ab8be23114610643578063b2ca3ec414610659578063bb2a51d11461066c578063bd541ad01461068b578063bde60ac914610693578063d085835a146106ae578063d091b550146106c1578063d836fbe8146106d4578063d8528af0146106f3578063da4793ac14610712578063ea8a66c714610728578063f37b74ca1461073b578063f5b6123014610775575b600080fd5b341561020557600080fd5b61020d610788565b60405190815260200160405180910390f35b341561022a57600080fd5b610243600160a060020a0360043516602435151561078e565b005b341561025057600080fd5b6102436107e4565b610243600160a060020a0360043581169067ffffffffffffffff60243516906044351660643561080c565b341561028e57600080fd5b610243600160a060020a03600435166024356108c0565b34156102b057600080fd5b610243600435610a09565b34156102c657600080fd5b6102ce610a38565b604051600160a060020a03909116815260200160405180910390f35b34156102f557600080fd5b610243600160a060020a0360043516610a47565b341561031457600080fd5b61020d610adb565b341561032757600080fd5b610243610ae1565b61024367ffffffffffffffff60043581169060243516600160a060020a0360443516606435610b45565b341561036457600080fd5b610243600435610bfa565b341561037a57600080fd5b610382610c72565b604051901515815260200160405180910390f35b34156103a157600080fd5b610243600160a060020a0360043516610c7b565b34156103c057600080fd5b6102436004351515610cf8565b34156103d857600080fd5b61020d610d37565b34156103eb57600080fd5b610243600160a060020a0360043516610d3e565b341561040a57600080fd5b610243600160a060020a03600435166024351515610daf565b341561042e57600080fd5b610243610e29565b341561044157600080fd5b610243600435610ea9565b341561045757600080fd5b610243610f5d565b341561046a57600080fd5b610243600435602435610f9c565b341561048357600080fd5b610382611052565b341561049657600080fd5b610243600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061105b95505050505050565b34156104e557600080fd5b610382600160a060020a0360043516611099565b341561050457600080fd5b6102ce6110b8565b610243600160a060020a036004351667ffffffffffffffff602435166110c7565b341561053857600080fd5b61020d6110d4565b341561054b57600080fd5b6105566004356110da565b604051602081018a9052600160a060020a03808a16604083015260608201899052871515608083015286151560a083015285811660c0830152841660e082015261010081018390526101208101829052610140808252819081018c818151815260200191508051906020019080838360005b838110156105e05780820151838201526020016105c8565b50505050905090810190601f16801561060d5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b341561062f57600080fd5b610243600160a060020a03600435166111ee565b341561064e57600080fd5b61024360043561140f565b341561066457600080fd5b6102ce611414565b341561067757600080fd5b610243600160a060020a0360043516611423565b610243611460565b61024367ffffffffffffffff6004358116906024351661147b565b34156106b957600080fd5b61020d611488565b34156106cc57600080fd5b6102ce61148e565b34156106df57600080fd5b610243600160a060020a036004351661149d565b34156106fe57600080fd5b610382600160a060020a03600435166114f5565b341561071d57600080fd5b61024360043561150a565b341561073357600080fd5b61020d61152a565b341561074657600080fd5b61020d602460048035828101929101359035600160a060020a036044358116906064351660843560a435611530565b341561078057600080fd5b6102ce6116e2565b600a5481565b60055460ff161561079e57600080fd5b60005433600160a060020a039081169116146107b957600080fd5b600160a060020a03919091166000908152600e60205260409020805460ff1916911515919091179055565b60075433600160a060020a039081169116146107ff57600080fd5b6108076116f1565b600d55565b60055460009060ff161561081f57600080fd5b600160a060020a038516151561083457600080fd5b67ffffffffffffffff8416151561084a57600080fd5b61085483836116f7565b90507f300ed237d4114d1c2df9984e698721646d6c45633d6c1c5430450cdecf61571d85858584604051600160a060020a03948516815267ffffffffffffffff909316602084015292166040808301919091526060820192909252608001905180910390a15050505050565b60025460009033600160a060020a03908116911614806108ee575060005433600160a060020a039081169116145b15156108f957600080fd5b600160a060020a038316151561094157600354600160a060020a031682156108fc0283604051600060405180830381858888f19350505050151561093c57600080fd5b6109c0565b506003548290600160a060020a038083169163a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561099e57600080fd5b5af115156109ab57600080fd5b5050506040518051905015156109c057600080fd5b7f4ccddcd1a4e33721aee316370fb3e014294985be0755a68c88009b31e1dc4ae38383604051600160a060020a03909216825260208201526040908101905180910390a1505050565b60005433600160a060020a03908116911614610a2457600080fd5b600854811015610a3357600080fd5b600955565b600254600160a060020a031681565b6000805433600160a060020a03908116911614610a6357600080fd5b600160a060020a0382161515610a7857600080fd5b5060008054600160a060020a03838116600160a060020a031980841691909117938490556001805490911690559081169116817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600d5481565b60005433600160a060020a03908116911614610afc57600080fd5b60055460ff161515610b0d57600080fd5b6005805460ff191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60055460009060ff1615610b5857600080fd5b67ffffffffffffffff85161515610b6e57600080fd5b67ffffffffffffffff84161515610b8457600080fd5b610b8e83836116f7565b90507fc77b8feedf86922981aed41179f4a071d80467c7f17c5c13837269e363ac545b8585858460405167ffffffffffffffff9485168152929093166020830152600160a060020a03166040808301919091526060820192909252608001905180910390a15050505050565b60055460009060ff161580610c115750600b5460ff165b1515610c1c57600080fd5b6006548210610c2a57600080fd5b6006805483908110610c3857fe5b9060005260206000209060080201905060095481600301540361070801600d5410151515610c6557600080fd5b610c6e826117d8565b5050565b60055460ff1681565b60005433600160a060020a03908116911614610c9657600080fd5b610dac600160a060020a03821614610cad57600080fd5b60008054600160a060020a03199081169091556001805490911690557f94e8b32e01b9eedfddd778ffbd051a7718cdc14781702884561162dca6f74dbb60405160405180910390a150565b60005433600160a060020a03908116911614610d1357600080fd5b60055460ff161515610d2457600080fd5b600b805460ff1916911515919091179055565b6006545b90565b60005433600160a060020a03908116911614610d5957600080fd5b60018054600160a060020a031916600160a060020a0383811691909117918290559081169033167f13a4b3bc0d5234dd3d87c9f1557d8faefa37986da62c36ba49309e2fb2c9aec460405160405180910390a350565b60005433600160a060020a03908116911614610dca57600080fd5b600160a060020a0382166000818152600c602052604090819020805460ff19168415151790557f801f568efbc3346a6ae3d0c3eb335a30d64e0d3cf08f1c39626d62cd5c82728190839051901515815260200160405180910390a25050565b60015460009033600160a060020a03908116911614610e4757600080fd5b506000805460018054600160a060020a0319808416600160a060020a03838116919091179586905591169091559081169116817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000805433600160a060020a03908116911614610ec557600080fd5b6006548210610ed357600080fd5b6006805483908110610ee157fe5b60009182526020909120600890910201600481015490915060ff1615610f0657600080fd5b6004810154610100900460ff1615610f1d57600080fd5b60048101805460ff19166001179055817ffdf197ed54809861dafe0b4d391843652730ac67274c1e9e46db7687dccaa30160405160405180910390a25050565b60005433600160a060020a03908116911614610f7857600080fd5b60055460ff1615610f8857600080fd5b600b805460ff19169055610f9a6119f9565b565b60075460009033600160a060020a03908116911614610fba57600080fd5b6006548310610fc857600080fd5b670de0b6b3a7640000821115610fdd57600080fd5b6006805484908110610feb57fe5b90600052602060002090600802019050600a54828260070154011115151561101257600080fd5b6004810154610100900460ff161561102957600080fd5b600481015460ff161561103b57600080fd5b600781018054830190556003018054909101905550565b600b5460ff1681565b6000805b82518210156110945782828151811061107457fe5b90602001906020020151905061108981610bfa565b60019091019061105f565b505050565b600160a060020a031660009081526004602052604090205460ff161590565b600054600160a060020a031681565b610c6e828260008061080c565b600f5481565b60068054829081106110e857fe5b9060005260206000209060080201600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111945780601f1061116957610100808354040283529160200191611194565b820191906000526020600020905b81548152906001019060200180831161117757829003601f168201915b5050505060018301546002840154600385015460048601546005870154600688015460079098015496979496600160a060020a039485169650929460ff80841695610100850490911694620100009094048116939216918a565b600254600090819033600160a060020a039081169116148061121e575060005433600160a060020a039081169116145b151561122957600080fd5b600160a060020a03831660009081526004602052604090205460ff161561124f57600080fd5b600160a060020a03831615156112e157600354600160a060020a033081163193501682156108fc0283604051600060405180830381858888f19350505050151561129857600080fd5b7fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f28383604051600160a060020a03909216825260208201526040908101905180910390a1611094565b5081600160a060020a0381166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561133157600080fd5b5af1151561133e57600080fd5b5050506040518051600354909350600160a060020a03808416925063a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156113a457600080fd5b5af115156113b157600080fd5b5050506040518051905015156113c657600080fd5b7fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f28383604051600160a060020a03909216825260208201526040908101905180910390a1505050565b600f55565b600754600160a060020a031681565b60005433600160a060020a0390811691161461143e57600080fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610f9a57600080fd5b610c6e8282600080610b45565b60095481565b600154600160a060020a031681565b60025433600160a060020a03908116911614806114c8575060005433600160a060020a039081169116145b15156114d357600080fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b600c6020526000908152604090205460ff1681565b60005433600160a060020a0390811691161461152557600080fd5b600a55565b60085481565b6005546000908190819060ff161561154757600080fd5b600160a060020a0333166000908152600c602052604090205460ff16151561156e57600080fd5b60068054925082906115839060018301611a5f565b50600680548390811061159257fe5b60009182526020909120600890910201600281018054600160a060020a03191633600160a060020a03161790559050670de0b6b3a76400008411156115d657600080fd5b6009548410156115f1576009546115eb6116f1565b016115fc565b836115fa6116f1565b015b600382015560048101805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038a160217905560068101859055611644818b8b611a8b565b5060018101889055600581018054600160a060020a031916600160a060020a038881169190911791829055600483015460068401546201000090910482169285927fd11935115aa93b9f1f616d0d7702f4593572daa610390123241b3785430281c49291168c604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a35098975050505050505050565b600354600160a060020a031681565b600f5490565b600160a060020a0382166000908152600e602052604081205460ff16151561171e57600080fd5b5080600160a060020a03831615156117335750345b6000811161174057600080fd5b600160a060020a038316156117d25782600160a060020a03166323b872dd33308460405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156117b057600080fd5b5af115156117bd57600080fd5b5050506040518051905015156117d257600080fd5b92915050565b60055460009060ff1615806117ef5750600b5460ff165b15156117fa57600080fd5b600654821061180857600080fd5b600680548390811061181657fe5b60009182526020808320600260089093020191820154600160a060020a03168352600c905260409091205490915060ff16151561185257600080fd5b806003015461185f6116f1565b101561186a57600080fd5b600481015460ff161561187c57600080fd5b6004810154610100900460ff161561189357600080fd5b60048101805461ff0019166101001790556005810154600160a060020a031615156118ff576004810154600682015462010000909104600160a060020a0316906108fc81150290604051600060405180830381858888f1935050505015156118fa57600080fd5b61198d565b600581015460048201546006830154600160a060020a039283169263a9059cbb92620100009004169060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561196b57600080fd5b5af1151561197857600080fd5b50505060405180519050151561198d57600080fd5b600481015460068201546005830154600160a060020a0362010000