UNPKG

@perp/hottub-deployments

Version:

Perpetual Protocol Hot Tub contract artifacts (ABIs) and deployed addresses

598 lines (597 loc) 38.3 kB
{ "_format": "hh-sol-artifact-1", "contractName": "VaultConfig", "sourceName": "contracts/VaultConfig.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "UpdateArbitragerWhitelist", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint24", "name": "oldMarginRatio", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "newMarginRatio", "type": "uint24" } ], "name": "UpdateDeleverageMarginRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "vault", "type": "address" }, { "indexed": false, "internalType": "uint24", "name": "feeRatio", "type": "uint24" } ], "name": "UpdateExchangeFeeRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "trader", "type": "address" }, { "indexed": false, "internalType": "uint24", "name": "discountRatio", "type": "uint24" } ], "name": "UpdateFeeDiscountRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "UpdateLiquidityProviderWhitelist", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint24", "name": "oldMarginRatio", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "newMarginRatio", "type": "uint24" } ], "name": "UpdateSwapRestrictionMarginRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "vault", "type": "address" }, { "indexed": false, "internalType": "uint24", "name": "oldMarginRatio", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "newMarginRatio", "type": "uint24" } ], "name": "UpdateVaultDeleverageMarginRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "vault", "type": "address" }, { "indexed": false, "internalType": "uint24", "name": "oldMarginRatio", "type": "uint24" }, { "indexed": false, "internalType": "uint24", "name": "newMarginRatio", "type": "uint24" } ], "name": "UpdateVaultSwapRestrictionMarginRatio", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldAccount", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAccount", "type": "address" } ], "name": "UpdateWhitelistedLiquidityProviderAdder", "type": "event" }, { "inputs": [], "name": "candidate", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vault", "type": "address" } ], "name": "getDeleverageMarginRatio", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDeleverageMarginRatio", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vault", "type": "address" } ], "name": "getExchangeFeeRatio", "outputs": [ { "internalType": "uint24", "name": "feeRatio", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "vault", "type": "address" } ], "name": "getExchangeFeeRatioByTrader", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "trader", "type": "address" } ], "name": "getFeeDiscountRatio", "outputs": [ { "internalType": "uint24", "name": "discountRatio", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSwapRestrictionMarginRatio", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vault", "type": "address" } ], "name": "getSwapRestrictionMarginRatio", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getWhitelistedLiquidityProviderAdder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isWhitelistedArbitrageur", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isWhitelistedLiquidityProvider", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint24", "name": "deleverageMarginRatioArg", "type": "uint24" } ], "name": "setDeleverageMarginRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vaultArg", "type": "address" }, { "internalType": "uint24", "name": "deleverageMarginRatioArg", "type": "uint24" } ], "name": "setDeleverageMarginRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vault", "type": "address" }, { "internalType": "uint24", "name": "feeRatio", "type": "uint24" } ], "name": "setExchangeFeeRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "uint24", "name": "discountRatio", "type": "uint24" } ], "name": "setFeeDiscountRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vaultArg", "type": "address" }, { "internalType": "uint24", "name": "swapRestrictionMarginRatioArg", "type": "uint24" } ], "name": "setSwapRestrictionMarginRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint24", "name": "swapRestrictionMarginRatioArg", "type": "uint24" } ], "name": "setSwapRestrictionMarginRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setWhitelistForArbitrageur", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setWhitelistForLiquidityProvider", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "setWhitelistedLiquidityProviderAdder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506118bc806100206000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638129fc1c116100de578063b8f11ba211610097578063c0c8e63f11610071578063c0c8e63f14610419578063c6073f5e1461044a578063e79016e914610478578063f9be6ff61461049e57610173565b8063b8f11ba2146103c1578063bc5920ba146103e3578063bef6ad04146103eb57610173565b80638129fc1c1461034e5780638da5cb5b14610356578063a7d121ee1461035e578063a7fc352c14610366578063b74702da14610388578063b7f8c36a1461039057610173565b8063544adf5011610130578063544adf501461029557806354f4e599146102c35780636c8381f8146102f4578063715018a6146103185780637fbec65314610320578063810edac11461034657610173565b8063075651091461017857806313af4035146101ab57806314ea19ae146101d157806318403eae1461020f5780631d98fd191461023557806334ed9f7c1461025b575b600080fd5b6101a96004803603604081101561018e57600080fd5b5080356001600160a01b0316906020013562ffffff166104c4565b005b6101a9600480360360208110156101c157600080fd5b50356001600160a01b03166105eb565b6101f7600480360360208110156101e757600080fd5b50356001600160a01b0316610746565b6040805162ffffff9092168252519081900360200190f35b6101a96004803603602081101561022557600080fd5b50356001600160a01b031661079d565b6101f76004803603602081101561024b57600080fd5b50356001600160a01b0316610866565b6102816004803603602081101561027157600080fd5b50356001600160a01b0316610886565b604080519115158252519081900360200190f35b6101a9600480360360408110156102ab57600080fd5b506001600160a01b03813516906020013515156108a4565b6101a9600480360360408110156102d957600080fd5b5080356001600160a01b0316906020013562ffffff166109ca565b6102fc610b23565b604080516001600160a01b039092168252519081900360200190f35b6101a9610b32565b6101f76004803603602081101561033657600080fd5b50356001600160a01b0316610be5565b6102fc610c05565b6101a9610c14565b6102fc610cbe565b6101f7610ccd565b6101a96004803603602081101561037c57600080fd5b503562ffffff16610cd8565b6101f7610d99565b6101a9600480360360408110156103a657600080fd5b5080356001600160a01b0316906020013562ffffff16610dab565b6101a9600480360360208110156103d757600080fd5b503562ffffff16610ed2565b6101a9610fa1565b6101a96004803603604081101561040157600080fd5b506001600160a01b038135169060200135151561109f565b6101a96004803603604081101561042f57600080fd5b5080356001600160a01b0316906020013562ffffff16611188565b6101f76004803603604081101561046057600080fd5b506001600160a01b0381358116916020013516611295565b6101f76004803603602081101561048e57600080fd5b50356001600160a01b03166112f9565b610281600480360360208110156104b457600080fd5b50356001600160a01b0316611353565b6104cc611371565b6001600160a01b03166104dd610cbe565b6001600160a01b031614610521576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610533826001600160a01b0316611375565b61056d576040805162461bcd60e51b815260206004820152600660248201526556435f564e4360d01b604482015290519081900360640190fd5b6105768161137b565b6001600160a01b0382166000818152606c6020908152604091829020805462ffffff86811662ffffff198316811790935584519586521691840182905283830152905190917f44be7d2ea7159c7f2fa271f0c3abf65749fb5fbfcd79948ab39ca60b4ff64416919081900360600190a1505050565b6105f3611371565b6001600160a01b0316610604610cbe565b6001600160a01b031614610648576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661068c576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b03828116911614156106d8576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610724576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152606b602052604081205462ffffff161561078c576001600160a01b0382166000908152606b602052604090205462ffffff16610795565b60675462ffffff165b90505b919050565b6107a5611371565b6001600160a01b03166107b6610cbe565b6001600160a01b0316146107fa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610803816113d5565b606a80546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f7ccbaae1d2681c94cb08351012b9304588693ff3a94c48f38fadc6bc9dd3815f929181900390910190a15050565b6001600160a01b03166000908152606d602052604090205462ffffff1690565b6001600160a01b031660009081526069602052604090205460ff1690565b6108ac611371565b6001600160a01b03166108bd610cbe565b6001600160a01b031614610901576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61090a826113d5565b6001600160a01b03821660009081526069602052604090205460ff1615158115151415610966576040805162461bcd60e51b81526020600482015260056024820152642b21afa9ab60d91b604482015290519081900360640190fd5b6001600160a01b038216600081815260696020908152604091829020805460ff191685151590811790915582519384529083015280517f4b9178cc57fd58b168e8a9c156a2c70a7a81615245b62106fcb16c0840968ec39281900390910190a15050565b80620f424062ffffff82161115610a10576040805162461bcd60e51b815260206004820152600560248201526456435f524f60d81b604482015290519081900360640190fd5b610a18611371565b6001600160a01b0316610a29610cbe565b6001600160a01b031614610a6d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610a7f836001600160a01b0316611375565b610ab9576040805162461bcd60e51b815260206004820152600660248201526556435f564e4360d01b604482015290519081900360640190fd5b6001600160a01b0383166000818152606e6020908152604091829020805462ffffff191662ffffff871690811790915582519384529083015280517ff9177876eb35b18dd9af6b05b101dc9b466d95c9f2d2f9f25674f1789902b2039281900390910190a1505050565b6034546001600160a01b031690565b610b3a611371565b6001600160a01b0316610b4b610cbe565b6001600160a01b031614610b8f576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b6001600160a01b03166000908152606e602052604090205462ffffff1690565b606a546001600160a01b031690565b600054610100900460ff1680610c2d5750610c2d611418565b80610c3b575060005460ff16155b610c765760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff16158015610ca1576000805460ff1961ff0019909116610100171660011790555b610ca9611429565b8015610cbb576000805461ff00191690555b50565b6033546001600160a01b031690565b60675462ffffff1690565b610ce0611371565b6001600160a01b0316610cf1610cbe565b6001600160a01b031614610d35576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610d3e8161152a565b6067805462ffffff83811662ffffff19831681179093556040805191909216808252602082019390935281517f1daded33fee138ba63c799a4058a9f95062b889e748313ba1a3b04ede5183af7929181900390910190a15050565b6067546301000000900462ffffff1690565b610db3611371565b6001600160a01b0316610dc4610cbe565b6001600160a01b031614610e08576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610e1a826001600160a01b0316611375565b610e54576040805162461bcd60e51b815260206004820152600660248201526556435f564e4360d01b604482015290519081900360640190fd5b610e5d8161152a565b6001600160a01b0382166000818152606b6020908152604091829020805462ffffff86811662ffffff198316811790935584519586521691840182905283830152905190917f028bd100158018f5f4ac0a7a0df35fb969dad847407430a54c993ea0b46888a5919081900360600190a1505050565b610eda611371565b6001600160a01b0316610eeb610cbe565b6001600160a01b031614610f2f576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610f388161137b565b6067805462ffffff838116630100000081810265ffffff000000198516179094556040805194909304919091168084526020840191909152815190927f1ffa5c230c5a4b658aebab68dfde4a0bfe73f3af186c8361187d835d110abf7592908290030190a15050565b6034546001600160a01b0316610fe6576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610fee611371565b6034546001600160a01b03908116911614611039576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b6110a7611371565b6001600160a01b03166110b8610cbe565b6001600160a01b031614806110e257506110d0611371565b606a546001600160a01b039081169116145b61111b576040805162461bcd60e51b815260206004820152600560248201526456435f494360d81b604482015290519081900360640190fd5b611124826113d5565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915582519384529083015280517fdffeb251a9219cc502863e79f84c78c3922968fc6674f6295e3c355da5aedcb69281900390910190a15050565b80620f424062ffffff821611156111ce576040805162461bcd60e51b815260206004820152600560248201526456435f524f60d81b604482015290519081900360640190fd5b6111d6611371565b6001600160a01b03166111e7610cbe565b6001600160a01b03161461122b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0383166000818152606d6020908152604091829020805462ffffff191662ffffff871690811790915582519384529083015280517f7dc2c407e9c03d101d3960e0bdb6e97ebb01f4b8bc5952cad6b1c5b147f696ad9281900390910190a1505050565b6001600160a01b0382166000908152606d60205260408120546112f2906112ed906112c990620f42409062ffffff16611583565b6001600160a01b0385166000908152606e602052604090205462ffffff16906115be565b6115d3565b9392505050565b6001600160a01b0381166000908152606c602052604081205462ffffff161561133f576001600160a01b0382166000908152606c602052604090205462ffffff16610795565b50506067546301000000900462ffffff1690565b6001600160a01b031660009081526068602052604090205460ff1690565b3390565b3b151590565b61f42462ffffff82161180156113995750620f424062ffffff821611155b610cbb576040805162461bcd60e51b81526020600482015260086024820152672b21afa4a9a926a960c11b604482015290519081900360640190fd5b6001600160a01b038116610cbb576040805162461bcd60e51b815260206004820152600560248201526456435f5a4160d81b604482015290519081900360640190fd5b600061142330611375565b15905090565b600054610100900460ff16806114425750611442611418565b80611450575060005460ff16155b61148b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff161580156114b6576000805460ff1961ff0019909116610100171660011790555b6114be611617565b60006114c8611371565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610cbb576000805461ff001916905550565b61f42462ffffff82161180156115485750620f424062ffffff821611155b610cbb576040805162461bcd60e51b81526020600482015260076024820152662b21afa4a226a960c91b604482015290519081900360640190fd5b60008262ffffff168262ffffff1611156115b85760405162461bcd60e51b81526004016115af906117fb565b60405180910390fd5b50900390565b60006112f2838362ffffff16620f42406116ac565b8062ffffff811681146107985760405162461bcd60e51b81526004018080602001828103825260268152602001806118616026913960400191505060405180910390fd5b600054610100900460ff16806116305750611630611418565b8061163e575060005460ff16155b6116795760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff161580156116a4576000805460ff1961ff0019909116610100171660011790555b610ca961175b565b60008080600019858709868602925082811090839003039050806116e257600084116116d757600080fd5b5082900490506112f2565b8084116116ee57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b600054610100900460ff16806117745750611774611418565b80611782575060005460ff16155b6117bd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff16158015610ca9576000805460ff1961ff0019909116610100171660011790558015610cbb576000805461ff001916905550565b6020808252601e908201527f506572704d6174683a207375627472616374696f6e206f766572666c6f77000060408201526060019056fe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656453616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473a264697066735822122047b9e116e7ff6c37d4575f7ba4499aa8e7bb0293db1025e89477c9781d2a698564736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c80638129fc1c116100de578063b8f11ba211610097578063c0c8e63f11610071578063c0c8e63f14610419578063c6073f5e1461044a578063e79016e914610478578063f9be6ff61461049e57610173565b8063b8f11ba2146103c1578063bc5920ba146103e3578063bef6ad04146103eb57610173565b80638129fc1c1461034e5780638da5cb5b14610356578063a7d121ee1461035e578063a7fc352c14610366578063b74702da14610388578063b7f8c36a1461039057610173565b8063544adf5011610130578063544adf501461029557806354f4e599146102c35780636c8381f8146102f4578063715018a6146103185780637fbec65314610320578063810edac11461034657610173565b8063075651091461017857806313af4035146101ab57806314ea19ae146101d157806318403eae1461020f5780631d98fd191461023557806334ed9f7c1461025b575b600080fd5b6101a96004803603604081101561018e57600080fd5b5080356001600160a01b0316906020013562ffffff166104c4565b005b6101a9600480360360208110156101c157600080fd5b50356001600160a01b03166105eb565b6101f7600480360360208110156101e757600080fd5b50356001600160a01b0316610746565b6040805162ffffff9092168252519081900360200190f35b6101a96004803603602081101561022557600080fd5b50356001600160a01b031661079d565b6101f76004803603602081101561024b57600080fd5b50356001600160a01b0316610866565b6102816004803603602081101561027157600080fd5b50356001600160a01b0316610886565b604080519115158252519081900360200190f35b6101a9600480360360408110156102ab57600080fd5b506001600160a01b03813516906020013515156108a4565b6101a9600480360360408110156102d957600080fd5b5080356001600160a01b0316906020013562ffffff166109ca565b6102fc610b23565b604080516001600160a01b039092168252519081900360200190f35b6101a9610b32565b6101f76004803603602081101561033657600080fd5b50356001600160a01b0316610be5565b6102fc610c05565b6101a9610c14565b6102fc610cbe565b6101f7610ccd565b6101a96004803603602081101561037c57600080fd5b503562ffffff16610cd8565b6101f7610d99565b6101a9600480360360408110156103a657600080fd5b5080356001600160a01b0316906020013562ffffff16610dab565b6101a9600480360360208110156103d757600080fd5b503562ffffff16610ed2565b6101a9610fa1565b6101a96004803603604081101561040157600080fd5b506001600160a01b038135169060200135151561109f565b6101a96004803603604081101561042f57600080fd5b5080356001600160a01b0316906020013562ffffff16611188565b6101f76004803603604081101561046057600080fd5b506001600160a01b0381358116916020013516611295565b6101f76004803603602081101561048e57600080fd5b50356001600160a01b03166112f9565b610281600480360360208110156104b457600080fd5b50356001600160a01b0316611353565b6104cc611371565b6001600160a01b03166104dd610cbe565b6001600160a01b031614610521576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610533826001600160a01b0316611375565b61056d576040805162461bcd60e51b815260206004820152600660248201526556435f564e4360d01b604482015290519081900360640190fd5b6105768161137b565b6001600160a01b0382166000818152606c6020908152604091829020805462ffffff86811662ffffff198316811790935584519586521691840182905283830152905190917f44be7d2ea7159c7f2fa271f0c3abf65749fb5fbfcd79948ab39ca60b4ff64416919081900360600190a1505050565b6105f3611371565b6001600160a01b0316610604610cbe565b6001600160a01b031614610648576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661068c576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b03828116911614156106d8576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610724576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152606b602052604081205462ffffff161561078c576001600160a01b0382166000908152606b602052604090205462ffffff16610795565b60675462ffffff165b90505b919050565b6107a5611371565b6001600160a01b03166107b6610cbe565b6001600160a01b0316146107fa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610803816113d5565b606a80546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f7ccbaae1d2681c94cb08351012b9304588693ff3a94c48f38fadc6bc9dd3815f929181900390910190a15050565b6001600160a01b03166000908152606d602052604090205462ffffff1690565b6001600160a01b031660009081526069602052604090205460ff1690565b6108ac611371565b6001600160a01b03166108bd610cbe565b6001600160a01b031614610901576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61090a826113d5565b6001600160a01b03821660009081526069602052604090205460ff1615158115151415610966576040805162461bcd60e51b81526020600482015260056024820152642b21afa9ab60d91b604482015290519081900360640190fd5b6001600160a01b038216600081815260696020908152604091829020805460ff191685151590811790915582519384529083015280517f4b9178cc57fd58b168e8a9c156a2c70a7a81615245b62106fcb16c0840968ec39281900390910190a15050565b80620f424062ffffff82161115610a10576040805162461bcd60e51b815260206004820152600560248201526456435f524f60d81b604482015290519081900360640190fd5b610a18611371565b6001600160a01b0316610a29610cbe565b6001600160a01b031614610a6d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610a7f836001600160a01b0316611375565b610ab9576040805162461bcd60e51b815260206004820152600660248201526556435f564e4360d01b604482015290519081900360640190fd5b6001600160a01b0383166000818152606e6020908152604091829020805462ffffff191662ffffff871690811790915582519384529083015280517ff9177876eb35b18dd9af6b05b101dc9b466d95c9f2d2f9f25674f1789902b2039281900390910190a1505050565b6034546001600160a01b031690565b610b3a611371565b6001600160a01b0316610b4b610cbe565b6001600160a01b031614610b8f576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b6001600160a01b03166000908152606e602052604090205462ffffff1690565b606a546001600160a01b031690565b600054610100900460ff1680610c2d5750610c2d611418565b80610c3b575060005460ff16155b610c765760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff16158015610ca1576000805460ff1961ff0019909116610100171660011790555b610ca9611429565b8015610cbb576000805461ff00191690555b50565b6033546001600160a01b031690565b60675462ffffff1690565b610ce0611371565b6001600160a01b0316610cf1610cbe565b6001600160a01b031614610d35576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610d3e8161152a565b6067805462ffffff83811662ffffff19831681179093556040805191909216808252602082019390935281517f1daded33fee138ba63c799a4058a9f95062b889e748313ba1a3b04ede5183af7929181900390910190a15050565b6067546301000000900462ffffff1690565b610db3611371565b6001600160a01b0316610dc4610cbe565b6001600160a01b031614610e08576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610e1a826001600160a01b0316611375565b610e54576040805162461bcd60e51b815260206004820152600660248201526556435f564e4360d01b604482015290519081900360640190fd5b610e5d8161152a565b6001600160a01b0382166000818152606b6020908152604091829020805462ffffff86811662ffffff198316811790935584519586521691840182905283830152905190917f028bd100158018f5f4ac0a7a0df35fb969dad847407430a54c993ea0b46888a5919081900360600190a1505050565b610eda611371565b6001600160a01b0316610eeb610cbe565b6001600160a01b031614610f2f576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610f388161137b565b6067805462ffffff838116630100000081810265ffffff000000198516179094556040805194909304919091168084526020840191909152815190927f1ffa5c230c5a4b658aebab68dfde4a0bfe73f3af186c8361187d835d110abf7592908290030190a15050565b6034546001600160a01b0316610fe6576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610fee611371565b6034546001600160a01b03908116911614611039576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b6110a7611371565b6001600160a01b03166110b8610cbe565b6001600160a01b031614806110e257506110d0611371565b606a546001600160a01b039081169116145b61111b576040805162461bcd60e51b815260206004820152600560248201526456435f494360d81b604482015290519081900360640190fd5b611124826113d5565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915582519384529083015280517fdffeb251a9219cc502863e79f84c78c3922968fc6674f6295e3c355da5aedcb69281900390910190a15050565b80620f424062ffffff821611156111ce576040805162461bcd60e51b815260206004820152600560248201526456435f524f60d81b604482015290519081900360640190fd5b6111d6611371565b6001600160a01b03166111e7610cbe565b6001600160a01b03161461122b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0383166000818152606d6020908152604091829020805462ffffff191662ffffff871690811790915582519384529083015280517f7dc2c407e9c03d101d3960e0bdb6e97ebb01f4b8bc5952cad6b1c5b147f696ad9281900390910190a1505050565b6001600160a01b0382166000908152606d60205260408120546112f2906112ed906112c990620f42409062ffffff16611583565b6001600160a01b0385166000908152606e602052604090205462ffffff16906115be565b6115d3565b9392505050565b6001600160a01b0381166000908152606c602052604081205462ffffff161561133f576001600160a01b0382166000908152606c602052604090205462ffffff16610795565b50506067546301000000900462ffffff1690565b6001600160a01b031660009081526068602052604090205460ff1690565b3390565b3b151590565b61f42462ffffff82161180156113995750620f424062ffffff821611155b610cbb576040805162461bcd60e51b81526020600482015260086024820152672b21afa4a9a926a960c11b604482015290519081900360640190fd5b6001600160a01b038116610cbb576040805162461bcd60e51b815260206004820152600560248201526456435f5a4160d81b604482015290519081900360640190fd5b600061142330611375565b15905090565b600054610100900460ff16806114425750611442611418565b80611450575060005460ff16155b61148b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff161580156114b6576000805460ff1961ff0019909116610100171660011790555b6114be611617565b60006114c8611371565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610cbb576000805461ff001916905550565b61f42462ffffff82161180156115485750620f424062ffffff821611155b610cbb576040805162461bcd60e51b81526020600482015260076024820152662b21afa4a226a960c91b604482015290519081900360640190fd5b60008262ffffff168262ffffff1611156115b85760405162461bcd60e51b81526004016115af906117fb565b60405180910390fd5b50900390565b60006112f2838362ffffff16620f42406116ac565b8062ffffff811681146107985760405162461bcd60e51b81526004018080602001828103825260268152602001806118616026913960400191505060405180910390fd5b600054610100900460ff16806116305750611630611418565b8061163e575060005460ff16155b6116795760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff161580156116a4576000805460ff1961ff0019909116610100171660011790555b610ca961175b565b60008080600019858709868602925082811090839003039050806116e257600084116116d757600080fd5b5082900490506112f2565b8084116116ee57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b600054610100900460ff16806117745750611774611418565b80611782575060005460ff16155b6117bd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611833602e913960400191505060405180910390fd5b600054610100900460ff16158015610ca9576000805460ff1961ff0019909116610100171660011790558015610cbb576000805461ff001916905550565b6020808252601e908201527f506572704d6174683a207375627472616374696f6e206f766572666c6f77000060408201526060019056fe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656453616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473a264697066735822122047b9e116e7ff6c37d4575f7ba4499aa8e7bb0293db1025e89477c9781d2a698564736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {} }