0 txs
0 calls
constructor
No constructor.
functions
channel
viewfunction channel(uint256 channelId) view returns (tuple)
channelPrice
viewfunction channelPrice(uint256) view returns (uint256)
consumerContractWhitelist
viewfunction consumerContractWhitelist(address) view returns (bool)
owner
viewfunction owner() view returns (address)
settings
viewfunction settings() view returns (address)
terminateExpiration
viewfunction terminateExpiration() view returns (uint256)
checkpoint
nonpayablefunction checkpoint(tuple query)
claim
nonpayablefunction claim(uint256 channelId)
extend
nonpayablefunction extend(uint256 channelId, uint256 preExpirationAt, uint256 expiration, bytes indexerSign, bytes consumerSign, uint256 price)
fund
nonpayablefunction fund(uint256 channelId, uint256 preTotal, uint256 amount, bytes callback, bytes sign)
initialize
nonpayablefunction initialize(address _settings)
open
nonpayablefunction open(uint256 channelId, address indexer, address consumer, uint256 amount, uint256 price, uint256 expiration, bytes32 deploymentId, bytes callback, bytes indexerSign, bytes consumerSign)
renounceOwnership
nonpayablefunction renounceOwnership()
respond
nonpayablefunction respond(tuple query)
setConsumerContractWhitelist
nonpayablefunction setConsumerContractWhitelist(address consumerContract, bool status)
setSettings
nonpayablefunction setSettings(address _settings)
setTerminateExpiration
nonpayablefunction setTerminateExpiration(uint256 expiration)
terminate
nonpayablefunction terminate(tuple query)
terminateWithCurrentState
nonpayablefunction terminateWithCurrentState(uint256 channelId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ChannelCheckpoint
event ChannelCheckpoint(uint256 indexed channelId, uint256 spent, bool isFinal)
ChannelExtend
event ChannelExtend(uint256 indexed channelId, uint256 expiredAt, uint256 price)
ChannelFinalize
event ChannelFinalize(uint256 indexed channelId, uint256 total, uint256 remain)
ChannelFund
event ChannelFund(uint256 indexed channelId, uint256 realTotal, uint256 total)
ChannelLabor
event ChannelLabor(bytes32 deploymentId, address indexer, uint256 amount)
ChannelLabor2
event ChannelLabor2(uint256 indexed channelId, bytes32 deploymentId, address indexer, uint256 amount)
ChannelOpen
event ChannelOpen(uint256 indexed channelId, address indexer, address consumer, uint256 total, uint256 price, uint256 expiredAt, bytes32 deploymentId, bytes callback)
ChannelTerminate
event ChannelTerminate(uint256 indexed channelId, uint256 spent, uint256 terminatedAt, bool terminateByIndexer)
ConsumerContractWhitelistChanged
event ConsumerContractWhitelistChanged(address consumerContract, bool status)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Parameter
event Parameter(string name, bytes value)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613938806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806393368310116100ad578063cd739ca511610071578063cd739ca51461028d578063e06174e4146102ad578063f2fde38b146102c0578063f4d59b58146102d3578063f771c57b146102e657600080fd5b8063933683101461022e578063a01d3c2c14610241578063b390e43e14610254578063bacc28bb14610267578063c4d66de81461027a57600080fd5b8063381930e6116100f4578063381930e6146101d25780633b09c0b9146101db5780634f066fca146101ee578063715018a6146102015780638da5cb5b1461020957600080fd5b80630455fd18146101315780632005864a14610164578063276b00c014610179578063291503eb1461018c578063379607f5146101bf575b600080fd5b61015161013f366004613050565b60686020526000908152604090205481565b6040519081526020015b60405180910390f35b610177610172366004613069565b6102f9565b005b610177610187366004613169565b6104e3565b6101af61019a366004613212565b60696020526000908152604090205460ff1681565b604051901515815260200161015b565b6101776101cd366004613050565b6106db565b61015160665481565b6101776101e9366004613050565b61075f565b6101776101fc36600461322f565b6107bf565b610177610996565b6033546001600160a01b03165b6040516001600160a01b03909116815260200161015b565b61017761023c3660046132b0565b6109aa565b61017761024f366004613212565b610d8f565b61017761026236600461339a565b610db9565b610177610275366004613069565b610e25565b610177610288366004613212565b61105a565b6102a061029b366004613050565b6111d9565b60405161015b91906133fd565b606554610216906001600160a01b031681565b6101776102ce366004613212565b6112e5565b6101776102e1366004613050565b61135e565b6101776102f4366004613069565b6115df565b6001813560009081526067602052604090205460ff166002811115610320576103206133d3565b1461035a5760405162461bcd60e51b815260206004820152600560248201526414d0cc0c0d60da1b60448201526064015b60405180910390fd5b803560009081526067602090815260409091206004015490820135116103925760405162461bcd60e51b8152600401610351906134a1565b6000813560208301356103ab60608501604086016134c0565b6040805160208101949094528301919091521515606082015260800160408051601f19818403018152919052805160209091012090506104708235826103f460608601866134dd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104369250505060808701876134dd565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198692505050565b81357fb3a2afaa64af32fdb05b5d3b4ad78b4ea624153b4cbfb05770dbe725997d0aaf60208401356104a860608601604087016134c0565b6040805192835290151560208301520160405180910390a26104df823560208401356104da60608601604087016134c0565b611a70565b5050565b6000868152606760205260409020805460018201546005909201546101009091046001600160a01b0390811692169087146105485760405162461bcd60e51b815260206004820152600560248201526429a198181960d91b6044820152606401610351565b6040805160208082018b90526001600160a01b0385811683850152841660608301526080820186905260a082018a905260c08083018a90528351808403909101815260e090920190925280519101206105a082611cac565b1561063757604051630f685fa960e01b81526001600160a01b03831690630f685fa9906105d5908c9085908a9060040161357c565b602060405180830381865afa1580156105f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061691906135a4565b6106325760405162461bcd60e51b8152600401610351906135c1565b610644565b6106448186846000611d43565b6106518187856001611d43565b600089815260676020526040812060050180548992906106729084906135f5565b9091555050600089815260686020908152604080832087905560678252918290206005015482519081529081018690528a917f82ca7cea36badd3b0fed2ea847b896ef726c843271bc7bc6d800cfbd7c1dda5e91015b60405180910390a2505050505050505050565b6000600260008381526067602052604090205460ff166002811115610702576107026133d3565b14801561071f575060008281526067602052604090206006015442115b9050806107565760405162461bcd60e51b81526020600482015260056024820152640a6866060760db1b6044820152606401610351565b6104df8261203d565b6107676124f9565b606681905560408051602081018390527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f19818403018152908290526107b49161360d565b60405180910390a150565b600160008681526067602052604090205460ff1660028111156107e4576107e46133d3565b146108195760405162461bcd60e51b8152602060048201526005602482015264534330303360d81b6044820152606401610351565b60008581526067602052604090206003015484146108615760405162461bcd60e51b8152602060048201526005602482015264053433031360dc1b6044820152606401610351565b6000858152606760209081526040808320805460019091015491516101009091046001600160a01b03908116949216926108a7918a91869186918c918c918c910161364a565b6040516020818303038152906040528051906020012090506108c882611cac565b1561095f57604051630f685fa960e01b81526001600160a01b03831690630f685fa9906108fd908b908590899060040161357c565b602060405180830381865afa15801561091a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093e91906135a4565b61095a5760405162461bcd60e51b8152600401610351906135c1565b61096c565b61096c8185846000611d43565b60008881526067602052604090206007015461098c908990848989612553565b5050505050505050565b61099e6124f9565b6109a86000612896565b565b60008a81526067602052604081205460ff1660028111156109cd576109cd6133d3565b14610a025760405162461bcd60e51b8152602060048201526005602482015264534330303160d81b6044820152606401610351565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190610a3390600390600401613696565b602060405180830381865afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7491906136b0565b6040516316367a7160e11b81526001600160a01b038b811660048301529190911690632c6cf4e290602401602060405180830381865afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae091906135a4565b610b155760405162461bcd60e51b8152600401610351906020808252600490820152632398181960e11b604082015260600190565b60008a8a8a8a8a8a8a8a604051602001610b369897969594939291906136cd565b604051602081830303815290604052805190602001209050610b5789611cac565b15610c3d57610b766001600160a01b038a166316b044bf60e11b6128e8565b610bab5760405162461bcd60e51b81526004016103519060208082526004908201526308e6062760e31b604082015260600190565b604051630f685fa960e01b81526001600160a01b038a1690630f685fa990610bdb908e908590879060040161357c565b602060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c91906135a4565b610c385760405162461bcd60e51b8152600401610351906135c1565b610c8a565b610c4a81838b6000611d43565b336001600160a01b038a1614610c8a5760405162461bcd60e51b8152602060048201526005602482015264534331313160d81b6044820152606401610351565b610c9781848c6001611d43565b60008b815260676020526040902080546001600160a01b038c8116610100026001600160a81b0319909216919091176001908117835582018054918c166001600160a01b0319909216919091179055610cf087426135f5565b600582015560006004820181905560068201556007810186905560088101805460ff191690558b7fdce31697f0e6122fe66bcba66ce4e3a49d4c9707bbca427ebf7bb9f3343a916f8c8c8c8c610d468d426135f5565b8c8c604051610d5b9796959493929190613726565b60405180910390a2610d708c878c8c89612553565b5050506000988952505060686020525050604090942093909355505050565b610d976124f9565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b610dc16124f9565b6001600160a01b038216600081815260696020908152604091829020805460ff19168515159081179091558251938452908301527f4a32babd42914f34a86040205114f44243025406a329be358b93a56a8d6156f591015b60405180910390a15050565b803560009081526067602052604090206002815460ff166002811115610e4d57610e4d6133d3565b14610e825760405162461bcd60e51b8152602060048201526005602482015264534330303760d81b6044820152606401610351565b600881015460ff1615610f4a5760018101546001600160a01b031633811490610eaa90611cac565b15610f27576001820154604051636f2cdea760e01b8152843560048201523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2491906135a4565b90505b80610f445760405162461bcd60e51b815260040161035190613776565b50610f78565b805461010090046001600160a01b03163314610f785760405162461bcd60e51b815260040161035190613776565b806004015482602001351015610fa05760405162461bcd60e51b8152600401610351906134a1565b600082356020840135610fb960608601604087016134c0565b6040805160208101949094528301919091521515606082015260800160408051601f198184030181529190528051602090910120905061104483358261100260608701876134dd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104369250505060808801886134dd565b611055833560208501356001611a70565b505050565b600054610100900460ff161580801561107a5750600054600160ff909116105b806110945750303b158015611094575060005460ff166001145b6110f75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610351565b6000805460ff19166001179055801561111a576000805461ff0019166101001790555b61112261290b565b620151806066819055606580546001600160a01b0319166001600160a01b0385161790556040805160208101929092527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f198184030181529082905261118f9161360d565b60405180910390a180156104df576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610e19565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915260008281526067602052604090819020815161014081019092528054829060ff16600281111561125c5761125c6133d3565b600281111561126d5761126d6133d3565b815281546001600160a01b03610100918290048116602084015260018401541660408301526002830154606083015260038301546080830152600483015460a0830152600583015460c0830152600683015460e083015260078301549082015260089091015460ff1615156101209091015292915050565b6112ed6124f9565b6001600160a01b0381166113525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610351565b61135b81612896565b50565b600081815260676020526040902080546001820154336001600160a01b0361010090930483168114929190911614811582611397575080155b1561148f5760655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906113ce90600390600401613696565b602060405180830381865afa1580156113eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140f91906136b0565b8454604051634463315560e11b81526001600160a01b03610100909204821660048201529116906388c662aa90602401602060405180830381865afa15801561145c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148091906136b0565b6001600160a01b031633149250505b60018301546114a6906001600160a01b0316611cac565b15611523576001830154604051636f2cdea760e01b8152600481018690523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa1580156114fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152091906135a4565b90505b818061152c5750805b6115485760405162461bcd60e51b815260040161035190613776565b825460ff1916600217835560665460009061156390426135f5565b6006850181905560088501805460ff19168515159081179091556004860154604080519182526020820184905281019190915290915085907f0d778a22967eaa98ed5a1dc78d02c1ac54b345f19835543e7387f0658a646e6f9060600160405180910390a26115d88585600401546000611a70565b5050505050565b8035600090815260676020526040902080546001820154336001600160a01b036101009093048316811492919091161481158261161a575080155b156117125760655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061165190600390600401613696565b602060405180830381865afa15801561166e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169291906136b0565b8454604051634463315560e11b81526001600160a01b03610100909204821660048201529116906388c662aa90602401602060405180830381865afa1580156116df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170391906136b0565b6001600160a01b031633149250505b6001830154611729906001600160a01b0316611cac565b156117a6576001830154604051636f2cdea760e01b8152853560048201523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a391906135a4565b90505b81806117af5750805b6117cb5760405162461bcd60e51b815260040161035190613776565b8260040154846020013510156117f35760405162461bcd60e51b8152600401610351906134a1565b6020840135156118a75760008435602086013561181660608801604089016134c0565b6040805160208101949094528301919091521515606082015260800160408051601f19818403018152919052805160209091012090506118a185358261185f60608901896134dd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104369250505060808a018a6134dd565b506118ec565b6118b760608501604086016134c0565b156118ec5760405162461bcd60e51b815260206004820152600560248201526429a198181b60d91b6044820152606401610351565b825460ff1916600217835560665460009061190790426135f5565b6006850181905560088501805460ff1916851515908117909155604080516020808a013582528101849052908101919091529091508535907f0d778a22967eaa98ed5a1dc78d02c1ac54b345f19835543e7387f0658a646e6f9060600160405180910390a26115d8853560208701356104da6060890160408a016134c0565b600084815260676020526040902080546001909101546001600160a01b03610100909204821691166119b781611cac565b15611a4e57604051630f685fa960e01b81526001600160a01b03821690630f685fa9906119ec9089908990889060040161357c565b602060405180830381865afa158015611a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2d91906135a4565b611a495760405162461bcd60e51b8152600401610351906135c1565b611a5b565b611a5b8584836000611d43565b611a688585846001611d43565b505050505050565b60008381526067602052604081206004810154909190611a909085613794565b90508382600301541115611aaa5760048201849055611acb565b81600401548260030154611abe9190613794565b6003830154600484015590505b8015611c9d578154600783015460655460405163f4e5699160e01b81526001600160a01b03610100909404841693600092169063f4e5699190611b1390600990600401613696565b602060405180830381865afa158015611b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5491906136b0565b60655460405163f4e5699160e01b8152919250611be191839187916001600160a01b039091169063f4e5699190611b9090600090600401613696565b602060405180830381865afa158015611bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd191906136b0565b6001600160a01b0316919061293a565b604051638b72ad0d60e01b8152600481018390526001600160a01b03848116602483015260448201869052829190821690638b72ad0d90606401600060405180830381600087803b158015611c3557600080fd5b505af1158015611c49573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201529081018890528b92507f01afc1753796861f14072edbf5533d92c3be2f07c5807135e69c1fbe6be2765d915060600160405180910390a2505050505b82156115d8576115d88561203d565b6000813b63ffffffff1615611d3657611cd56001600160a01b0383166316b044bf60e11b6128e8565b8015611cf957506001600160a01b03821660009081526069602052604090205460ff165b611d2e5760405162461bcd60e51b81526004016103519060208082526004908201526308e6062760e31b604082015260600190565b506001919050565b506000919050565b919050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101859052600090605c016040516020818303038152906040528051906020012090506000611d9d8286612a1a565b90508215611ef557836001600160a01b0316816001600160a01b031603611dc5575050612037565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611df790600390600401613696565b602060405180830381865afa158015611e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3891906136b0565b604051634463315560e11b81526001600160a01b03878116600483015291909116906388c662aa90602401602060405180830381865afa158015611e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea491906136b0565b9050806001600160a01b0316826001600160a01b031614611eef5760405162461bcd60e51b8152602060048201526005602482015264534330303960d81b6044820152606401610351565b50611a68565b836001600160a01b0316816001600160a01b031603611f15575050612037565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611f4790601090600401613696565b602060405180830381865afa158015611f64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8891906136b0565b604051636488dab760e11b81526001600160a01b0387811660048301528481166024830152919091169063c911b56e90604401602060405180830381865afa158015611fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffc91906135a4565b9050806120335760405162461bcd60e51b8152602060048201526005602482015264534330313160d81b6044820152606401610351565b5050505b50505050565b6000818152606760205260409020600181015460028201546004909201546001600160a01b0390911691908261207281611cac565b156120e3576040516357c65a5760e01b8152600481018690526001600160a01b038516906357c65a5790602401602060405180830381865afa1580156120bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e091906136b0565b90505b60008581526067602052604080822060030154606554915163f4e5699160e01b81529092916001600160a01b03169063f4e569919061212790601390600401613696565b602060405180830381865afa158015612144573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216891906136b0565b905060006121768684613794565b905080851115612242576000888152606760205260408120600701546001600160a01b0384169063a370070290876121ae868b613794565b8d6040516020016121c191815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016121ef94939291906137ab565b6020604051808303816000875af115801561220e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223291906137e2565b905061223e81856135f5565b9350505b600061224e8685613794565b9050600061225c8289612a3e565b9050600061226a8284613794565b905081156122fa5760655460405163f4e5699160e01b81526122fa918c9185916001600160a01b03169063f4e56991906122a990600090600401613696565b602060405180830381865afa1580156122c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ea91906136b0565b6001600160a01b03169190612a53565b80156123d35760655460405163f4e5699160e01b815261233791879184916001600160a01b03169063f4e56991906122a990600090600401613696565b846001600160a01b0316638e81f729606760008e81526020019081526020016000206007015489848f60405160200161237291815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016123a094939291906137ab565b600060405180830381600087803b1580156123ba57600080fd5b505af11580156123ce573d6000803e3d6000fd5b505050505b6123dc8a611cac565b156124435760405163a54ab45760e01b8152600481018c9052602481018390526001600160a01b038b169063a54ab45790604401600060405180830381600087803b15801561242a57600080fd5b505af115801561243e573d6000803e3d6000fd5b505050505b60008b815260676020908152604080832080546001600160a81b03191681556001810180546001600160a01b0319169055600281018490556003810184905560048101849055600581018490556006810184905560078101849055600801805460ff19169055606882528083209290925581518881529081018490528c917f6a1470f04a8ae76a618f26cf00b68c66839088732fe6de43c8f2431ea6bef7e0910160405180910390a25050505050505050505050565b6033546001600160a01b031633146109a85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610351565b82600061255f82611cac565b905080156125df57604051631456c7f560e21b815285906001600160a01b0382169063515b1fd4906125959087906004016137fb565b600060405180830381865afa1580156125b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125da919081019061380e565b509250505b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061261190601390600401613696565b602060405180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265291906136b0565b6001600160a01b031663a37007028885888c60405160200161267691815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016126a494939291906137ab565b6020604051808303816000875af11580156126c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e791906137e2565b90506000858210156127f7576126fd8287613794565b9050821561276a57604051639304c78360e01b81526001600160a01b03881690639304c78390612737908c90339086908b906004016137ab565b600060405180830381600087803b15801561275157600080fd5b505af1158015612765573d6000803e3d6000fd5b505050505b60655460405163f4e5699160e01b81526127f7918991309185916001600160a01b039091169063f4e56991906127a590600090600401613696565b602060405180830381865afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e691906136b0565b6001600160a01b0316929190612a83565b600089815260676020526040812060020180548392906128189084906135f5565b90915550506000898152606760205260408120600301805488929061283e9084906135f5565b909155505060008981526067602090815260409182902060028101546003909101548351918252918101919091528a917f1d0232126b461e33ca71006cd193e3cbaf5a246ace60b2d3b50526942f56610791016106c8565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006128f383612abb565b801561290457506129048383612aef565b9392505050565b600054610100900460ff166129325760405162461bcd60e51b81526004016103519061389b565b6109a8612b78565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa15801561298a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ae91906137e2565b90506120378463095ea7b360e01b856129c786866135f5565b6040516001600160a01b03909216602483015260448201526064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612ba8565b6000806000612a298585612c7d565b91509150612a3681612cc2565b509392505050565b6000818311612a4d5782612904565b50919050565b6040516001600160a01b03831660248201526044810182905261105590849063a9059cbb60e01b906064016129e3565b6040516001600160a01b03808516602483015283166044820152606481018290526120379085906323b872dd60e01b906084016129e3565b6000612ace826301ffc9a760e01b612aef565b8015612ae95750612ae7826001600160e01b0319612aef565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015612b61575060208210155b8015612b6d5750600081115b979650505050505050565b600054610100900460ff16612b9f5760405162461bcd60e51b81526004016103519061389b565b6109a833612896565b6000612bfd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e0c9092919063ffffffff16565b9050805160001480612c1e575080806020019051810190612c1e91906135a4565b6110555760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610351565b6000808251604103612cb35760208301516040840151606085015160001a612ca787828585612e23565b94509450505050612cbb565b506000905060025b9250929050565b6000816004811115612cd657612cd66133d3565b03612cde5750565b6001816004811115612cf257612cf26133d3565b03612d3f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610351565b6002816004811115612d5357612d536133d3565b03612da05760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610351565b6003816004811115612db457612db46133d3565b0361135b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610351565b6060612e1b8484600085612ee7565b949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612e5a5750600090506003612ede565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612eae573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612ed757600060019250925050612ede565b9150600090505b94509492505050565b606082471015612f485760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610351565b600080866001600160a01b03168587604051612f6491906138e6565b60006040518083038185875af1925050503d8060008114612fa1576040519150601f19603f3d011682016040523d82523d6000602084013e612fa6565b606091505b5091509150612b6d878383876060831561302157825160000361301a576001600160a01b0385163b61301a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610351565b5081612e1b565b612e1b83838151156130365781518083602001fd5b8060405162461bcd60e51b815260040161035191906137fb565b60006020828403121561306257600080fd5b5035919050565b60006020828403121561307b57600080fd5b813567ffffffffffffffff81111561309257600080fd5b820160a0818503121561290457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156130e3576130e36130a4565b604052919050565b600067ffffffffffffffff821115613105576131056130a4565b50601f01601f191660200190565b600082601f83011261312457600080fd5b8135613137613132826130eb565b6130ba565b81815284602083860101111561314c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561318257600080fd5b863595506020870135945060408701359350606087013567ffffffffffffffff808211156131af57600080fd5b6131bb8a838b01613113565b945060808901359150808211156131d157600080fd5b506131de89828a01613113565b92505060a087013590509295509295509295565b6001600160a01b038116811461135b57600080fd5b8035611d3e816131f2565b60006020828403121561322457600080fd5b8135612904816131f2565b600080600080600060a0868803121561324757600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8082111561327457600080fd5b61328089838a01613113565b9350608088013591508082111561329657600080fd5b506132a388828901613113565b9150509295509295909350565b6000806000806000806000806000806101408b8d0312156132d057600080fd5b8a3599506132e060208c01613207565b98506132ee60408c01613207565b975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b013567ffffffffffffffff8082111561332757600080fd5b6133338e838f01613113565b94506101008d013591508082111561334a57600080fd5b6133568e838f01613113565b93506101208d013591508082111561336d57600080fd5b5061337a8d828e01613113565b9150509295989b9194979a5092959850565b801515811461135b57600080fd5b600080604083850312156133ad57600080fd5b82356133b8816131f2565b915060208301356133c88161338c565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600381106133f9576133f96133d3565b9052565b6000610140820190506134118284516133e9565b602083015161342b60208401826001600160a01b03169052565b50604083015161344660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401516134998285018215159052565b505092915050565b602080825260059082015264534330303560d81b604082015260600190565b6000602082840312156134d257600080fd5b81356129048161338c565b6000808335601e198436030181126134f457600080fd5b83018035915067ffffffffffffffff82111561350f57600080fd5b602001915036819003821315612cbb57600080fd5b60005b8381101561353f578181015183820152602001613527565b838111156120375750506000910152565b60008151808452613568816020860160208601613524565b601f01601f19169290920160200192915050565b83815282602082015260606040820152600061359b6060830184613550565b95945050505050565b6000602082840312156135b657600080fd5b81516129048161338c565b6020808252600490820152632198181b60e11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115613608576136086135df565b500190565b6040815260136040820152723a32b936b4b730ba32a2bc3834b930ba34b7b760691b60608201526080602082015260006129046080830184613550565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061368a90830184613550565b98975050505050505050565b60208101601583106136aa576136aa6133d3565b91905290565b6000602082840312156136c257600080fd5b8151612904816131f2565b60006101008a835260018060a01b03808b166020850152808a166040850152508760608401528660808401528560a08401528460c08401528060e084015261371781840185613550565b9b9a5050505050505050505050565b600060018060a01b03808a1683528089166020840152508660408301528560608301528460808301528360a083015260e060c083015261376960e0830184613550565b9998505050505050505050565b60208082526004908201526308e6060760e31b604082015260600190565b6000828210156137a6576137a66135df565b500390565b84815260018060a01b03841660208201528260408201526080606082015260006137d86080830184613550565b9695505050505050565b6000602082840312156137f457600080fd5b5051919050565b6020815260006129046020830184613550565b6000806040838503121561382157600080fd5b825161382c816131f2565b602084015190925067ffffffffffffffff81111561384957600080fd5b8301601f8101851361385a57600080fd5b8051613868613132826130eb565b81815286602083850101111561387d57600080fd5b61388e826020830160208601613524565b8093505050509250929050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516138f8818460208701613524565b919091019291505056fea2646970667358221220334343bfe9d9fe8fb9d2f8c62ddb986c13381bf3376e63df02fd8d96aceb765464736f6c634300080f0033