UNPKG

@aztec/contract-artifacts

Version:

Smart contract compilation artifacts for the latest version of AZTEC.

686 lines 45.7 kB
{ "abi": [ { "inputs": [ { "internalType": "address[]", "name": "_owners", "type": "address[]" }, { "internalType": "uint256", "name": "_required", "type": "uint256" }, { "internalType": "uint256", "name": "_secondsTimeLocked", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "Confirmation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "confirmationTime", "type": "uint256" } ], "name": "ConfirmationTimeSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "Execution", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "ExecutionFailure", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnerAddition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnerRemoval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "RequirementChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "Revocation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "Submission", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "secondsTimeLocked", "type": "uint256" } ], "name": "TimeLockChange", "type": "event" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": true, "inputs": [], "name": "MAX_OWNER_COUNT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "addOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "_required", "type": "uint256" } ], "name": "changeRequirement", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "confirmationTimes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "confirmations", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "getConfirmationCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "getConfirmations", "outputs": [ { "internalType": "address[]", "name": "_confirmations", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getOwners", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bool", "name": "pending", "type": "bool" }, { "internalType": "bool", "name": "executed", "type": "bool" } ], "name": "getTransactionCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "from", "type": "uint256" }, { "internalType": "uint256", "name": "to", "type": "uint256" }, { "internalType": "bool", "name": "pending", "type": "bool" }, { "internalType": "bool", "name": "executed", "type": "bool" } ], "name": "getTransactionIds", "outputs": [ { "internalType": "uint256[]", "name": "_transactionIds", "type": "uint256[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "isConfirmed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "owners", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "removeOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "replaceOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "required", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "revokeConfirmation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "secondsTimeLocked", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "destination", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "submitTransaction", "outputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "transactionCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transactions", "outputs": [ { "internalType": "address", "name": "destination", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "bool", "name": "executed", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "_secondsTimeLocked", "type": "uint256" } ], "name": "changeTimeLock", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "confirmTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "transactionId", "type": "uint256" } ], "name": "executeTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b1838038062001b18833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82518660208202830111640100000000821117156200008c57600080fd5b82525081516020918201928201910280838360005b83811015620000bb578181015183820152602001620000a1565b5050505091909101604090815260208301519201518551929450925084918491508160328211801590620000ef5750818111155b8015620000fb57508015155b80156200010757508115155b6200011157600080fd5b60005b8451811015620001e357600260008683815181106200012f57fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff161580156200018b575060006001600160a01b03168582815181106200017757fe5b60200260200101516001600160a01b031614155b6200019557600080fd5b600160026000878481518110620001a857fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010162000114565b508351620001f99060039060208701906200020c565b5050506004555060065550620002a09050565b82805482825590600052602060002090810192821562000264579160200282015b828111156200026457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200022d565b506200027292915062000276565b5090565b6200029d91905b80821115620002725780546001600160a01b03191681556001016200027d565b90565b61186880620002b06000396000f3fe60806040526004361061014b5760003560e01c8063a0e67e2b116100b6578063c64274741161006f578063c6427474146105be578063d38f2d8214610686578063d74f8edd146106b0578063dc8452cd146106c5578063e20056e6146106da578063ee22610b146107155761014b565b8063a0e67e2b14610486578063a8abe69a146104eb578063b5dc40c31461052b578063b77bf60014610555578063ba51a6df1461056a578063c01a8c84146105945761014b565b8063547415251161010857806354741525146102d45780637065cb4814610308578063784547a71461033b5780637ad28c51146103655780638b51d13f1461038f5780639ace38c2146103b95761014b565b8063025e7c271461018a578063173825d9146101d057806320ea8d86146102035780632f54bf6e1461022d5780633411c81c1461027457806337bd78a0146102ad575b34156101885760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561019657600080fd5b506101b4600480360360208110156101ad57600080fd5b503561073f565b604080516001600160a01b039092168252519081900360200190f35b3480156101dc57600080fd5b50610188600480360360208110156101f357600080fd5b50356001600160a01b0316610766565b34801561020f57600080fd5b506101886004803603602081101561022657600080fd5b50356108d2565b34801561023957600080fd5b506102606004803603602081101561025057600080fd5b50356001600160a01b0316610988565b604080519115158252519081900360200190f35b34801561028057600080fd5b506102606004803603604081101561029757600080fd5b50803590602001356001600160a01b031661099d565b3480156102b957600080fd5b506102c26109bd565b60408051918252519081900360200190f35b3480156102e057600080fd5b506102c2600480360360408110156102f757600080fd5b5080351515906020013515156109c3565b34801561031457600080fd5b506101886004803603602081101561032b57600080fd5b50356001600160a01b0316610a2f565b34801561034757600080fd5b506102606004803603602081101561035e57600080fd5b5035610b43565b34801561037157600080fd5b506101886004803603602081101561038857600080fd5b5035610bca565b34801561039b57600080fd5b506102c2600480360360208110156103b257600080fd5b5035610c11565b3480156103c557600080fd5b506103e3600480360360208110156103dc57600080fd5b5035610c80565b60405180856001600160a01b03166001600160a01b031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610448578181015183820152602001610430565b50505050905090810190601f1680156104755780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561049257600080fd5b5061049b610d3e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104d75781810151838201526020016104bf565b505050509050019250505060405180910390f35b3480156104f757600080fd5b5061049b6004803603608081101561050e57600080fd5b508035906020810135906040810135151590606001351515610da1565b34801561053757600080fd5b5061049b6004803603602081101561054e57600080fd5b5035610ecc565b34801561056157600080fd5b506102c2611043565b34801561057657600080fd5b506101886004803603602081101561058d57600080fd5b5035611049565b3480156105a057600080fd5b50610188600480360360208110156105b757600080fd5b50356110c6565b3480156105ca57600080fd5b506102c2600480360360608110156105e157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561061157600080fd5b82018360208201111561062357600080fd5b8035906020019184600183028401116401000000008311171561064557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506111ee945050505050565b34801561069257600080fd5b506102c2600480360360208110156106a957600080fd5b503561120d565b3480156106bc57600080fd5b506102c261121f565b3480156106d157600080fd5b506102c2611224565b3480156106e657600080fd5b50610188600480360360408110156106fd57600080fd5b506001600160a01b038135811691602001351661122a565b34801561072157600080fd5b506101886004803603602081101561073857600080fd5b50356113bc565b6003818154811061074c57fe5b6000918252602090912001546001600160a01b0316905081565b33301461077257600080fd5b6001600160a01b038116600090815260026020526040902054819060ff1661079957600080fd5b6001600160a01b0382166000908152600260205260408120805460ff191690555b6003546000190181101561086d57826001600160a01b0316600382815481106107df57fe5b6000918252602090912001546001600160a01b031614156108655760038054600019810190811061080c57fe5b600091825260209091200154600380546001600160a01b03909216918390811061083257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555061086d565b6001016107ba565b506003805460001901906108819082611772565b50600354600454111561089a5760035461089a90611049565b6040516001600160a01b038316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff166108ee57600080fd5b60008281526001602090815260408083203380855292529091205483919060ff1661091857600080fd5b600084815260208190526040902060030154849060ff161561093957600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a28578380156109f0575060008181526020819052604090206003015460ff16155b80610a145750828015610a14575060008181526020819052604090206003015460ff165b15610a20576001820191505b6001016109c7565b5092915050565b333014610a3b57600080fd5b6001600160a01b038116600090815260026020526040902054819060ff1615610a6357600080fd5b816001600160a01b038116610a7757600080fd5b60038054905060010160045460328211158015610a945750818111155b8015610a9f57508015155b8015610aaa57508115155b610ab357600080fd5b6001600160a01b038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b600354811015610bc25760008481526001602052604081206003805491929184908110610b7157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610ba5576001820191505b600454821415610bba57600192505050610bc5565b600101610b48565b50505b919050565b333014610bd657600080fd5b60068190556040805182815290517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b43779181900360200190a150565b6000805b600354811015610c7a5760008381526001602052604081206003805491929184908110610c3e57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610c72576001820191505b600101610c15565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f81018890048802840188019096528583526001600160a01b0390931695909491929190830182828015610d2b5780601f10610d0057610100808354040283529160200191610d2b565b820191906000526020600020905b815481529060010190602001808311610d0e57829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610d9657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d78575b505050505090505b90565b606080600554604051908082528060200260200182016040528015610dd0578160200160208202803883390190505b5090506000805b600554811015610e5157858015610e00575060008181526020819052604090206003015460ff16155b80610e245750848015610e24575060008181526020819052604090206003015460ff165b15610e495780838381518110610e3657fe5b6020026020010181815250506001820191505b600101610dd7565b878703604051908082528060200260200182016040528015610e7d578160200160208202803883390190505b5093508790505b86811015610ec157828181518110610e9857fe5b60200260200101518489830381518110610eae57fe5b6020908102919091010152600101610e84565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015610efe578160200160208202803883390190505b5090506000805b600354811015610fc15760008581526001602052604081206003805491929184908110610f2e57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610fb95760038181548110610f6857fe5b9060005260206000200160009054906101000a90046001600160a01b0316838381518110610f9257fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001820191505b600101610f05565b81604051908082528060200260200182016040528015610feb578160200160208202803883390190505b509350600090505b8181101561103b5782818151811061100757fe5b602002602001015184828151811061101b57fe5b6001600160a01b0390921660209283029190910190910152600101610ff3565b505050919050565b60055481565b33301461105557600080fd5b600354816032821180159061106a5750818111155b801561107557508015155b801561108057508115155b61108957600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff166110e257600080fd5b60008281526020819052604090205482906001600160a01b031661110557600080fd5b60008381526001602090815260408083203380855292529091205484919060ff161561113057600080fd5b8461113a81610b43565b15611181576040805162461bcd60e51b8152602060048201526012602482015271151617d19553131657d0d3d391925493515160721b604482015290519081900360640190fd5b6000868152600160208181526040808420338086529252808420805460ff1916909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a36111d786610b43565b156111e6576111e686426115d2565b505050505050565b60006111fb84848461161d565b9050611206816110c6565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b806001600160a01b03811661123e57600080fd5b33301461124a57600080fd5b6001600160a01b038316600090815260026020526040902054839060ff1661127157600080fd5b6001600160a01b038316600090815260026020526040902054839060ff161561129957600080fd5b60005b60035481101561132157856001600160a01b0316600382815481106112bd57fe5b6000918252602090912001546001600160a01b031614156113195784600382815481106112e657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550611321565b60010161129c565b506001600160a01b03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a26040516001600160a01b038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b600081815260208190526040902060030154819060ff16156113dd57600080fd5b816113e781610b43565b611431576040805162461bcd60e51b8152602060048201526016602482015275151617d393d517d19553131657d0d3d391925493515160521b604482015290519081900360640190fd5b600654600084815260076020526040902054849101421015611491576040805162461bcd60e51b815260206004820152601460248201527354494d455f4c4f434b5f494e434f4d504c45544560601b604482015290519081900360640190fd5b6000848152602081815260409182902060038101805460ff19166001908117909155815481830154600280850180548851601f60001997831615610100029790970190911692909204948501879004870282018701909752838152939561155e956001600160a01b039093169491939283908301828280156115545780601f1061152957610100808354040283529160200191611554565b820191906000526020600020905b81548152906001019060200180831161153757829003601f168201915b50505050506116fe565b156115935760405185907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a26115cb565b60405185907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038101805460ff191690555b5050505050565b6000828152600760209081526040918290208390558151838152915184927f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d92908290030190a25050565b6000836001600160a01b03811661163357600080fd5b600554604080516080810182526001600160a01b038881168252602080830189815283850189815260006060860181905287815280845295909520845181546001600160a01b031916941693909317835551600183015592518051949650919390926116a692600285019291019061179b565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b60008461170a81611736565b61171357600080fd5b60006040516020850160008288838b8d6187965a03f19998505050505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061176a57508115155b949350505050565b81548183558181111561179657600083815260209020611796918101908301611819565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117dc57805160ff1916838001178555611809565b82800160010185558215611809579182015b828111156118095782518255916020019190600101906117ee565b50611815929150611819565b5090565b610d9e91905b80821115611815576000815560010161181f56fea265627a7a723158203d6169b0d82671a2ef2da0fa8c5ea2350da04e5a24a55a9c8672674bc832dd2b64736f6c63430005110032", "compiler": { "name": "solc", "version": "0.5.17+commit.d19bba13.Emscripten.clang" }, "deployedBytecode": "0x60806040526004361061014b5760003560e01c8063a0e67e2b116100b6578063c64274741161006f578063c6427474146105be578063d38f2d8214610686578063d74f8edd146106b0578063dc8452cd146106c5578063e20056e6146106da578063ee22610b146107155761014b565b8063a0e67e2b14610486578063a8abe69a146104eb578063b5dc40c31461052b578063b77bf60014610555578063ba51a6df1461056a578063c01a8c84146105945761014b565b8063547415251161010857806354741525146102d45780637065cb4814610308578063784547a71461033b5780637ad28c51146103655780638b51d13f1461038f5780639ace38c2146103b95761014b565b8063025e7c271461018a578063173825d9146101d057806320ea8d86146102035780632f54bf6e1461022d5780633411c81c1461027457806337bd78a0146102ad575b34156101885760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561019657600080fd5b506101b4600480360360208110156101ad57600080fd5b503561073f565b604080516001600160a01b039092168252519081900360200190f35b3480156101dc57600080fd5b50610188600480360360208110156101f357600080fd5b50356001600160a01b0316610766565b34801561020f57600080fd5b506101886004803603602081101561022657600080fd5b50356108d2565b34801561023957600080fd5b506102606004803603602081101561025057600080fd5b50356001600160a01b0316610988565b604080519115158252519081900360200190f35b34801561028057600080fd5b506102606004803603604081101561029757600080fd5b50803590602001356001600160a01b031661099d565b3480156102b957600080fd5b506102c26109bd565b60408051918252519081900360200190f35b3480156102e057600080fd5b506102c2600480360360408110156102f757600080fd5b5080351515906020013515156109c3565b34801561031457600080fd5b506101886004803603602081101561032b57600080fd5b50356001600160a01b0316610a2f565b34801561034757600080fd5b506102606004803603602081101561035e57600080fd5b5035610b43565b34801561037157600080fd5b506101886004803603602081101561038857600080fd5b5035610bca565b34801561039b57600080fd5b506102c2600480360360208110156103b257600080fd5b5035610c11565b3480156103c557600080fd5b506103e3600480360360208110156103dc57600080fd5b5035610c80565b60405180856001600160a01b03166001600160a01b031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610448578181015183820152602001610430565b50505050905090810190601f1680156104755780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561049257600080fd5b5061049b610d3e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104d75781810151838201526020016104bf565b505050509050019250505060405180910390f35b3480156104f757600080fd5b5061049b6004803603608081101561050e57600080fd5b508035906020810135906040810135151590606001351515610da1565b34801561053757600080fd5b5061049b6004803603602081101561054e57600080fd5b5035610ecc565b34801561056157600080fd5b506102c2611043565b34801561057657600080fd5b506101886004803603602081101561058d57600080fd5b5035611049565b3480156105a057600080fd5b50610188600480360360208110156105b757600080fd5b50356110c6565b3480156105ca57600080fd5b506102c2600480360360608110156105e157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561061157600080fd5b82018360208201111561062357600080fd5b8035906020019184600183028401116401000000008311171561064557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506111ee945050505050565b34801561069257600080fd5b506102c2600480360360208110156106a957600080fd5b503561120d565b3480156106bc57600080fd5b506102c261121f565b3480156106d157600080fd5b506102c2611224565b3480156106e657600080fd5b50610188600480360360408110156106fd57600080fd5b506001600160a01b038135811691602001351661122a565b34801561072157600080fd5b506101886004803603602081101561073857600080fd5b50356113bc565b6003818154811061074c57fe5b6000918252602090912001546001600160a01b0316905081565b33301461077257600080fd5b6001600160a01b038116600090815260026020526040902054819060ff1661079957600080fd5b6001600160a01b0382166000908152600260205260408120805460ff191690555b6003546000190181101561086d57826001600160a01b0316600382815481106107df57fe5b6000918252602090912001546001600160a01b031614156108655760038054600019810190811061080c57fe5b600091825260209091200154600380546001600160a01b03909216918390811061083257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555061086d565b6001016107ba565b506003805460001901906108819082611772565b50600354600454111561089a5760035461089a90611049565b6040516001600160a01b038316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff166108ee57600080fd5b60008281526001602090815260408083203380855292529091205483919060ff1661091857600080fd5b600084815260208190526040902060030154849060ff161561093957600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a28578380156109f0575060008181526020819052604090206003015460ff16155b80610a145750828015610a14575060008181526020819052604090206003015460ff165b15610a20576001820191505b6001016109c7565b5092915050565b333014610a3b57600080fd5b6001600160a01b038116600090815260026020526040902054819060ff1615610a6357600080fd5b816001600160a01b038116610a7757600080fd5b60038054905060010160045460328211158015610a945750818111155b8015610a9f57508015155b8015610aaa57508115155b610ab357600080fd5b6001600160a01b038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b600354811015610bc25760008481526001602052604081206003805491929184908110610b7157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610ba5576001820191505b600454821415610bba57600192505050610bc5565b600101610b48565b50505b919050565b333014610bd657600080fd5b60068190556040805182815290517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b43779181900360200190a150565b6000805b600354811015610c7a5760008381526001602052604081206003805491929184908110610c3e57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610c72576001820191505b600101610c15565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f81018890048802840188019096528583526001600160a01b0390931695909491929190830182828015610d2b5780601f10610d0057610100808354040283529160200191610d2b565b820191906000526020600020905b815481529060010190602001808311610d0e57829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610d9657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d78575b505050505090505b90565b606080600554604051908082528060200260200182016040528015610dd0578160200160208202803883390190505b5090506000805b600554811015610e5157858015610e00575060008181526020819052604090206003015460ff16155b80610e245750848015610e24575060008181526020819052604090206003015460ff165b15610e495780838381518110610e3657fe5b6020026020010181815250506001820191505b600101610dd7565b878703604051908082528060200260200182016040528015610e7d578160200160208202803883390190505b5093508790505b86811015610ec157828181518110610e9857fe5b60200260200101518489830381518110610eae57fe5b6020908102919091010152600101610e84565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015610efe578160200160208202803883390190505b5090506000805b600354811015610fc15760008581526001602052604081206003805491929184908110610f2e57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610fb95760038181548110610f6857fe5b9060005260206000200160009054906101000a90046001600160a01b0316838381518110610f9257fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001820191505b600101610f05565b81604051908082528060200260200182016040528015610feb578160200160208202803883390190505b509350600090505b8181101561103b5782818151811061100757fe5b602002602001015184828151811061101b57fe5b6001600160a01b0390921660209283029190910190910152600101610ff3565b505050919050565b60055481565b33301461105557600080fd5b600354816032821180159061106a5750818111155b801561107557508015155b801561108057508115155b61108957600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff166110e257600080fd5b60008281526020819052604090205482906001600160a01b031661110557600080fd5b60008381526001602090815260408083203380855292529091205484919060ff161561113057600080fd5b8461113a81610b43565b15611181576040805162461bcd60e51b8152602060048201526012602482015271151617d19553131657d0d3d391925493515160721b604482015290519081900360640190fd5b6000868152600160208181526040808420338086529252808420805460ff1916909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a36111d786610b43565b156111e6576111e686426115d2565b505050505050565b60006111fb84848461161d565b9050611206816110c6565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b806001600160a01b03811661123e57600080fd5b33301461124a57600080fd5b6001600160a01b038316600090815260026020526040902054839060ff1661127157600080fd5b6001600160a01b038316600090815260026020526040902054839060ff161561129957600080fd5b60005b60035481101561132157856001600160a01b0316600382815481106112bd57fe5b6000918252602090912001546001600160a01b031614156113195784600382815481106112e657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550611321565b60010161129c565b506001600160a01b03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a26040516001600160a01b038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b600081815260208190526040902060030154819060ff16156113dd57600080fd5b816113e781610b43565b611431576040805162461bcd60e51b8152602060048201526016602482015275151617d393d517d19553131657d0d3d391925493515160521b604482015290519081900360640190fd5b600654600084815260076020526040902054849101421015611491576040805162461bcd60e51b815260206004820152601460248201527354494d455f4c4f434b5f494e434f4d504c45544560601b604482015290519081900360640190fd5b6000848152602081815260409182902060038101805460ff19166001908117909155815481830154600280850180548851601f60001997831615610100029790970190911692909204948501879004870282018701909752838152939561155e956001600160a01b039093169491939283908301828280156115545780601f1061152957610100808354040283529160200191611554565b820191906000526020600020905b81548152906001019060200180831161153757829003601f168201915b50505050506116fe565b156115935760405185907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a26115cb565b60405185907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038101805460ff191690555b5050505050565b6000828152600760209081526040918290208390558151838152915184927f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d92908290030190a25050565b6000836001600160a01b03811661163357600080fd5b600554604080516080810182526001600160a01b038881168252602080830189815283850189815260006060860181905287815280845295909520845181546001600160a01b031916941693909317835551600183015592518051949650919390926116a692600285019291019061179b565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b60008461170a81611736565b61171357600080fd5b60006040516020850160008288838b8d6187965a03f19998505050505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061176a57508115155b949350505050565b81548183558181111561179657600083815260209020611796918101908301611819565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117dc57805160ff1916838001178555611809565b82800160010185558215611809579182015b828111156118095782518255916020019190600101906117ee565b50611815929150611819565b5090565b610d9e91905b80821115611815576000815560010161181f56fea265627a7a723158203d6169b0d82671a2ef2da0fa8c5ea2350da04e5a24a55a9c8672674bc832dd2b64736f6c63430005110032", "schemaVersion": "3.0.19" }