@perp/curie-deployments
Version:
Perpetual Protocol Curie (v2) contract artifacts (ABIs) and deployed addresses
389 lines (388 loc) • 40.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "InsuranceFund",
"sourceName": "contracts/InsuranceFund.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "borrower",
"type": "address"
}
],
"name": "BorrowerChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"name": "DistributionThresholdChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "surplus",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "insuranceFundCapacity",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "insuranceFundFreeCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"name": "FeeDistributed",
"type": "event"
},
{
"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"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "repaidAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenBalanceAfterRepaid",
"type": "uint256"
}
],
"name": "Repaid",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "surplusBeneficiary",
"type": "address"
}
],
"name": "SurplusBeneficiaryChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "vault",
"type": "address"
}
],
"name": "VaultChanged",
"type": "event"
},
{
"inputs": [],
"name": "candidate",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "distributeFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getBorrower",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDistributionThreshold",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInsuranceFundCapacity",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getSurplusBeneficiary",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenArg",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "repay",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"name": "setDistributionThreshold",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "setOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "surplusBeneficiary",
"type": "address"
}
],
"name": "setSurplusBeneficiary",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "vaultArg",
"type": "address"
}
],
"name": "setVault",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50612005806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80636c8381f8116100ad578063b9b4744a11610071578063b9b4744a14610221578063bc5920ba1461023e578063c4d66de814610246578063d8ab17b51461026c578063efeb8e69146102925761012c565b80636c8381f814610201578063715018a6146102095780638456cb59146102115780638d928af8146101595780638da5cb5b146102195761012c565b806326c4e60d116100f457806326c4e60d146101a75780633f4ba83a146101af578063402d8883146101b75780635c975abb146101bf5780636817031b146101db5761012c565b806313af4035146101315780631cb0c3e714610159578063213037c41461017d57806321df0da714610197578063258d8e6a1461019f575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b031661029a565b005b6101616103f5565b604080516001600160a01b039092168252519081900360200190f35b610185610404565b60408051918252519081900360200190f35b61016161051d565b61016161052c565b61018561053b565b61015761082b565b610157610892565b6101c7610c51565b604080519115158252519081900360200190f35b610157600480360360208110156101f157600080fd5b50356001600160a01b0316610c5a565b610161610d57565b610157610d66565b610157610e07565b610161610e6c565b6101576004803603602081101561023757600080fd5b5035610e7b565b610157610f14565b6101576004803603602081101561025c57600080fd5b50356001600160a01b0316611000565b6101576004803603602081101561028257600080fd5b50356001600160a01b031661111a565b6101856112ce565b6102a26112d5565b6001600160a01b03166102b3610e6c565b6001600160a01b0316146102f7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661033b576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6065546001600160a01b0382811691161415610387576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6066546001600160a01b03828116911614156103d3576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60fe546001600160a01b031690565b60fe5460fd546040805163c3b66b3160e01b815230600482015290516000936001600160a01b039081169316918491849163c3b66b31916024808301926020929190829003018186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d602081101561048457600080fd5b5051604080516370a0823160e01b81523060048201529051919250600091610508916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d602081101561050157600080fd5b50516112e4565b90506105148282611330565b94505050505090565b60fd546001600160a01b031690565b60ff546001600160a01b031690565b600060026001541415610595576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556105a2610c51565b156105e7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd5460ff54610100546001600160a01b03938416939283169290911690600090610614906112e4565b90506001600160a01b03821661065a576040805162461bcd60e51b815260206004820152600660248201526549465f534e5360d01b604482015290519081900360640190fd5b60008113610699576040805162461bcd60e51b815260206004820152600760248201526624a32fa22a22ad60c91b604482015290519081900360640190fd5b60006106fc856001600160a01b03166312ca1d1730876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156104d757600080fd5b90506000610708610404565b90506000610720610719838661139c565b6000611401565b905060006107366107318386611418565b611427565b9050801561081b57876001600160a01b031663f3fef3a388836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561079557600080fd5b505af11580156107a9573d6000803e3d6000fd5b505050506107b887878361147e565b7f5b3735d487e9342fbcf11df79c2146f60ffabadb4d2e31ced107fe4346cd21ef816107e385611427565b6107ec87611427565b6107f589611427565b604080519485526020850193909352838301919091526060830152519081900360800190a15b9750505050505050506001805590565b6108336112d5565b6001600160a01b0316610844610e6c565b6001600160a01b031614610888576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906114d5565b565b600260015414156108ea576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556108f7610c51565b1561093c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd546040805163c3b66b3160e01b815230600482015290516001600160a01b039384169390921691600091849163c3b66b3191602480820192602092909190829003018186803b15801561099357600080fd5b505afa1580156109a7573d6000803e3d6000fd5b505050506040513d60208110156109bd57600080fd5b5051905060008112610a00576040805162461bcd60e51b815260206004820152600760248201526624a32fa92ba72760c91b604482015290519081900360640190fd5b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d6020811015610a7957600080fd5b505190506000610a8883611575565b9050600081831015610a9a5782610a9c565b815b9050846001600160a01b031663095ea7b387836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b5050604080516311f9fbc960e21b81526001600160a01b038781166004830152602482018490529151918816916347e7ef249160448082019260009290919082900301818387803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b505050506000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b5051604080518481526020810183905281519293507f81472a96709c8315c82af40d41ef624a642ad53864b097e53af675593bb4e035929081900390910190a15050600180555050505050565b60995460ff1690565b610c626112d5565b6001600160a01b0316610c73610e6c565b6001600160a01b031614610cb7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610cc9816001600160a01b031661159f565b610d03576040805162461bcd60e51b815260206004820152600660248201526549465f564e4360d01b604482015290519081900360640190fd5b60fe80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a75729181900360200190a150565b6066546001600160a01b031690565b610d6e6112d5565b6001600160a01b0316610d7f610e6c565b6001600160a01b031614610dc3576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6065546040516000916001600160a01b031690600080516020611f3a833981519152908390a3606580546001600160a01b0319908116909155606680549091169055565b610e0f6112d5565b6001600160a01b0316610e20610e6c565b6001600160a01b031614610e64576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906115a5565b6065546001600160a01b031690565b610e836112d5565b6001600160a01b0316610e94610e6c565b6001600160a01b031614610ed8576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6101008190556040805182815290517f826e0631e894a92cd7dee323bccc25ed3a6bee87e9bd0cbc957767dc44ad4a659181900360200190a150565b6066546001600160a01b0316610f59576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610f616112d5565b6066546001600160a01b03908116911614610fac576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6066546065546040516001600160a01b039283169290911690600080516020611f3a83398151915290600090a360668054606580546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806110195750611019611628565b80611027575060005460ff16155b6110625760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561108d576000805460ff1961ff0019909116610100171660011790555b61109f826001600160a01b031661159f565b6110d9576040805162461bcd60e51b815260206004820152600660248201526549465f544e4360d01b604482015290519081900360640190fd5b6110e1611639565b6110e96116e3565b60fd80546001600160a01b0319166001600160a01b0384161790558015611116576000805461ff00191690555b5050565b6111226112d5565b6001600160a01b0316611133610e6c565b6001600160a01b031614611177576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611189816001600160a01b031661159f565b6111c3576040805162461bcd60e51b815260206004820152600660248201526549465f534e4360d01b604482015290519081900360640190fd5b60fd54604080516321df0da760e01b815290516001600160a01b03928316928416916321df0da7916004808301926020929190829003018186803b15801561120a57600080fd5b505afa15801561121e573d6000803e3d6000fd5b505050506040513d602081101561123457600080fd5b50516001600160a01b03161461127a576040805162461bcd60e51b815260206004820152600660248201526549465f544e4d60d01b604482015290519081900360640190fd5b60ff80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d932b1f34b8232aeb85a714eecbab101e949e9df57611b94a68ccc68df23fa89181900360200190a150565b6101005490565b60006112df611780565b905090565b60006001600160ff1b0382111561132c5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f5a6028913960400191505060405180910390fd5b5090565b60008282018183128015906113455750838112155b8061135a575060008312801561135a57508381125b6113955760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec56021913960400191505060405180910390fd5b9392505050565b60008183038183128015906113b15750838113155b806113c657506000831280156113c657508381135b6113955760405162461bcd60e51b8152600401808060200182810382526024815260200180611f826024913960400191505060405180910390fd5b6000818312156114115781611395565b5090919050565b60008183126114115781611395565b60008082121561132c576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114d0908490611784565b505050565b6114dd610c51565b611525576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115586112d5565b604080516001600160a01b039092168252519081900360200190a1565b6000808212156115905761158b61073183611835565b611599565b61159982611427565b92915050565b3b151590565b6115ad610c51565b156115f2576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115586112d5565b60006116333061159f565b15905090565b600054610100900460ff16806116525750611652611628565b80611660575060005460ff16155b61169b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116c6576000805460ff1961ff0019909116610100171660011790555b6116ce61186a565b80156116e0576000805461ff00191690555b50565b600054610100900460ff16806116fc57506116fc611628565b8061170a575060005460ff16155b6117455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611770576000805460ff1961ff0019909116610100171660011790555b61177861190f565b6116ce6119fe565b3390565b60006117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a9b9092919063ffffffff16565b8051909150156114d0578080602001905160208110156117f857600080fd5b50516114d05760405162461bcd60e51b815260040180806020018281038252602a815260200180611fa6602a913960400191505060405180910390fd5b6000600160ff1b82136118635760405162461bcd60e51b815260040161185a90611e8d565b60405180910390fd5b5060000390565b600054610100900460ff16806118835750611883611628565b80611891575060005460ff16155b6118cc5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156118f7576000805460ff1961ff0019909116610100171660011790555b6001805580156116e0576000805461ff001916905550565b600054610100900460ff16806119285750611928611628565b80611936575060005460ff16155b6119715760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561199c576000805460ff1961ff0019909116610100171660011790555b6119a4611ab2565b60006119ae6112d5565b606580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020611f3a833981519152908290a35080156116e0576000805461ff001916905550565b600054610100900460ff1680611a175750611a17611628565b80611a25575060005460ff16155b611a605760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611a8b576000805460ff1961ff0019909116610100171660011790555b611a93611b43565b6116ce611be3565b6060611aaa8484600085611c8e565b949350505050565b600054610100900460ff1680611acb5750611acb611628565b80611ad9575060005460ff16155b611b145760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611b3f576000805460ff1961ff0019909116610100171660011790555b6116ce5b600054610100900460ff1680611b5c5750611b5c611628565b80611b6a575060005460ff16155b611ba55760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116ce576000805460ff1961ff00199091166101001716600117905580156116e0576000805461ff001916905550565b600054610100900460ff1680611bfc5750611bfc611628565b80611c0a575060005460ff16155b611c455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611c70576000805460ff1961ff0019909116610100171660011790555b6099805460ff1916905580156116e0576000805461ff001916905550565b606082471015611ccf5760405162461bcd60e51b8152600401808060200182810382526026815260200180611ee66026913960400191505060405180910390fd5b611cd88561159f565b611d29576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d675780518252601f199092019160209182019101611d48565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611dc9576040519150601f19603f3d011682016040523d82523d6000602084013e611dce565b606091505b5091509150611dde828286611de9565b979650505050505050565b60608315611df8575081611395565b825115611e085782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e52578181015183820152602001611e3a565b50505050905090810190601f168015611e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f770000000060408201526060019056fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e053616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220b886bb62e5bbb70c98d6a5557a81c2442975902b9dc51bee9d4fafe5aedd030964736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80636c8381f8116100ad578063b9b4744a11610071578063b9b4744a14610221578063bc5920ba1461023e578063c4d66de814610246578063d8ab17b51461026c578063efeb8e69146102925761012c565b80636c8381f814610201578063715018a6146102095780638456cb59146102115780638d928af8146101595780638da5cb5b146102195761012c565b806326c4e60d116100f457806326c4e60d146101a75780633f4ba83a146101af578063402d8883146101b75780635c975abb146101bf5780636817031b146101db5761012c565b806313af4035146101315780631cb0c3e714610159578063213037c41461017d57806321df0da714610197578063258d8e6a1461019f575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b031661029a565b005b6101616103f5565b604080516001600160a01b039092168252519081900360200190f35b610185610404565b60408051918252519081900360200190f35b61016161051d565b61016161052c565b61018561053b565b61015761082b565b610157610892565b6101c7610c51565b604080519115158252519081900360200190f35b610157600480360360208110156101f157600080fd5b50356001600160a01b0316610c5a565b610161610d57565b610157610d66565b610157610e07565b610161610e6c565b6101576004803603602081101561023757600080fd5b5035610e7b565b610157610f14565b6101576004803603602081101561025c57600080fd5b50356001600160a01b0316611000565b6101576004803603602081101561028257600080fd5b50356001600160a01b031661111a565b6101856112ce565b6102a26112d5565b6001600160a01b03166102b3610e6c565b6001600160a01b0316146102f7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661033b576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6065546001600160a01b0382811691161415610387576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6066546001600160a01b03828116911614156103d3576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60fe546001600160a01b031690565b60fe5460fd546040805163c3b66b3160e01b815230600482015290516000936001600160a01b039081169316918491849163c3b66b31916024808301926020929190829003018186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d602081101561048457600080fd5b5051604080516370a0823160e01b81523060048201529051919250600091610508916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d602081101561050157600080fd5b50516112e4565b90506105148282611330565b94505050505090565b60fd546001600160a01b031690565b60ff546001600160a01b031690565b600060026001541415610595576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556105a2610c51565b156105e7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd5460ff54610100546001600160a01b03938416939283169290911690600090610614906112e4565b90506001600160a01b03821661065a576040805162461bcd60e51b815260206004820152600660248201526549465f534e5360d01b604482015290519081900360640190fd5b60008113610699576040805162461bcd60e51b815260206004820152600760248201526624a32fa22a22ad60c91b604482015290519081900360640190fd5b60006106fc856001600160a01b03166312ca1d1730876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156104d757600080fd5b90506000610708610404565b90506000610720610719838661139c565b6000611401565b905060006107366107318386611418565b611427565b9050801561081b57876001600160a01b031663f3fef3a388836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561079557600080fd5b505af11580156107a9573d6000803e3d6000fd5b505050506107b887878361147e565b7f5b3735d487e9342fbcf11df79c2146f60ffabadb4d2e31ced107fe4346cd21ef816107e385611427565b6107ec87611427565b6107f589611427565b604080519485526020850193909352838301919091526060830152519081900360800190a15b9750505050505050506001805590565b6108336112d5565b6001600160a01b0316610844610e6c565b6001600160a01b031614610888576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906114d5565b565b600260015414156108ea576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556108f7610c51565b1561093c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd546040805163c3b66b3160e01b815230600482015290516001600160a01b039384169390921691600091849163c3b66b3191602480820192602092909190829003018186803b15801561099357600080fd5b505afa1580156109a7573d6000803e3d6000fd5b505050506040513d60208110156109bd57600080fd5b5051905060008112610a00576040805162461bcd60e51b815260206004820152600760248201526624a32fa92ba72760c91b604482015290519081900360640190fd5b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d6020811015610a7957600080fd5b505190506000610a8883611575565b9050600081831015610a9a5782610a9c565b815b9050846001600160a01b031663095ea7b387836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b5050604080516311f9fbc960e21b81526001600160a01b038781166004830152602482018490529151918816916347e7ef249160448082019260009290919082900301818387803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b505050506000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b5051604080518481526020810183905281519293507f81472a96709c8315c82af40d41ef624a642ad53864b097e53af675593bb4e035929081900390910190a15050600180555050505050565b60995460ff1690565b610c626112d5565b6001600160a01b0316610c73610e6c565b6001600160a01b031614610cb7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610cc9816001600160a01b031661159f565b610d03576040805162461bcd60e51b815260206004820152600660248201526549465f564e4360d01b604482015290519081900360640190fd5b60fe80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a75729181900360200190a150565b6066546001600160a01b031690565b610d6e6112d5565b6001600160a01b0316610d7f610e6c565b6001600160a01b031614610dc3576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6065546040516000916001600160a01b031690600080516020611f3a833981519152908390a3606580546001600160a01b0319908116909155606680549091169055565b610e0f6112d5565b6001600160a01b0316610e20610e6c565b6001600160a01b031614610e64576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906115a5565b6065546001600160a01b031690565b610e836112d5565b6001600160a01b0316610e94610e6c565b6001600160a01b031614610ed8576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6101008190556040805182815290517f826e0631e894a92cd7dee323bccc25ed3a6bee87e9bd0cbc957767dc44ad4a659181900360200190a150565b6066546001600160a01b0316610f59576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610f616112d5565b6066546001600160a01b03908116911614610fac576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6066546065546040516001600160a01b039283169290911690600080516020611f3a83398151915290600090a360668054606580546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806110195750611019611628565b80611027575060005460ff16155b6110625760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561108d576000805460ff1961ff0019909116610100171660011790555b61109f826001600160a01b031661159f565b6110d9576040805162461bcd60e51b815260206004820152600660248201526549465f544e4360d01b604482015290519081900360640190fd5b6110e1611639565b6110e96116e3565b60fd80546001600160a01b0319166001600160a01b0384161790558015611116576000805461ff00191690555b5050565b6111226112d5565b6001600160a01b0316611133610e6c565b6001600160a01b031614611177576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611189816001600160a01b031661159f565b6111c3576040805162461bcd60e51b815260206004820152600660248201526549465f534e4360d01b604482015290519081900360640190fd5b60fd54604080516321df0da760e01b815290516001600160a01b03928316928416916321df0da7916004808301926020929190829003018186803b15801561120a57600080fd5b505afa15801561121e573d6000803e3d6000fd5b505050506040513d602081101561123457600080fd5b50516001600160a01b03161461127a576040805162461bcd60e51b815260206004820152600660248201526549465f544e4d60d01b604482015290519081900360640190fd5b60ff80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d932b1f34b8232aeb85a714eecbab101e949e9df57611b94a68ccc68df23fa89181900360200190a150565b6101005490565b60006112df611780565b905090565b60006001600160ff1b0382111561132c5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f5a6028913960400191505060405180910390fd5b5090565b60008282018183128015906113455750838112155b8061135a575060008312801561135a57508381125b6113955760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec56021913960400191505060405180910390fd5b9392505050565b60008183038183128015906113b15750838113155b806113c657506000831280156113c657508381135b6113955760405162461bcd60e51b8152600401808060200182810382526024815260200180611f826024913960400191505060405180910390fd5b6000818312156114115781611395565b5090919050565b60008183126114115781611395565b60008082121561132c576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114d0908490611784565b505050565b6114dd610c51565b611525576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115586112d5565b604080516001600160a01b039092168252519081900360200190a1565b6000808212156115905761158b61073183611835565b611599565b61159982611427565b92915050565b3b151590565b6115ad610c51565b156115f2576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115586112d5565b60006116333061159f565b15905090565b600054610100900460ff16806116525750611652611628565b80611660575060005460ff16155b61169b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116c6576000805460ff1961ff0019909116610100171660011790555b6116ce61186a565b80156116e0576000805461ff00191690555b50565b600054610100900460ff16806116fc57506116fc611628565b8061170a575060005460ff16155b6117455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611770576000805460ff1961ff0019909116610100171660011790555b61177861190f565b6116ce6119fe565b3390565b60006117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a9b9092919063ffffffff16565b8051909150156114d0578080602001905160208110156117f857600080fd5b50516114d05760405162461bcd60e51b815260040180806020018281038252602a815260200180611fa6602a913960400191505060405180910390fd5b6000600160ff1b82136118635760405162461bcd60e51b815260040161185a90611e8d565b60405180910390fd5b5060000390565b600054610100900460ff16806118835750611883611628565b80611891575060005460ff16155b6118cc5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156118f7576000805460ff1961ff0019909116610100171660011790555b6001805580156116e0576000805461ff001916905550565b600054610100900460ff16806119285750611928611628565b80611936575060005460ff16155b6119715760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561199c576000805460ff1961ff0019909116610100171660011790555b6119a4611ab2565b60006119ae6112d5565b606580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020611f3a833981519152908290a35080156116e0576000805461ff001916905550565b600054610100900460ff1680611a175750611a17611628565b80611a25575060005460ff16155b611a605760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611a8b576000805460ff1961ff0019909116610100171660011790555b611a93611b43565b6116ce611be3565b6060611aaa8484600085611c8e565b949350505050565b600054610100900460ff1680611acb5750611acb611628565b80611ad9575060005460ff16155b611b145760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611b3f576000805460ff1961ff0019909116610100171660011790555b6116ce5b600054610100900460ff1680611b5c5750611b5c611628565b80611b6a575060005460ff16155b611ba55760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116ce576000805460ff1961ff00199091166101001716600117905580156116e0576000805461ff001916905550565b600054610100900460ff1680611bfc5750611bfc611628565b80611c0a575060005460ff16155b611c455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611c70576000805460ff1961ff0019909116610100171660011790555b6099805460ff1916905580156116e0576000805461ff001916905550565b606082471015611ccf5760405162461bcd60e51b8152600401808060200182810382526026815260200180611ee66026913960400191505060405180910390fd5b611cd88561159f565b611d29576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d675780518252601f199092019160209182019101611d48565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611dc9576040519150601f19603f3d011682016040523d82523d6000602084013e611dce565b606091505b5091509150611dde828286611de9565b979650505050505050565b60608315611df8575081611395565b825115611e085782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e52578181015183820152602001611e3a565b50505050905090810190601f168015611e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f770000000060408201526060019056fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e053616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220b886bb62e5bbb70c98d6a5557a81c2442975902b9dc51bee9d4fafe5aedd030964736f6c63430007060033",
"linkReferences": {},
"deployedLinkReferences": {}
}