3.8k txs
3.5k calls
constructor
constructor(address owner_)
functions
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
RATE_DENOMINATOR
viewfunction RATE_DENOMINATOR() view returns (uint256)
RATE_NUMERATOR
viewfunction RATE_NUMERATOR() view returns (uint256)
STG
viewfunction STG() view returns (address)
stgToZro
purefunction stgToZro(uint256 _stgAmount) pure returns (uint256 zroAmount)
TERMS_OF_SERVICE_HASH
viewfunction TERMS_OF_SERVICE_HASH() view returns (bytes32)
TERMS_OF_SERVICE
viewfunction TERMS_OF_SERVICE() view returns (string)
ZRO
viewfunction ZRO() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address _token, uint256 _amount, address _to)
renounceOwnership
nonpayablefunction renounceOwnership()
swap
nonpayablefunction swap(uint256 _stgAmount, bytes _signature)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
EmergencyWithdrawn
event EmergencyWithdrawn(address indexed token, address indexed to, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Swapped
event Swapped(address indexed from, uint256 stgAmount, uint256 zroAmount)
errors
InsufficientStg
error InsufficientStg(uint256 provided)
InvalidTosSignature
error InvalidTosSignature()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x61020060405261012860a08181526200001f91620012a860c03962000093565b6080523480156200002e575f80fd5b50604051620013d0380380620013d08339810160408190526200005191620002c3565b806001600160a01b0381166200008057604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6200008b81620000d7565b50506200037b565b5f620000a68251620000f560201b60201c565b82604051602001620000ba92919062000321565b604051602081830303815290604052805190602001209050919050565b600180546001600160a01b0319169055620000f2816200018b565b50565b60605f6200010383620001da565b60010190505f816001600160401b0381111562000124576200012462000367565b6040519080825280601f01601f1916602001820160405280156200014f576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846200015957509392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831062000223577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831062000250576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106200026f57662386f26fc10000830492506010015b6305f5e100831062000288576305f5e100830492506008015b61271083106200029d57612710830492506004015b60648310620002b0576064830492506002015b600a8310620002bd576001015b92915050565b5f60208284031215620002d4575f80fd5b81516001600160a01b0381168114620002eb575f80fd5b9392505050565b5f81515f5b81811015620003135760208185018101518683015201620002f7565b505f93019283525090919050565b7f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f6200035f62000358601a840186620002f2565b84620002f2565b949350505050565b634e487b7160e01b5f52604160045260245ffd5b608051610f0d6200039b5f395f81816101c601526103a90152610f0d5ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c80637efad8e011610088578063a88cc6cb11610063578063a88cc6cb146101e8578063bd0625ab146101fb578063e30c39781461020e578063f2fde38b1461022c575f80fd5b80637efad8e01461019a5780638da5cb5b146101a4578063a694a802146101c1575f80fd5b8063715018a6116100c3578063715018a61461015e57806377f079021461016657806379ba50971461017b5780637d0273d014610183575f80fd5b80634c16e973146100e95780634feace721461012e578063551512de14610149575b5f80fd5b61010473af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610104736985884c4392d348587b19cb9eaaf157f13271cd81565b61015c610157366004610b61565b61023f565b005b61015c6102d4565b61016e6102e7565b6040516101259190610c05565b61015c610306565b61018c6121ba81565b604051908152602001610125565b61018c620186a081565b5f5473ffffffffffffffffffffffffffffffffffffffff16610104565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b61018c6101f6366004610c17565b610382565b61015c610209366004610c2e565b6103a3565b60015473ffffffffffffffffffffffffffffffffffffffff16610104565b61015c61023a366004610ca3565b610503565b6102476105b2565b61026873ffffffffffffffffffffffffffffffffffffffff84168284610604565b8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f457e4fe0c9f161a0c6f3bfb8d7809a4ac19f6291bd81b03b86b0d00f9af3717b846040516102c791815260200190565b60405180910390a3505050565b6102dc6105b2565b6102e55f61068a565b565b6040518061016001604052806101288152602001610db0610128913981565b600154339073ffffffffffffffffffffffffffffffffffffffff168114610376576040517f118cdaa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b61037f8161068a565b50565b5f620186a06103936121ba84610cbc565b61039d9190610cf8565b92915050565b610403337f000000000000000000000000000000000000000000000000000000000000000084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506106bb92505050565b610439576040517fe37a0ce400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61044384610382565b9050805f03610481576040517f7a9b47110000000000000000000000000000000000000000000000000000000081526004810185905260240161036d565b6104a373af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd63361dead87610755565b6104c2736985884c4392d348587b19cb9eaaf157f13271cd3383610604565b604080518581526020810183905233917f3a9a9f34f5831e9c8ecb66ab3aa308b2ff31eaca434615f6c9cadc656a9af71c910160405180910390a250505050565b61050b6105b2565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561056d5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146102e5576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161036d565b60405173ffffffffffffffffffffffffffffffffffffffff83811660248301526044820183905261068591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506107a1565b505050565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561037f81610840565b5f8373ffffffffffffffffffffffffffffffffffffffff163b5f03610740575f806106e685856108b4565b5090925090505f8160038111156106ff576106ff610d30565b14801561073757508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9250505061074e565b61074b8484846108fd565b90505b9392505050565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301526064820183905261079b9186918216906323b872dd9060840161063e565b50505050565b5f8060205f8451602086015f885af1806107c0576040513d5f823e3d81fd5b50505f513d915081156107d75780600114156107f1565b73ffffffffffffffffffffffffffffffffffffffff84163b155b1561079b576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161036d565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f805f83516041036108eb576020840151604085015160608601515f1a6108dd88828585610a46565b9550955095505050506108f6565b505081515f91506002905b9250925092565b5f805f8573ffffffffffffffffffffffffffffffffffffffff16858560405160240161092a929190610d5d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1626ba7e00000000000000000000000000000000000000000000000000000000179052516109ab9190610d7d565b5f60405180830381855afa9150503d805f81146109e3576040519150601f19603f3d011682016040523d82523d5f602084013e6109e8565b606091505b50915091508180156109fc57506020815110155b8015610a3c575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090610a3a9083016020908101908401610d98565b145b9695505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610a7f57505f91506003905082610b2f565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610ad0573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610b2657505f925060019150829050610b2f565b92505f91508190505b9450945094915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b5c575f80fd5b919050565b5f805f60608486031215610b73575f80fd5b610b7c84610b39565b925060208401359150610b9160408501610b39565b90509250925092565b5f5b83811015610bb4578181015183820152602001610b9c565b50505f910152565b5f8151808452610bd3816020860160208601610b9a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f61074e6020830184610bbc565b5f60208284031215610c27575f80fd5b5035919050565b5f805f60408486031215610c40575f80fd5b83359250602084013567ffffffffffffffff80821115610c5e575f80fd5b818601915086601f830112610c71575f80fd5b813581811115610c7f575f80fd5b876020828501011115610c90575f80fd5b6020830194508093505050509250925092565b5f60208284031215610cb3575f80fd5b61074e82610b39565b808202811582820484141761039d577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f82610d2b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b828152604060208201525f610d756040830184610bbc565b949350505050565b5f8251610d8e818460208701610b9a565b9190910192915050565b5f60208284031215610da8575f80fd5b505191905056fe4279207369676e696e672074686973207472616e73616374696f6e2c20796f7520636f6e6669726d20746861743a0a0a2d20596f752068617665207265616420616e6420616772656520746f207468652053544720526564656d7074696f6e205465726d73206f6620436f6e76657273696f6e20616e6420557365202868747470733a2f2f73746172676174652e66696e616e63652f726564656d7074696f6e7465726d73292e0a2d20596f7520756e6465727374616e64207468617420616c6c20726564656d7074696f6e73206172652066696e616c2c206e6f6e2d726566756e6461626c652c20616e6420697272657665727369626c652e0a2d20596f7520616772656520746f206265206c6567616c6c7920626f756e6420627920746865205465726d732ea26469706673582212203271d34c8c5ec8664a175419655e3f90059a39cd093f8ce6bf462af7c1bf711564736f6c634300081800334279207369676e696e672074686973207472616e73616374696f6e2c20796f7520636f6e6669726d20746861743a0a0a2d20596f752068617665207265616420616e6420616772656520746f207468652053544720526564656d7074696f6e205465726d73206f6620436f6e76657273696f6e20616e6420557365202868747470733a2f2f73746172676174652e66696e616e63652f726564656d7074696f6e7465726d73292e0a2d20596f7520756e6465727374616e64207468617420616c6c20726564656d7074696f6e73206172652066696e616c2c206e6f6e2d726566756e6461626c652c20616e6420697272657665727369626c652e0a2d20596f7520616772656520746f206265206c6567616c6c7920626f756e6420627920746865205465726d732e000000000000000000000000b80adf469d63de117ca7b02b05bc897bc2b1b701