@perp/hottub-deployments
Version:
Perpetual Protocol Hot Tub contract artifacts (ABIs) and deployed addresses
577 lines (576 loc) • 42.4 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "VaultToken",
"sourceName": "contracts/VaultToken.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"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": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldMinter",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newMinter",
"type": "address"
}
],
"name": "UpdateMinter",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldTotalSupplyCap",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newTotalSupplyCap",
"type": "uint256"
}
],
"name": "UpdateTotalSupplyCap",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint24",
"name": "oldTransferCooldown",
"type": "uint24"
},
{
"indexed": false,
"internalType": "uint24",
"name": "newTransferCooldown",
"type": "uint24"
}
],
"name": "UpdateTransferCooldown",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "candidate",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "getLastMintedAt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getMinter",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTotalSupplyCap",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTransferCooldown",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "nameArg",
"type": "string"
},
{
"internalType": "string",
"name": "symbolArg",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimalsArg",
"type": "uint8"
},
{
"internalType": "uint24",
"name": "transferCoolDownArg",
"type": "uint24"
},
{
"internalType": "uint256",
"name": "totalSupplyCapArg",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"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": "address",
"name": "minterArg",
"type": "address"
}
],
"name": "setMinter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "setOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "totalSupplyCapArg",
"type": "uint256"
}
],
"name": "setTotalSupplyCap",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint24",
"name": "transferCooldownArg",
"type": "uint24"
}
],
"name": "setTransferCooldown",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50611dac806100206000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063715018a6116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e146105f1578063e88fa1891461061f578063f366751714610627578063fca3b5aa1461062f5761018e565b8063a457c2d714610591578063a9059cbb146105bd578063bc5920ba146105e95761018e565b8063715018a6146103ed5780637711ec87146103f55780638da5cb5b1461053557806395d89b411461053d57806398fb0bb0146105455780639dc29fac146105655761018e565b806324a107041161014b5780633950935111610125578063395093511461034b57806340c10f19146103775780636c8381f8146103a357806370a08231146103c75761018e565b806324a10704146102ea578063313ce5671461031057806331d05b111461032e5761018e565b806306fdde0314610193578063095ea7b31461021057806313af40351461025057806313f290631461027857806318160ddd1461029a57806323b872dd146102b4575b600080fd5b61019b610655565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356106eb565b604080519115158252519081900360200190f35b6102766004803603602081101561026657600080fd5b50356001600160a01b0316610708565b005b6102766004803603602081101561028e57600080fd5b503562ffffff16610863565b6102a261096d565b60408051918252519081900360200190f35b61023c600480360360608110156102ca57600080fd5b506001600160a01b03813581169160208101359091169060400135610973565b6102a26004803603602081101561030057600080fd5b50356001600160a01b03166109fa565b610318610a15565b6040805160ff9092168252519081900360200190f35b6102766004803603602081101561034457600080fd5b5035610a1e565b61023c6004803603604081101561036157600080fd5b506001600160a01b038135169060200135610b01565b6102766004803603604081101561038d57600080fd5b506001600160a01b038135169060200135610b4f565b6103ab610bcd565b604080516001600160a01b039092168252519081900360200190f35b6102a2600480360360208110156103dd57600080fd5b50356001600160a01b0316610bdc565b610276610bf7565b610276600480360360a081101561040b57600080fd5b81019060208101813564010000000081111561042657600080fd5b82018360208201111561043857600080fd5b8035906020019184600183028401116401000000008311171561045a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104ad57600080fd5b8201836020820111156104bf57600080fd5b803590602001918460018302840111640100000000831117156104e157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013562ffffff169060400135610caa565b6103ab610d8d565b61019b610d9c565b61054d610dfd565b6040805162ffffff9092168252519081900360200190f35b6102766004803603604081101561057b57600080fd5b506001600160a01b038135169060200135610e0f565b61023c600480360360408110156105a757600080fd5b506001600160a01b038135169060200135610e74565b61023c600480360360408110156105d357600080fd5b506001600160a01b038135169060200135610edc565b610276610ef0565b6102a26004803603604081101561060757600080fd5b506001600160a01b0381358116916020013516610fee565b6102a2611019565b6103ab61101f565b6102766004803603602081101561064557600080fd5b50356001600160a01b031661102e565b606a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106e15780601f106106b6576101008083540402835291602001916106e1565b820191906000526020600020905b8154815290600101906020018083116106c457829003601f168201915b5050505050905090565b60006106ff6106f86110ee565b84846110f2565b50600192915050565b6107106110ee565b6001600160a01b0316610721610d8d565b6001600160a01b031614610765576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166107a9576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b03828116911614156107f5576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610841576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b61086b6110ee565b6001600160a01b031661087c610d8d565b6001600160a01b0316146108c0576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b8062ffffff1660008111610903576040805162461bcd60e51b815260206004820152600560248201526456545f5a5560d81b604482015290519081900360640190fd5b6099805462ffffff848116600160a01b81810262ffffff60a01b198516179094556040805194909304919091168084526020840191909152815190927f668fb6c423c664e78f32dfefdc9c1f0bc8e4ab7f6ebd38a9fc332fd4bd6a9bb192908290030190a1505050565b60695490565b60006109808484846111de565b6109f08461098c6110ee565b6109eb85604051806060016040528060288152602001611cc0602891396001600160a01b038a166000908152606860205260408120906109ca6110ee565b6001600160a01b03168152602081019190915260400160002054919061133b565b6110f2565b5060019392505050565b6001600160a01b03166000908152609b602052604090205490565b606c5460ff1690565b610a266110ee565b6001600160a01b0316610a37610d8d565b6001600160a01b031614610a7b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b8060008111610ab9576040805162461bcd60e51b815260206004820152600560248201526456545f5a5560d81b604482015290519081900360640190fd5b609a805490839055604080518281526020810185905281517febbcbe45f84825d61ac8d640e637527510094c41054f1e7133b743655401a5eb929181900390910190a1505050565b60006106ff610b0e6110ee565b846109eb8560686000610b1f6110ee565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906113d2565b6099546001600160a01b0316610b636110ee565b6001600160a01b031614610ba6576040805162461bcd60e51b815260206004820152600560248201526456545f4f4d60d81b604482015290519081900360640190fd5b610bb08282611433565b506001600160a01b03166000908152609b60205260409020429055565b6034546001600160a01b031690565b6001600160a01b031660009081526067602052604090205490565b610bff6110ee565b6001600160a01b0316610c10610d8d565b6001600160a01b031614610c54576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b600054610100900460ff1680610cc35750610cc3611525565b80610cd1575060005460ff16155b610d0c5760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff16158015610d37576000805460ff1961ff0019909116610100171660011790555b610d3f611536565b610d498686611638565b610d52846116ee565b6099805462ffffff60a01b1916600160a01b62ffffff861602179055609a8290558015610d85576000805461ff00191690555b505050505050565b6033546001600160a01b031690565b606b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106e15780601f106106b6576101008083540402835291602001916106e1565b609954600160a01b900462ffffff1690565b6099546001600160a01b0316610e236110ee565b6001600160a01b031614610e66576040805162461bcd60e51b815260206004820152600560248201526456545f4f4d60d81b604482015290519081900360640190fd5b610e708282611704565b5050565b60006106ff610e816110ee565b846109eb85604051806060016040528060258152602001611d526025913960686000610eab6110ee565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061133b565b60006106ff610ee96110ee565b84846111de565b6034546001600160a01b0316610f35576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610f3d6110ee565b6034546001600160a01b03908116911614610f88576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b03918216600090815260686020908152604080832093909416825291909152205490565b609a5490565b6099546001600160a01b031690565b6110366110ee565b6001600160a01b0316611047610d8d565b6001600160a01b03161461108b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b609980546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517ffb80f39493422136408edd986f7ca83c10534204422dd1dfebb055de4ef0fd53929181900390910190a15050565b3390565b6001600160a01b0383166111375760405162461bcd60e51b8152600401808060200182810382526024815260200180611d2e6024913960400191505060405180910390fd5b6001600160a01b03821661117c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260686020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112235760405162461bcd60e51b8152600401808060200182810382526025815260200180611d096025913960400191505060405180910390fd5b6001600160a01b0382166112685760405162461bcd60e51b8152600401808060200182810382526023815260200180611c056023913960400191505060405180910390fd5b611273838383611800565b6112b081604051806060016040528060268152602001611c6c602691396001600160a01b038616600090815260676020526040902054919061133b565b6001600160a01b0380851660009081526067602052604080822093909355908416815220546112df90826113d2565b6001600160a01b0380841660008181526067602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156113ca5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561138f578181015183820152602001611377565b50505050905090810190601f1680156113bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561142c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661148e576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61149a60008383611800565b6069546114a790826113d2565b6069556001600160a01b0382166000908152606760205260409020546114cd90826113d2565b6001600160a01b03831660008181526067602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000611530306118df565b15905090565b600054610100900460ff168061154f575061154f611525565b8061155d575060005460ff16155b6115985760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff161580156115c3576000805460ff1961ff0019909116610100171660011790555b6115cb6118e5565b60006115d56110ee565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611635576000805461ff00191690555b50565b600054610100900460ff16806116515750611651611525565b8061165f575060005460ff16155b61169a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff161580156116c5576000805460ff1961ff0019909116610100171660011790555b6116cd61198e565b6116d78383611a2e565b80156116e9576000805461ff00191690555b505050565b606c805460ff191660ff92909216919091179055565b6001600160a01b0382166117495760405162461bcd60e51b8152600401808060200182810382526021815260200180611ce86021913960400191505060405180910390fd5b61175582600083611800565b61179281604051806060016040528060228152602001611c28602291396001600160a01b038516600090815260676020526040902054919061133b565b6001600160a01b0383166000908152606760205260409020556069546117b89082611b06565b6069556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b61180b8383836116e9565b6001600160a01b03831661187057609a5461182e8261182861096d565b906113d2565b111561186b576040805162461bcd60e51b815260206004820152600760248201526656545f5453434560c81b604482015290519081900360640190fd5b6116e9565b6099546001600160a01b0384166000908152609b602052604090205442916118a49190600160a01b900462ffffff166113d2565b11156116e9576040805162461bcd60e51b8152602060048201526005602482015264159517d0d160da1b604482015290519081900360640190fd5b3b151590565b600054610100900460ff16806118fe57506118fe611525565b8061190c575060005460ff16155b6119475760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff16158015611972576000805460ff1961ff0019909116610100171660011790555b61197a61198e565b8015611635576000805461ff001916905550565b600054610100900460ff16806119a757506119a7611525565b806119b5575060005460ff16155b6119f05760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff1615801561197a576000805460ff1961ff0019909116610100171660011790558015611635576000805461ff001916905550565b600054610100900460ff1680611a475750611a47611525565b80611a55575060005460ff16155b611a905760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff16158015611abb576000805460ff1961ff0019909116610100171660011790555b8251611ace90606a906020860190611b63565b508151611ae290606b906020850190611b63565b50606c805460ff1916601217905580156116e9576000805461ff0019169055505050565b600082821115611b5d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611b995760008555611bdf565b82601f10611bb257805160ff1916838001178555611bdf565b82800160010185558215611bdf579182015b82811115611bdf578251825591602001919060010190611bc4565b50611beb929150611bef565b5090565b5b80821115611beb5760008155600101611bf056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b9cb985ab1607d6b8c2ab480423cc3bc1c38d776f00dacfdd0cbc297871a3dfc64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063715018a6116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e146105f1578063e88fa1891461061f578063f366751714610627578063fca3b5aa1461062f5761018e565b8063a457c2d714610591578063a9059cbb146105bd578063bc5920ba146105e95761018e565b8063715018a6146103ed5780637711ec87146103f55780638da5cb5b1461053557806395d89b411461053d57806398fb0bb0146105455780639dc29fac146105655761018e565b806324a107041161014b5780633950935111610125578063395093511461034b57806340c10f19146103775780636c8381f8146103a357806370a08231146103c75761018e565b806324a10704146102ea578063313ce5671461031057806331d05b111461032e5761018e565b806306fdde0314610193578063095ea7b31461021057806313af40351461025057806313f290631461027857806318160ddd1461029a57806323b872dd146102b4575b600080fd5b61019b610655565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356106eb565b604080519115158252519081900360200190f35b6102766004803603602081101561026657600080fd5b50356001600160a01b0316610708565b005b6102766004803603602081101561028e57600080fd5b503562ffffff16610863565b6102a261096d565b60408051918252519081900360200190f35b61023c600480360360608110156102ca57600080fd5b506001600160a01b03813581169160208101359091169060400135610973565b6102a26004803603602081101561030057600080fd5b50356001600160a01b03166109fa565b610318610a15565b6040805160ff9092168252519081900360200190f35b6102766004803603602081101561034457600080fd5b5035610a1e565b61023c6004803603604081101561036157600080fd5b506001600160a01b038135169060200135610b01565b6102766004803603604081101561038d57600080fd5b506001600160a01b038135169060200135610b4f565b6103ab610bcd565b604080516001600160a01b039092168252519081900360200190f35b6102a2600480360360208110156103dd57600080fd5b50356001600160a01b0316610bdc565b610276610bf7565b610276600480360360a081101561040b57600080fd5b81019060208101813564010000000081111561042657600080fd5b82018360208201111561043857600080fd5b8035906020019184600183028401116401000000008311171561045a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104ad57600080fd5b8201836020820111156104bf57600080fd5b803590602001918460018302840111640100000000831117156104e157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013562ffffff169060400135610caa565b6103ab610d8d565b61019b610d9c565b61054d610dfd565b6040805162ffffff9092168252519081900360200190f35b6102766004803603604081101561057b57600080fd5b506001600160a01b038135169060200135610e0f565b61023c600480360360408110156105a757600080fd5b506001600160a01b038135169060200135610e74565b61023c600480360360408110156105d357600080fd5b506001600160a01b038135169060200135610edc565b610276610ef0565b6102a26004803603604081101561060757600080fd5b506001600160a01b0381358116916020013516610fee565b6102a2611019565b6103ab61101f565b6102766004803603602081101561064557600080fd5b50356001600160a01b031661102e565b606a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106e15780601f106106b6576101008083540402835291602001916106e1565b820191906000526020600020905b8154815290600101906020018083116106c457829003601f168201915b5050505050905090565b60006106ff6106f86110ee565b84846110f2565b50600192915050565b6107106110ee565b6001600160a01b0316610721610d8d565b6001600160a01b031614610765576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166107a9576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b03828116911614156107f5576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610841576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b61086b6110ee565b6001600160a01b031661087c610d8d565b6001600160a01b0316146108c0576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b8062ffffff1660008111610903576040805162461bcd60e51b815260206004820152600560248201526456545f5a5560d81b604482015290519081900360640190fd5b6099805462ffffff848116600160a01b81810262ffffff60a01b198516179094556040805194909304919091168084526020840191909152815190927f668fb6c423c664e78f32dfefdc9c1f0bc8e4ab7f6ebd38a9fc332fd4bd6a9bb192908290030190a1505050565b60695490565b60006109808484846111de565b6109f08461098c6110ee565b6109eb85604051806060016040528060288152602001611cc0602891396001600160a01b038a166000908152606860205260408120906109ca6110ee565b6001600160a01b03168152602081019190915260400160002054919061133b565b6110f2565b5060019392505050565b6001600160a01b03166000908152609b602052604090205490565b606c5460ff1690565b610a266110ee565b6001600160a01b0316610a37610d8d565b6001600160a01b031614610a7b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b8060008111610ab9576040805162461bcd60e51b815260206004820152600560248201526456545f5a5560d81b604482015290519081900360640190fd5b609a805490839055604080518281526020810185905281517febbcbe45f84825d61ac8d640e637527510094c41054f1e7133b743655401a5eb929181900390910190a1505050565b60006106ff610b0e6110ee565b846109eb8560686000610b1f6110ee565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906113d2565b6099546001600160a01b0316610b636110ee565b6001600160a01b031614610ba6576040805162461bcd60e51b815260206004820152600560248201526456545f4f4d60d81b604482015290519081900360640190fd5b610bb08282611433565b506001600160a01b03166000908152609b60205260409020429055565b6034546001600160a01b031690565b6001600160a01b031660009081526067602052604090205490565b610bff6110ee565b6001600160a01b0316610c10610d8d565b6001600160a01b031614610c54576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b600054610100900460ff1680610cc35750610cc3611525565b80610cd1575060005460ff16155b610d0c5760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff16158015610d37576000805460ff1961ff0019909116610100171660011790555b610d3f611536565b610d498686611638565b610d52846116ee565b6099805462ffffff60a01b1916600160a01b62ffffff861602179055609a8290558015610d85576000805461ff00191690555b505050505050565b6033546001600160a01b031690565b606b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106e15780601f106106b6576101008083540402835291602001916106e1565b609954600160a01b900462ffffff1690565b6099546001600160a01b0316610e236110ee565b6001600160a01b031614610e66576040805162461bcd60e51b815260206004820152600560248201526456545f4f4d60d81b604482015290519081900360640190fd5b610e708282611704565b5050565b60006106ff610e816110ee565b846109eb85604051806060016040528060258152602001611d526025913960686000610eab6110ee565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061133b565b60006106ff610ee96110ee565b84846111de565b6034546001600160a01b0316610f35576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610f3d6110ee565b6034546001600160a01b03908116911614610f88576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b03918216600090815260686020908152604080832093909416825291909152205490565b609a5490565b6099546001600160a01b031690565b6110366110ee565b6001600160a01b0316611047610d8d565b6001600160a01b03161461108b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b609980546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517ffb80f39493422136408edd986f7ca83c10534204422dd1dfebb055de4ef0fd53929181900390910190a15050565b3390565b6001600160a01b0383166111375760405162461bcd60e51b8152600401808060200182810382526024815260200180611d2e6024913960400191505060405180910390fd5b6001600160a01b03821661117c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260686020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112235760405162461bcd60e51b8152600401808060200182810382526025815260200180611d096025913960400191505060405180910390fd5b6001600160a01b0382166112685760405162461bcd60e51b8152600401808060200182810382526023815260200180611c056023913960400191505060405180910390fd5b611273838383611800565b6112b081604051806060016040528060268152602001611c6c602691396001600160a01b038616600090815260676020526040902054919061133b565b6001600160a01b0380851660009081526067602052604080822093909355908416815220546112df90826113d2565b6001600160a01b0380841660008181526067602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156113ca5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561138f578181015183820152602001611377565b50505050905090810190601f1680156113bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561142c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661148e576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61149a60008383611800565b6069546114a790826113d2565b6069556001600160a01b0382166000908152606760205260409020546114cd90826113d2565b6001600160a01b03831660008181526067602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000611530306118df565b15905090565b600054610100900460ff168061154f575061154f611525565b8061155d575060005460ff16155b6115985760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff161580156115c3576000805460ff1961ff0019909116610100171660011790555b6115cb6118e5565b60006115d56110ee565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611635576000805461ff00191690555b50565b600054610100900460ff16806116515750611651611525565b8061165f575060005460ff16155b61169a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff161580156116c5576000805460ff1961ff0019909116610100171660011790555b6116cd61198e565b6116d78383611a2e565b80156116e9576000805461ff00191690555b505050565b606c805460ff191660ff92909216919091179055565b6001600160a01b0382166117495760405162461bcd60e51b8152600401808060200182810382526021815260200180611ce86021913960400191505060405180910390fd5b61175582600083611800565b61179281604051806060016040528060228152602001611c28602291396001600160a01b038516600090815260676020526040902054919061133b565b6001600160a01b0383166000908152606760205260409020556069546117b89082611b06565b6069556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b61180b8383836116e9565b6001600160a01b03831661187057609a5461182e8261182861096d565b906113d2565b111561186b576040805162461bcd60e51b815260206004820152600760248201526656545f5453434560c81b604482015290519081900360640190fd5b6116e9565b6099546001600160a01b0384166000908152609b602052604090205442916118a49190600160a01b900462ffffff166113d2565b11156116e9576040805162461bcd60e51b8152602060048201526005602482015264159517d0d160da1b604482015290519081900360640190fd5b3b151590565b600054610100900460ff16806118fe57506118fe611525565b8061190c575060005460ff16155b6119475760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff16158015611972576000805460ff1961ff0019909116610100171660011790555b61197a61198e565b8015611635576000805461ff001916905550565b600054610100900460ff16806119a757506119a7611525565b806119b5575060005460ff16155b6119f05760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff1615801561197a576000805460ff1961ff0019909116610100171660011790558015611635576000805461ff001916905550565b600054610100900460ff1680611a475750611a47611525565b80611a55575060005460ff16155b611a905760405162461bcd60e51b815260040180806020018281038252602e815260200180611c92602e913960400191505060405180910390fd5b600054610100900460ff16158015611abb576000805460ff1961ff0019909116610100171660011790555b8251611ace90606a906020860190611b63565b508151611ae290606b906020850190611b63565b50606c805460ff1916601217905580156116e9576000805461ff0019169055505050565b600082821115611b5d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611b995760008555611bdf565b82601f10611bb257805160ff1916838001178555611bdf565b82800160010185558215611bdf579182015b82811115611bdf578251825591602001919060010190611bc4565b50611beb929150611bef565b5090565b5b80821115611beb5760008155600101611bf056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b9cb985ab1607d6b8c2ab480423cc3bc1c38d776f00dacfdd0cbc297871a3dfc64736f6c63430007060033",
"linkReferences": {},
"deployedLinkReferences": {}
}