UNPKG

test-contracts-sovryn

Version:

Smart contracts for the Sovryn protocol and external integrations.

514 lines (513 loc) 38.3 kB
{ "_format": "hh-sol-artifact-1", "contractName": "TimelockHarness", "sourceName": "contracts/mockup/TimelockHarness.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "admin_", "type": "address" }, { "internalType": "uint256", "name": "delay_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "signature", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "CancelTransaction", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "signature", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "ExecuteTransaction", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newDelay", "type": "uint256" } ], "name": "NewDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "NewPendingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "signature", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "QueueTransaction", "type": "event" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": true, "inputs": [], "name": "GRACE_PERIOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAXIMUM_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MINIMUM_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "acceptAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "string", "name": "signature", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "cancelTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "delay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "string", "name": "signature", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "executeTransaction", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "admin_", "type": "address" } ], "name": "harnessSetAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "pendingAdmin_", "type": "address" } ], "name": "harnessSetPendingAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "string", "name": "signature", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "queueTransaction", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "queuedTransactions", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "delay_", "type": "uint256" } ], "name": "setDelay", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "delay_", "type": "uint256" } ], "name": "setDelayWithoutChecking", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "pendingAdmin_", "type": "address" } ], "name": "setPendingAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50604051611b72380380611b728339818101604052604081101561003357600080fd5b5080516020909101518181612a3081101561007f5760405162461bcd60e51b8152600401808060200182810382526037815260200180611b036037913960400191505060405180910390fd5b62278d008111156100c15760405162461bcd60e51b8152600401808060200182810382526038815260200180611b3a6038913960400191505060405180910390fd5b600080546001600160a01b039093166001600160a01b0319909316929092179091556002555050611a0c806100f76000396000f3fe6080604052600436106100f35760003560e01c806372b812b41161008a578063c1a287e211610059578063c1a287e21461069e578063e177246e146106b3578063f2b06537146106dd578063f851a4401461071b576100f3565b806372b812b41461060e5780637d645fab146106415780639ddf774f14610656578063b1b43ae514610689576100f3565b80633a66f901116100c65780633a66f9011461031a5780634dd18bf514610479578063591fcdfe146104ac5780636a42b8f8146105f9576100f3565b80630825f38f146100f55780630e18b681146102aa5780631668dfc3146102bf57806326782247146102e9575b005b610235600480360360a081101561010b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561013a57600080fd5b82018360208201111561014c57600080fd5b803590602001918460018302840111600160201b8311171561016d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156101bf57600080fd5b8201836020820111156101d157600080fd5b803590602001918460018302840111600160201b831117156101f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610730915050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026f578181015183820152602001610257565b50505050905090810190601f16801561029c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b657600080fd5b506100f3610d15565b3480156102cb57600080fd5b506100f3600480360360208110156102e257600080fd5b5035610db1565b3480156102f557600080fd5b506102fe610de4565b604080516001600160a01b039092168252519081900360200190f35b34801561032657600080fd5b50610467600480360360a081101561033d57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561036c57600080fd5b82018360208201111561037e57600080fd5b803590602001918460018302840111600160201b8311171561039f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103f157600080fd5b82018360208201111561040357600080fd5b803590602001918460018302840111600160201b8311171561042457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610df3915050565b60408051918252519081900360200190f35b34801561048557600080fd5b506100f36004803603602081101561049c57600080fd5b50356001600160a01b0316611104565b3480156104b857600080fd5b506100f3600480360360a08110156104cf57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156104fe57600080fd5b82018360208201111561051057600080fd5b803590602001918460018302840111600160201b8311171561053157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561058357600080fd5b82018360208201111561059557600080fd5b803590602001918460018302840111600160201b831117156105b657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611192915050565b34801561060557600080fd5b50610467611448565b34801561061a57600080fd5b506100f36004803603602081101561063157600080fd5b50356001600160a01b031661144e565b34801561064d57600080fd5b50610467611470565b34801561066257600080fd5b506100f36004803603602081101561067957600080fd5b50356001600160a01b0316611477565b34801561069557600080fd5b50610467611499565b3480156106aa57600080fd5b5061046761149f565b3480156106bf57600080fd5b506100f3600480360360208110156106d657600080fd5b50356114a6565b3480156106e957600080fd5b506107076004803603602081101561070057600080fd5b5035611567565b604080519115158252519081900360200190f35b34801561072757600080fd5b506102fe61157c565b6000546060906001600160a01b0316331461077c5760405162461bcd60e51b81526004018080602001828103825260388152602001806116eb6038913960400191505060405180910390fd5b6000868686868660405160200180866001600160a01b03166001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156107eb5781810151838201526020016107d3565b50505050905090810190601f1680156108185780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561084b578181015183820152602001610833565b50505050905090810190601f1680156108785780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301206000818152600390935291205490995060ff1697506108e996505050505050505760405162461bcd60e51b815260040180806020018281038252603d81526020018061183e603d913960400191505060405180910390fd5b826108f261158b565b101561092f5760405162461bcd60e51b815260040180806020018281038252604581526020018061178d6045913960600191505060405180910390fd5b610942836212750063ffffffff61158f16565b61094a61158b565b11156109875760405162461bcd60e51b815260040180806020018281038252603381526020018061175a6033913960400191505060405180910390fd5b6000818152600360205260409020805460ff1916905584516060906109ad575083610a3a565b85805190602001208560405160200180836001600160e01b0319166001600160e01b031916815260040182805190602001908083835b60208310610a025780518252601f1990920191602091820191016109e3565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405290505b60006060896001600160a01b031689846040518082805190602001908083835b60208310610a795780518252601f199092019160209182019101610a5a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610adb576040519150601f19603f3d011682016040523d82523d6000602084013e610ae0565b606091505b509150915081610bed576044815111610b2a5760405162461bcd60e51b815260040180806020018281038252603d815260200180611921603d913960400191505060405180910390fd5b610b696040518060400160405280601e81526020017f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a200000815250826115f0565b60405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bb2578181015183820152602001610b9a565b50505050905090810190601f168015610bdf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b896001600160a01b0316847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610c6a578181015183820152602001610c52565b50505050905090810190601f168015610c975780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610cca578181015183820152602001610cb2565b50505050905090810190601f168015610cf75780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a39998505050505050505050565b6001546001600160a01b03163314610d5e5760405162461bcd60e51b815260040180806020018281038252603881526020018061187b6038913960400191505060405180910390fd5b60008054336001600160a01b031991821617808355600180549092169091556040516001600160a01b03909116917f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c91a2565b600281905560405181907f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c90600090a250565b6001546001600160a01b031681565b600080546001600160a01b03163314610e3d5760405162461bcd60e51b81526004018080602001828103825260368152602001806118eb6036913960400191505060405180910390fd5b610e57600254610e4b61158b565b9063ffffffff61158f16565b821015610e955760405162461bcd60e51b815260040180806020018281038252604981526020018061195e6049913960600191505060405180910390fd5b6000868686868660405160200180866001600160a01b03166001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610f04578181015183820152602001610eec565b50505050905090810190601f168015610f315780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610f64578181015183820152602001610f4c565b50505050905090810190601f168015610f915780820380516001836020036101000a031916815260200191505b5097505050505050505060405160208183030381529060405280519060200120905060016003600083815260200190815260200160002060006101000a81548160ff021916908315150217905550866001600160a01b0316817f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f88888888604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561105c578181015183820152602001611044565b50505050905090810190601f1680156110895780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156110bc5781810151838201526020016110a4565b50505050905090810190601f1680156110e95780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a39695505050505050565b3330146111425760405162461bcd60e51b81526004018080602001828103825260388152602001806118b36038913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a75690600090a250565b6000546001600160a01b031633146111db5760405162461bcd60e51b81526004018080602001828103825260378152602001806117236037913960400191505060405180910390fd5b6000858585858560405160200180866001600160a01b03166001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561124a578181015183820152602001611232565b50505050905090810190601f1680156112775780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156112aa578181015183820152602001611292565b50505050905090810190601f1680156112d75780820380516001836020036101000a031916815260200191505b5097505050505050505060405160208183030381529060405280519060200120905060006003600083815260200190815260200160002060006101000a81548160ff021916908315150217905550856001600160a01b0316817f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf8787878787604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156113a257818101518382015260200161138a565b50505050905090810190601f1680156113cf5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156114025781810151838201526020016113ea565b50505050905090810190601f16801561142f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a3505050505050565b60025481565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b62278d0081565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b612a3081565b6212750081565b3330146114e45760405162461bcd60e51b81526004018080602001828103825260318152602001806119a76031913960400191505060405180910390fd5b612a308110156115255760405162461bcd60e51b81526004018080602001828103825260348152602001806117d26034913960400191505060405180910390fd5b62278d00811115610db15760405162461bcd60e51b81526004018080602001828103825260388152602001806118066038913960400191505060405180910390fd5b60036020526000908152604090205460ff1681565b6000546001600160a01b031681565b4290565b6000828201838110156115e9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6060808390506060839050606060448251845101036040519080825280601f01601f19166020018201604052801561162f576020820181803883390190505b509050806000805b85518110156116885785818151811061164c57fe5b602001015160f81c60f81b83838060010194508151811061166957fe5b60200101906001600160f81b031916908160001a905350600101611637565b5060445b84518110156116dd578481815181106116a157fe5b602001015160f81c60f81b8383806001019450815181106116be57fe5b60200101906001600160f81b031916908160001a90535060010161168c565b509097965050505050505056fe54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a2043616c6c206d75737420636f6d652066726f6d2061646d696e2e54696d656c6f636b3a3a63616e63656c5472616e73616374696f6e3a2043616c6c206d75737420636f6d652066726f6d2061646d696e2e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e206973207374616c652e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e206861736e2774207375727061737365642074696d65206c6f636b2e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d75737420657863656564206d696e696d756d2064656c61792e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e6f7420657863656564206d6178696d756d2064656c61792e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e206861736e2774206265656e207175657565642e54696d656c6f636b3a3a61636365707441646d696e3a2043616c6c206d75737420636f6d652066726f6d2070656e64696e6741646d696e2e54696d656c6f636b3a3a73657450656e64696e6741646d696e3a2043616c6c206d75737420636f6d652066726f6d2054696d656c6f636b2e54696d656c6f636b3a3a71756575655472616e73616374696f6e3a2043616c6c206d75737420636f6d652066726f6d2061646d696e2e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e20657865637574696f6e2072657665727465642e54696d656c6f636b3a3a71756575655472616e73616374696f6e3a20457374696d6174656420657865637574696f6e20626c6f636b206d75737420736174697366792064656c61792e54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f6d652066726f6d2054696d656c6f636b2ea265627a7a7231582098bd6b1a416b461ade7c042735caa55f0f176d2b9b7b92d41f320c11a8384de064736f6c6343000511003254696d656c6f636b3a3a636f6e7374727563746f723a2044656c6179206d75737420657863656564206d696e696d756d2064656c61792e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e6f7420657863656564206d6178696d756d2064656c61792e", "deployedBytecode": "0x6080604052600436106100f35760003560e01c806372b812b41161008a578063c1a287e211610059578063c1a287e21461069e578063e177246e146106b3578063f2b06537146106dd578063f851a4401461071b576100f3565b806372b812b41461060e5780637d645fab146106415780639ddf774f14610656578063b1b43ae514610689576100f3565b80633a66f901116100c65780633a66f9011461031a5780634dd18bf514610479578063591fcdfe146104ac5780636a42b8f8146105f9576100f3565b80630825f38f146100f55780630e18b681146102aa5780631668dfc3146102bf57806326782247146102e9575b005b610235600480360360a081101561010b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561013a57600080fd5b82018360208201111561014c57600080fd5b803590602001918460018302840111600160201b8311171561016d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156101bf57600080fd5b8201836020820111156101d157600080fd5b803590602001918460018302840111600160201b831117156101f257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610730915050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026f578181015183820152602001610257565b50505050905090810190601f16801561029c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b657600080fd5b506100f3610d15565b3480156102cb57600080fd5b506100f3600480360360208110156102e257600080fd5b5035610db1565b3480156102f557600080fd5b506102fe610de4565b604080516001600160a01b039092168252519081900360200190f35b34801561032657600080fd5b50610467600480360360a081101561033d57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561036c57600080fd5b82018360208201111561037e57600080fd5b803590602001918460018302840111600160201b8311171561039f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103f157600080fd5b82018360208201111561040357600080fd5b803590602001918460018302840111600160201b8311171561042457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610df3915050565b60408051918252519081900360200190f35b34801561048557600080fd5b506100f36004803603602081101561049c57600080fd5b50356001600160a01b0316611104565b3480156104b857600080fd5b506100f3600480360360a08110156104cf57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156104fe57600080fd5b82018360208201111561051057600080fd5b803590602001918460018302840111600160201b8311171561053157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561058357600080fd5b82018360208201111561059557600080fd5b803590602001918460018302840111600160201b831117156105b657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611192915050565b34801561060557600080fd5b50610467611448565b34801561061a57600080fd5b506100f36004803603602081101561063157600080fd5b50356001600160a01b031661144e565b34801561064d57600080fd5b50610467611470565b34801561066257600080fd5b506100f36004803603602081101561067957600080fd5b50356001600160a01b0316611477565b34801561069557600080fd5b50610467611499565b3480156106aa57600080fd5b5061046761149f565b3480156106bf57600080fd5b506100f3600480360360208110156106d657600080fd5b50356114a6565b3480156106e957600080fd5b506107076004803603602081101561070057600080fd5b5035611567565b604080519115158252519081900360200190f35b34801561072757600080fd5b506102fe61157c565b6000546060906001600160a01b0316331461077c5760405162461bcd60e51b81526004018080602001828103825260388152602001806116eb6038913960400191505060405180910390fd5b6000868686868660405160200180866001600160a01b03166001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156107eb5781810151838201526020016107d3565b50505050905090810190601f1680156108185780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561084b578181015183820152602001610833565b50505050905090810190601f1680156108785780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301206000818152600390935291205490995060ff1697506108e996505050505050505760405162461bcd60e51b815260040180806020018281038252603d81526020018061183e603d913960400191505060405180910390fd5b826108f261158b565b101561092f5760405162461bcd60e51b815260040180806020018281038252604581526020018061178d6045913960600191505060405180910390fd5b610942836212750063ffffffff61158f16565b61094a61158b565b11156109875760405162461bcd60e51b815260040180806020018281038252603381526020018061175a6033913960400191505060405180910390fd5b6000818152600360205260409020805460ff1916905584516060906109ad575083610a3a565b85805190602001208560405160200180836001600160e01b0319166001600160e01b031916815260040182805190602001908083835b60208310610a025780518252601f1990920191602091820191016109e3565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405290505b60006060896001600160a01b031689846040518082805190602001908083835b60208310610a795780518252601f199092019160209182019101610a5a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610adb576040519150601f19603f3d011682016040523d82523d6000602084013e610ae0565b606091505b509150915081610bed576044815111610b2a5760405162461bcd60e51b815260040180806020018281038252603d815260200180611921603d913960400191505060405180910390fd5b610b696040518060400160405280601e81526020017f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a200000815250826115f0565b60405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bb2578181015183820152602001610b9a565b50505050905090810190601f168015610bdf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b896001600160a01b0316847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610c6a578181015183820152602001610c52565b50505050905090810190601f168015610c975780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610cca578181015183820152602001610cb2565b50505050905090810190601f168015610cf75780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a39998505050505050505050565b6001546001600160a01b03163314610d5e5760405162461bcd60e51b815260040180806020018281038252603881526020018061187b6038913960400191505060405180910390fd5b60008054336001600160a01b031991821617808355600180549092169091556040516001600160a01b03909116917f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c91a2565b600281905560405181907f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c90600090a250565b6001546001600160a01b031681565b600080546001600160a01b03163314610e3d5760405162461bcd60e51b81526004018080602001828103825260368152602001806118eb6036913960400191505060405180910390fd5b610e57600254610e4b61158b565b9063ffffffff61158f16565b821015610e955760405162461bcd60e51b815260040180806020018281038252604981526020018061195e6049913960600191505060405180910390fd5b6000868686868660405160200180866001600160a01b03166001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610f04578181015183820152602001610eec565b50505050905090810190601f168015610f315780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015610f64578181015183820152602001610f4c565b50505050905090810190601f168015610f915780820380516001836020036101000a031916815260200191505b5097505050505050505060405160208183030381529060405280519060200120905060016003600083815260200190815260200160002060006101000a81548160ff021916908315150217905550866001600160a01b0316817f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f88888888604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561105c578181015183820152602001611044565b50505050905090810190601f1680156110895780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156110bc5781810151838201526020016110a4565b50505050905090810190601f1680156110e95780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a39695505050505050565b3330146111425760405162461bcd60e51b81526004018080602001828103825260388152602001806118b36038913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a75690600090a250565b6000546001600160a01b031633146111db5760405162461bcd60e51b81526004018080602001828103825260378152602001806117236037913960400191505060405180910390fd5b6000858585858560405160200180866001600160a01b03166001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561124a578181015183820152602001611232565b50505050905090810190601f1680156112775780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156112aa578181015183820152602001611292565b50505050905090810190601f1680156112d75780820380516001836020036101000a031916815260200191505b5097505050505050505060405160208183030381529060405280519060200120905060006003600083815260200190815260200160002060006101000a81548160ff021916908315150217905550856001600160a01b0316817f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf8787878787604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156113a257818101518382015260200161138a565b50505050905090810190601f1680156113cf5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156114025781810151838201526020016113ea565b50505050905090810190601f16801561142f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a3505050505050565b60025481565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b62278d0081565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b612a3081565b6212750081565b3330146114e45760405162461bcd60e51b81526004018080602001828103825260318152602001806119a76031913960400191505060405180910390fd5b612a308110156115255760405162461bcd60e51b81526004018080602001828103825260348152602001806117d26034913960400191505060405180910390fd5b62278d00811115610db15760405162461bcd60e51b81526004018080602001828103825260388152602001806118066038913960400191505060405180910390fd5b60036020526000908152604090205460ff1681565b6000546001600160a01b031681565b4290565b6000828201838110156115e9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6060808390506060839050606060448251845101036040519080825280601f01601f19166020018201604052801561162f576020820181803883390190505b509050806000805b85518110156116885785818151811061164c57fe5b602001015160f81c60f81b83838060010194508151811061166957fe5b60200101906001600160f81b031916908160001a905350600101611637565b5060445b84518110156116dd578481815181106116a157fe5b602001015160f81c60f81b8383806001019450815181106116be57fe5b60200101906001600160f81b031916908160001a90535060010161168c565b509097965050505050505056fe54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a2043616c6c206d75737420636f6d652066726f6d2061646d696e2e54696d656c6f636b3a3a63616e63656c5472616e73616374696f6e3a2043616c6c206d75737420636f6d652066726f6d2061646d696e2e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e206973207374616c652e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e206861736e2774207375727061737365642074696d65206c6f636b2e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d75737420657863656564206d696e696d756d2064656c61792e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e6f7420657863656564206d6178696d756d2064656c61792e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e206861736e2774206265656e207175657565642e54696d656c6f636b3a3a61636365707441646d696e3a2043616c6c206d75737420636f6d652066726f6d2070656e64696e6741646d696e2e54696d656c6f636b3a3a73657450656e64696e6741646d696e3a2043616c6c206d75737420636f6d652066726f6d2054696d656c6f636b2e54696d656c6f636b3a3a71756575655472616e73616374696f6e3a2043616c6c206d75737420636f6d652066726f6d2061646d696e2e54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472616e73616374696f6e20657865637574696f6e2072657665727465642e54696d656c6f636b3a3a71756575655472616e73616374696f6e3a20457374696d6174656420657865637574696f6e20626c6f636b206d75737420736174697366792064656c61792e54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f6d652066726f6d2054696d656c6f636b2ea265627a7a7231582098bd6b1a416b461ade7c042735caa55f0f176d2b9b7b92d41f320c11a8384de064736f6c63430005110032", "linkReferences": {}, "deployedLinkReferences": {} }