gotake-contracts
Version:
TypeChain generated types and ABIs for GoTake contracts
337 lines (336 loc) • 26.7 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "TokenPurchase",
"sourceName": "contracts/TokenPurchase.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_initialOwner",
"type": "address"
},
{
"internalType": "address",
"name": "_initialPaymentReceiver",
"type": "address"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_paymentToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "_initialPrice",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "newMinAmount",
"type": "uint256"
}
],
"name": "MinPurchaseAmountUpdated",
"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": "uint256",
"name": "newPrice",
"type": "uint256"
}
],
"name": "PriceUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "totalCost",
"type": "uint256"
}
],
"name": "TokensPurchased",
"type": "event"
},
{
"inputs": [],
"name": "currentPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minPurchaseAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "paymentReceiver",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "paymentToken",
"outputs": [
{
"internalType": "contract IERC20Metadata",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "purchase",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_minAmount",
"type": "uint256"
}
],
"name": "setMinPurchaseAmount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_paymentReceiver",
"type": "address"
}
],
"name": "setPaymentReceiver",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_paymentToken",
"type": "address"
}
],
"name": "setPaymentToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_price",
"type": "uint256"
}
],
"name": "setPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
}
],
"name": "setToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "token",
"outputs": [
{
"internalType": "contract IERC20Metadata",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdrawTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060405161147f38038061147f83398101604081905261002f9161020e565b846001600160a01b03811661005f57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610068816101a2565b506001600160a01b0384166100e55760405162461bcd60e51b815260206004820152603660248201527f546f6b656e50757263686173653a205061796d656e742072656365697665722060448201527f63616e6e6f74206265207a65726f2061646472657373000000000000000000006064820152608401610056565b600480546001600160a01b0319166001600160a01b038681169190911790915583161561012857600180546001600160a01b0319166001600160a01b0385161790555b6001600160a01b0382161561015357600280546001600160a01b0319166001600160a01b0384161790555b80156101925760038190556040518181527f66cbca4f3c64fecf1dcb9ce094abcf7f68c3450a1d4e3a8e917dd621edb4ebe09060200160405180910390a15b505060006005555061026c915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461020957600080fd5b919050565b600080600080600060a0868803121561022657600080fd5b61022f866101f2565b945061023d602087016101f2565b935061024b604087016101f2565b9250610259606087016101f2565b9150608086015190509295509295909350565b6112048061027b6000396000f3fe6080604052600436106100f35760003560e01c806398d5fdca1161008a578063e9d3fb7811610059578063e9d3fb7814610275578063efef39a114610295578063f2fde38b146102a8578063fc0c546a146102c857600080fd5b806398d5fdca1461020a5780639d1b464a14610229578063b47dbf221461023f578063cb37f3b21461025557600080fd5b80636a326ab1116100c65780636a326ab114610197578063715018a6146101b75780638da5cb5b146101cc57806391b7f5ed146101ea57600080fd5b8063144fa6d7146100f85780633013ce291461011a578063315a095d1461015757806365ebf99a14610177575b600080fd5b34801561010457600080fd5b50610118610113366004610f23565b6102e8565b005b34801561012657600080fd5b5060025461013a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016357600080fd5b50610118610172366004610f53565b610381565b34801561018357600080fd5b50610118610192366004610f23565b610507565b3480156101a357600080fd5b506101186101b2366004610f23565b6105a6565b3480156101c357600080fd5b506101186105f0565b3480156101d857600080fd5b506000546001600160a01b031661013a565b3480156101f657600080fd5b50610118610205366004610f53565b610604565b34801561021657600080fd5b506003545b60405190815260200161014e565b34801561023557600080fd5b5061021b60035481565b34801561024b57600080fd5b5061021b60055481565b34801561026157600080fd5b5060045461013a906001600160a01b031681565b34801561028157600080fd5b50610118610290366004610f53565b6106af565b6101186102a3366004610f53565b6106ec565b3480156102b457600080fd5b506101186102c3366004610f23565b610e6b565b3480156102d457600080fd5b5060015461013a906001600160a01b031681565b6102f0610ea6565b6001600160a01b03811661035f5760405162461bcd60e51b815260206004820152602b60248201527f546f6b656e50757263686173653a20546f6b656e2063616e6e6f74206265207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610389610ea6565b6001546001600160a01b03166103e15760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e50757263686173653a20546f6b656e206e6f7420736574000000006044820152606401610356565b6001546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015610429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044d9190610f6c565b101561046b5760405162461bcd60e51b815260040161035690610f85565b6001546004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018490529091169063a9059cbb906044016020604051808303816000875af11580156104c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e89190610fce565b6105045760405162461bcd60e51b815260040161035690610ff0565b50565b61050f610ea6565b6001600160a01b0381166105845760405162461bcd60e51b815260206004820152603660248201527f546f6b656e50757263686173653a205061796d656e742072656365697665722060448201527563616e6e6f74206265207a65726f206164647265737360501b6064820152608401610356565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6105ae610ea6565b6001600160a01b038116156105dd57600280546001600160a01b0383166001600160a01b031990911617905550565b600280546001600160a01b031916905550565b6105f8610ea6565b6106026000610ed3565b565b61060c610ea6565b600081116106735760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e50757263686173653a205072696365206d7573742062652067726560448201526d61746572207468616e207a65726f60901b6064820152608401610356565b60038190556040518181527f66cbca4f3c64fecf1dcb9ce094abcf7f68c3450a1d4e3a8e917dd621edb4ebe0906020015b60405180910390a150565b6106b7610ea6565b60058190556040518181527f8daad05472f6141017dfcc093d307683226fb7016d5d33792c961bd20a8ad2de906020016106a4565b6001546001600160a01b03166107445760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e50757263686173653a20546f6b656e206e6f7420736574000000006044820152606401610356565b6000600354116107965760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e50757263686173653a205072696365206e6f7420736574000000006044820152606401610356565b600081116107fe5760405162461bcd60e51b815260206004820152602f60248201527f546f6b656e50757263686173653a20416d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b6064820152608401610356565b60055481101561086c5760405162461bcd60e51b815260206004820152603360248201527f546f6b656e50757263686173653a20416d6f756e742062656c6f77206d696e696044820152721b5d5b481c1d5c98da185cd948185b5bdd5b9d606a1b6064820152608401610356565b6001546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190611034565b6002549091506000906001600160a01b03161561096d57600260009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610944573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190611034565b610970565b60125b9050600083600354610982919061106d565b90506000610998670de0b6b3a76400008361108a565b905060008111610a035760405162461bcd60e51b815260206004820152603060248201527f546f6b656e50757263686173653a20436f73742063616c63756c6174696f6e2060448201526f726573756c74656420696e207a65726f60801b6064820152608401610356565b8260ff168460ff1614610a66578260ff168460ff161115610a4457610a2883856110ac565b610a3390600a6111ac565b610a3d908261108a565b9050610a66565b610a4e84846110ac565b610a5990600a6111ac565b610a63908261106d565b90505b60008111610ad55760405162461bcd60e51b815260206004820152603660248201527f546f6b656e50757263686173653a2046696e616c20636f73742063616c63756c6044820152756174696f6e20726573756c74656420696e207a65726f60501b6064820152608401610356565b6001546040516370a0823160e01b815230600482015286916001600160a01b0316906370a0823190602401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190610f6c565b1015610b5f5760405162461bcd60e51b815260040161035690610f85565b6002546001600160a01b0316610c4b5780341015610bcb5760405162461bcd60e51b815260206004820152602360248201527f546f6b656e50757263686173653a20496e73756666696369656e74207061796d604482015262195b9d60ea1b6064820152608401610356565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610c05573d6000803e3d6000fd5b5080341115610c4657336108fc610c1c83346111bb565b6040518115909202916000818181858888f19350505050158015610c44573d6000803e3d6000fd5b505b610d98565b3415610cb45760405162461bcd60e51b815260206004820152603260248201527f546f6b656e50757263686173653a20455448206e6f7420616363657074656420604482015271666f7220746f6b656e207061796d656e747360701b6064820152608401610356565b600254600480546040516323b872dd60e01b815233928101929092526001600160a01b03908116602483015260448201849052909116906323b872dd906064016020604051808303816000875af1158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190610fce565b610d985760405162461bcd60e51b815260206004820152602c60248201527f546f6b656e50757263686173653a205061796d656e7420746f6b656e2074726160448201526b1b9cd9995c8819985a5b195960a21b6064820152608401610356565b60015460405163a9059cbb60e01b8152336004820152602481018790526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190610fce565b610e295760405162461bcd60e51b815260040161035690610ff0565b604080518681526020810183905233917f8fafebcaf9d154343dad25669bfa277f4fbacd7ac6b0c4fed522580e040a0f33910160405180910390a25050505050565b610e73610ea6565b6001600160a01b038116610e9d57604051631e4fbdf760e01b815260006004820152602401610356565b61050481610ed3565b6000546001600160a01b031633146106025760405163118cdaa760e01b8152336004820152602401610356565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610f3557600080fd5b81356001600160a01b0381168114610f4c57600080fd5b9392505050565b600060208284031215610f6557600080fd5b5035919050565b600060208284031215610f7e57600080fd5b5051919050565b60208082526029908201527f546f6b656e50757263686173653a20496e73756666696369656e7420746f6b656040820152686e2062616c616e636560b81b606082015260800190565b600060208284031215610fe057600080fd5b81518015158114610f4c57600080fd5b60208082526024908201527f546f6b656e50757263686173653a20546f6b656e207472616e736665722066616040820152631a5b195960e21b606082015260800190565b60006020828403121561104657600080fd5b815160ff81168114610f4c57600080fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761108457611084611057565b92915050565b6000826110a757634e487b7160e01b600052601260045260246000fd5b500490565b60ff828116828216039081111561108457611084611057565b6001815b6001841115611100578085048111156110e4576110e4611057565b60018416156110f257908102905b60019390931c9280026110c9565b935093915050565b60008261111757506001611084565b8161112457506000611084565b816001811461113a576002811461114457611160565b6001915050611084565b60ff84111561115557611155611057565b50506001821b611084565b5060208310610133831016604e8410600b8410161715611183575081810a611084565b61119060001984846110c5565b80600019048211156111a4576111a4611057565b029392505050565b6000610f4c60ff841683611108565b818103818111156110845761108461105756fea2646970667358221220abe8ef6b15f31835ea297e84423450b0231b730c0f5897b47c41cc26a37b792a64736f6c634300081c0033",
"deployedBytecode": "0x6080604052600436106100f35760003560e01c806398d5fdca1161008a578063e9d3fb7811610059578063e9d3fb7814610275578063efef39a114610295578063f2fde38b146102a8578063fc0c546a146102c857600080fd5b806398d5fdca1461020a5780639d1b464a14610229578063b47dbf221461023f578063cb37f3b21461025557600080fd5b80636a326ab1116100c65780636a326ab114610197578063715018a6146101b75780638da5cb5b146101cc57806391b7f5ed146101ea57600080fd5b8063144fa6d7146100f85780633013ce291461011a578063315a095d1461015757806365ebf99a14610177575b600080fd5b34801561010457600080fd5b50610118610113366004610f23565b6102e8565b005b34801561012657600080fd5b5060025461013a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016357600080fd5b50610118610172366004610f53565b610381565b34801561018357600080fd5b50610118610192366004610f23565b610507565b3480156101a357600080fd5b506101186101b2366004610f23565b6105a6565b3480156101c357600080fd5b506101186105f0565b3480156101d857600080fd5b506000546001600160a01b031661013a565b3480156101f657600080fd5b50610118610205366004610f53565b610604565b34801561021657600080fd5b506003545b60405190815260200161014e565b34801561023557600080fd5b5061021b60035481565b34801561024b57600080fd5b5061021b60055481565b34801561026157600080fd5b5060045461013a906001600160a01b031681565b34801561028157600080fd5b50610118610290366004610f53565b6106af565b6101186102a3366004610f53565b6106ec565b3480156102b457600080fd5b506101186102c3366004610f23565b610e6b565b3480156102d457600080fd5b5060015461013a906001600160a01b031681565b6102f0610ea6565b6001600160a01b03811661035f5760405162461bcd60e51b815260206004820152602b60248201527f546f6b656e50757263686173653a20546f6b656e2063616e6e6f74206265207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610389610ea6565b6001546001600160a01b03166103e15760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e50757263686173653a20546f6b656e206e6f7420736574000000006044820152606401610356565b6001546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015610429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044d9190610f6c565b101561046b5760405162461bcd60e51b815260040161035690610f85565b6001546004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018490529091169063a9059cbb906044016020604051808303816000875af11580156104c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e89190610fce565b6105045760405162461bcd60e51b815260040161035690610ff0565b50565b61050f610ea6565b6001600160a01b0381166105845760405162461bcd60e51b815260206004820152603660248201527f546f6b656e50757263686173653a205061796d656e742072656365697665722060448201527563616e6e6f74206265207a65726f206164647265737360501b6064820152608401610356565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6105ae610ea6565b6001600160a01b038116156105dd57600280546001600160a01b0383166001600160a01b031990911617905550565b600280546001600160a01b031916905550565b6105f8610ea6565b6106026000610ed3565b565b61060c610ea6565b600081116106735760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e50757263686173653a205072696365206d7573742062652067726560448201526d61746572207468616e207a65726f60901b6064820152608401610356565b60038190556040518181527f66cbca4f3c64fecf1dcb9ce094abcf7f68c3450a1d4e3a8e917dd621edb4ebe0906020015b60405180910390a150565b6106b7610ea6565b60058190556040518181527f8daad05472f6141017dfcc093d307683226fb7016d5d33792c961bd20a8ad2de906020016106a4565b6001546001600160a01b03166107445760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e50757263686173653a20546f6b656e206e6f7420736574000000006044820152606401610356565b6000600354116107965760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e50757263686173653a205072696365206e6f7420736574000000006044820152606401610356565b600081116107fe5760405162461bcd60e51b815260206004820152602f60248201527f546f6b656e50757263686173653a20416d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b6064820152608401610356565b60055481101561086c5760405162461bcd60e51b815260206004820152603360248201527f546f6b656e50757263686173653a20416d6f756e742062656c6f77206d696e696044820152721b5d5b481c1d5c98da185cd948185b5bdd5b9d606a1b6064820152608401610356565b6001546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190611034565b6002549091506000906001600160a01b03161561096d57600260009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610944573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190611034565b610970565b60125b9050600083600354610982919061106d565b90506000610998670de0b6b3a76400008361108a565b905060008111610a035760405162461bcd60e51b815260206004820152603060248201527f546f6b656e50757263686173653a20436f73742063616c63756c6174696f6e2060448201526f726573756c74656420696e207a65726f60801b6064820152608401610356565b8260ff168460ff1614610a66578260ff168460ff161115610a4457610a2883856110ac565b610a3390600a6111ac565b610a3d908261108a565b9050610a66565b610a4e84846110ac565b610a5990600a6111ac565b610a63908261106d565b90505b60008111610ad55760405162461bcd60e51b815260206004820152603660248201527f546f6b656e50757263686173653a2046696e616c20636f73742063616c63756c6044820152756174696f6e20726573756c74656420696e207a65726f60501b6064820152608401610356565b6001546040516370a0823160e01b815230600482015286916001600160a01b0316906370a0823190602401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190610f6c565b1015610b5f5760405162461bcd60e51b815260040161035690610f85565b6002546001600160a01b0316610c4b5780341015610bcb5760405162461bcd60e51b815260206004820152602360248201527f546f6b656e50757263686173653a20496e73756666696369656e74207061796d604482015262195b9d60ea1b6064820152608401610356565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610c05573d6000803e3d6000fd5b5080341115610c4657336108fc610c1c83346111bb565b6040518115909202916000818181858888f19350505050158015610c44573d6000803e3d6000fd5b505b610d98565b3415610cb45760405162461bcd60e51b815260206004820152603260248201527f546f6b656e50757263686173653a20455448206e6f7420616363657074656420604482015271666f7220746f6b656e207061796d656e747360701b6064820152608401610356565b600254600480546040516323b872dd60e01b815233928101929092526001600160a01b03908116602483015260448201849052909116906323b872dd906064016020604051808303816000875af1158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190610fce565b610d985760405162461bcd60e51b815260206004820152602c60248201527f546f6b656e50757263686173653a205061796d656e7420746f6b656e2074726160448201526b1b9cd9995c8819985a5b195960a21b6064820152608401610356565b60015460405163a9059cbb60e01b8152336004820152602481018790526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190610fce565b610e295760405162461bcd60e51b815260040161035690610ff0565b604080518681526020810183905233917f8fafebcaf9d154343dad25669bfa277f4fbacd7ac6b0c4fed522580e040a0f33910160405180910390a25050505050565b610e73610ea6565b6001600160a01b038116610e9d57604051631e4fbdf760e01b815260006004820152602401610356565b61050481610ed3565b6000546001600160a01b031633146106025760405163118cdaa760e01b8152336004820152602401610356565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610f3557600080fd5b81356001600160a01b0381168114610f4c57600080fd5b9392505050565b600060208284031215610f6557600080fd5b5035919050565b600060208284031215610f7e57600080fd5b5051919050565b60208082526029908201527f546f6b656e50757263686173653a20496e73756666696369656e7420746f6b656040820152686e2062616c616e636560b81b606082015260800190565b600060208284031215610fe057600080fd5b81518015158114610f4c57600080fd5b60208082526024908201527f546f6b656e50757263686173653a20546f6b656e207472616e736665722066616040820152631a5b195960e21b606082015260800190565b60006020828403121561104657600080fd5b815160ff81168114610f4c57600080fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761108457611084611057565b92915050565b6000826110a757634e487b7160e01b600052601260045260246000fd5b500490565b60ff828116828216039081111561108457611084611057565b6001815b6001841115611100578085048111156110e4576110e4611057565b60018416156110f257908102905b60019390931c9280026110c9565b935093915050565b60008261111757506001611084565b8161112457506000611084565b816001811461113a576002811461114457611160565b6001915050611084565b60ff84111561115557611155611057565b50506001821b611084565b5060208310610133831016604e8410600b8410161715611183575081810a611084565b61119060001984846110c5565b80600019048211156111a4576111a4611057565b029392505050565b6000610f4c60ff841683611108565b818103818111156110845761108461105756fea2646970667358221220abe8ef6b15f31835ea297e84423450b0231b730c0f5897b47c41cc26a37b792a64736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}