0 txs
11 calls
constructor
No constructor.
functions
acceptedByA
viewfunction acceptedByA(address token) view returns (bool accepted)
acceptedByB
viewfunction acceptedByB(address token) view returns (bool accepted)
etNextUpgradeToAndCall
viewfunction etNextUpgradeToAndCall() view returns (uint64)
nextImplementation
viewfunction nextImplementation() view returns (address)
nextUpgradeToAndCallDataHash
viewfunction nextUpgradeToAndCallDataHash() view returns (bytes32)
owner
viewfunction owner() view returns (address)
poolAccountA
viewfunction poolAccountA() view returns (address)
poolAccountB
viewfunction poolAccountB() view returns (address)
prepriceDecimal
viewfunction prepriceDecimal() view returns (uint8)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
slippageDecimal
viewfunction slippageDecimal() view returns (uint8)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
initialize
nonpayablefunction initialize(address _owner, address _poolAccountA, address _poolAccountB, address[] _tokensAcceptedByA, address[] _tokensAcceptedByB)
renounceOwnership
nonpayablefunction renounceOwnership()
requestToMint
nonpayablefunction requestToMint(address transferredToken, address forToken, uint256 amount, uint256 preprice, uint256 slippage)
requestToRedeem
nonpayablefunction requestToRedeem(address transferredToken, address forToken, uint256 amount, uint256 preprice, uint256 slippage)
requestUpgradeToAndCall
nonpayablefunction requestUpgradeToAndCall(address _newImplementation, bytes _data)
rescue
nonpayablefunction rescue(address token, address receiver, uint256 amount)
setAcceptedByA
nonpayablefunction setAcceptedByA(address token, bool accepted)
setAcceptedByB
nonpayablefunction setAcceptedByB(address token, bool accepted)
setPoolAccountA
nonpayablefunction setPoolAccountA(address _poolAccountA)
setPoolAccountB
nonpayablefunction setPoolAccountB(address _poolAccountB)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address _newImplementation, bytes _data) payable
events
Initialized
event Initialized(uint64 version)
MintRequest
event MintRequest(address indexed transferredToken, address indexed forToken, address indexed requestor, address pool, uint256 amount, uint256 preprice, uint256 slippage)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RedeemRequest
event RedeemRequest(address indexed transferredToken, address indexed forToken, address indexed requestor, address pool, uint256 amount, uint256 preprice, uint256 slippage)
SetAcceptedByA
event SetAcceptedByA(address token, bool accepted)
SetAcceptedByB
event SetAcceptedByB(address token, bool accepted)
SetPoolAccountA
event SetPoolAccountA(address poolAccountA)
SetPoolAccountB
event SetPoolAccountB(address poolAccountB)
Upgraded
event Upgraded(address indexed implementation)
UpgradeToAndCallRequest
event UpgradeToAndCallRequest(address newImplementation, bytes data)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
InvalidUpgradeToAndCallData
error InvalidUpgradeToAndCallData()
InvalidUpgradeToAndCallImpl
error InvalidUpgradeToAndCallImpl()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TooEarlyToUpgradeToAndCall
error TooEarlyToUpgradeToAndCall()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a06040523060805234801561001457600080fd5b5060805161193d61003e60003960008181610d4701528181610d700152610e1d015261193d6000f3fe60806040526004361061018b5760003560e01c806369f9d7fc116100d6578063950e61c61161007f578063ad3cb1cc11610059578063ad3cb1cc14610475578063f2fde38b146104cb578063fe07c7ee146104eb57600080fd5b8063950e61c6146103db57806399d25c8f14610415578063a658551d1461045557600080fd5b8063790fcf9f116100b0578063790fcf9f146103575780637fe4b65f146103775780638da5cb5b1461039e57600080fd5b806369f9d7fc146102535780636c2d2f3214610322578063715018a61461034257600080fd5b806337b0dfd7116101385780634f1ef286116101125780634f1ef286146102da57806352d1902d146102ed57806356650a591461030257600080fd5b806337b0dfd71461027a5780633bed82991461029a5780634a506553146102ba57600080fd5b80631d996766116101695780631d9967661461021357806320ff430b14610233578063225ac2f21461025357600080fd5b8063081259111461019057806309ff18f0146101b257806311532e77146101ef575b600080fd5b34801561019c57600080fd5b506101b06101ab3660046114e9565b61051b565b005b3480156101be57600080fd5b506000546101d2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101fb57600080fd5b5061020560015481565b6040519081526020016101e6565b34801561021f57600080fd5b506101b061022e366004611536565b610619565b34801561023f57600080fd5b506101b061024e366004611551565b610676565b34801561025f57600080fd5b50610268600681565b60405160ff90911681526020016101e6565b34801561028657600080fd5b506101b06102953660046114e9565b610697565b3480156102a657600080fd5b506101b06102b536600461159b565b610777565b3480156102c657600080fd5b506101b06102d5366004611619565b6107e3565b6101b06102e8366004611619565b610871565b3480156102f957600080fd5b50610205610965565b34801561030e57600080fd5b506101b061031d36600461159b565b610994565b34801561032e57600080fd5b506101b061033d366004611536565b6109f8565b34801561034e57600080fd5b506101b0610a6f565b34801561036357600080fd5b506101b0610372366004611746565b610a83565b34801561038357600080fd5b506002546101d290600160401b90046001600160a01b031681565b3480156103aa57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b03166101d2565b3480156103e757600080fd5b506002546103fc9067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101e6565b34801561042157600080fd5b50610445610430366004611536565b60056020526000908152604090205460ff1681565b60405190151581526020016101e6565b34801561046157600080fd5b506003546101d2906001600160a01b031681565b34801561048157600080fd5b506104be6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101e6919061182c565b3480156104d757600080fd5b506101b06104e6366004611536565b610bbe565b3480156104f757600080fd5b50610445610506366004611536565b60046020526000908152604090205460ff1681565b6001600160a01b03851660009081526004602052604090205460ff166105885760405162461bcd60e51b815260206004820152601960248201527f494e56414c49445f544f4b454e5f464f525f4d494e54494e470000000000000060448201526064015b60405180910390fd5b6002546105ac906001600160a01b03878116913391600160401b9091041686610c15565b60025460408051600160401b9092046001600160a01b03908116835260208301869052908201849052606082018390523391868216918816907ec9e2cc407234e92452eb2ed66d21a046da7ef1ae6b0fc6be89fd25e4f1ad28906080015b60405180910390a45050505050565b610621610c97565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f9571cc54cfa80ead8e8e93dd428266203b9a87d40db79a6ec6748d815c135354906020015b60405180910390a150565b61067e610c97565b6106926001600160a01b0384168383610d0b565b505050565b6001600160a01b03851660009081526005602052604090205460ff166106ff5760405162461bcd60e51b815260206004820152601b60248201527f494e56414c49445f544f4b454e5f464f525f52454445454d494e470000000000604482015260640161057f565b60035461071b906001600160a01b038781169133911686610c15565b600354604080516001600160a01b0392831681526020810186905290810184905260608101839052339186811691908816907f53e6e6870c33449d075d7cd0d3865a02ab4cda802e8787d2da8160ba94e2c7fb9060800161060a565b61077f610c97565b6001600160a01b038216600081815260046020908152604091829020805460ff19168515159081179091558251938452908301527f4e01eaf60160a0ebf7bd5f0c5a210bc16d5028505bbe3f2f31db5fec0ba4d48491015b60405180910390a15050565b6107eb610c97565b600080546001600160a01b0319166001600160a01b0384161790558051602082012060015561a8c061081d904261183f565b6002805467ffffffffffffffff191667ffffffffffffffff929092169190911790556040517fcc54b42f78b332711d2d2b40bd7edb325a1fef0124753b0689728b7209ca1e2e906107d79084908490611875565b610879610d3c565b6000546001600160a01b038381169116146108c0576040517f9ab1811500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001548151602083012014610901576040517fefac8be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025467ffffffffffffffff168015806109245750428167ffffffffffffffff16115b1561095b576040517f260343ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106928383610df3565b600061096f610e12565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61099c610c97565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527ff1614ee46d8d6e4ff24d957aa18127a86394bb2a6d61927e9ccd5015f1103ad091016107d7565b610a00610c97565b600280547fffffffff0000000000000000000000000000000000000000ffffffffffffffff16600160401b6001600160a01b038416908102919091179091556040519081527f7a42ad327f7dc8771c3fe49beac52d4d1bf2934976245d9d763d40c660852ed39060200161066b565b610a77610c97565b610a816000610e5b565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610ac95750825b905060008267ffffffffffffffff166001148015610ae65750303b155b905081158015610af4575080155b15610b2b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610b5a57845468ff00000000000000001916600160401b1785555b610b678a8a8a8a8a610ecc565b8315610bb257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b610bc6610c97565b6001600160a01b038116610c09576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240161057f565b610c1281610e5b565b50565b6040516001600160a01b038481166024830152838116604483015260648201839052610c919186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610ffa565b50505050565b33610cc97f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610a81576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161057f565b6040516001600160a01b0383811660248301526044820183905261069291859182169063a9059cbb90606401610c4a565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610dd557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dc97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610a815760405163703e46dd60e11b815260040160405180910390fd5b610dfb610d3c565b610e0482611076565b610e0e828261107e565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a815760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610ed4611166565b610edd856111c8565b600280547fffffffff0000000000000000000000000000000000000000ffffffffffffffff16600160401b6001600160a01b038781169190910291909117909155600380546001600160a01b03191691851691909117905560005b8251811015610f9357600160046000858481518110610f5957610f5961189f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610f38565b5060005b8151811015610ff257600160056000848481518110610fb857610fb861189f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610f97565b505050505050565b600061100f6001600160a01b038416836111d0565b9050805160001415801561103457508080602001905181019061103291906118b5565b155b15610692576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161057f565b610c12610c97565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156110d8575060408051601f3d908101601f191682019092526110d5918101906118d2565b60015b61110057604051634c9c8ce360e01b81526001600160a01b038316600482015260240161057f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461115c576040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004810182905260240161057f565b61069283836111e5565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610a81576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bc6611166565b60606111de8383600061123b565b9392505050565b6111ee826112f1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611233576106928282611368565b610e0e6113de565b606081471015611279576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161057f565b600080856001600160a01b0316848660405161129591906118eb565b60006040518083038185875af1925050503d80600081146112d2576040519150601f19603f3d011682016040523d82523d6000602084013e6112d7565b606091505b50915091506112e7868383611416565b9695505050505050565b806001600160a01b03163b60000361132757604051634c9c8ce360e01b81526001600160a01b038216600482015260240161057f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161138591906118eb565b600060405180830381855af49150503d80600081146113c0576040519150601f19603f3d011682016040523d82523d6000602084013e6113c5565b606091505b50915091506113d5858383611416565b95945050505050565b3415610a81576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261142b576114268261148b565b6111de565b815115801561144257506001600160a01b0384163b155b15611484576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161057f565b50806111de565b80511561149b5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80356001600160a01b03811681146114e457600080fd5b919050565b600080600080600060a0868803121561150157600080fd5b61150a866114cd565b9450611518602087016114cd565b94979496505050506040830135926060810135926080909101359150565b60006020828403121561154857600080fd5b6111de826114cd565b60008060006060848603121561156657600080fd5b61156f846114cd565b925061157d602085016114cd565b9150604084013590509250925092565b8015158114610c1257600080fd5b600080604083850312156115ae57600080fd5b6115b7836114cd565b915060208301356115c78161158d565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611611576116116115d2565b604052919050565b6000806040838503121561162c57600080fd5b611635836114cd565b915060208084013567ffffffffffffffff8082111561165357600080fd5b818601915086601f83011261166757600080fd5b813581811115611679576116796115d2565b61168b601f8201601f191685016115e8565b915080825287848285010111156116a157600080fd5b80848401858401376000848284010152508093505050509250929050565b600082601f8301126116d057600080fd5b8135602067ffffffffffffffff8211156116ec576116ec6115d2565b8160051b6116fb8282016115e8565b928352848101820192828101908785111561171557600080fd5b83870192505b8483101561173b5761172c836114cd565b8252918301919083019061171b565b979650505050505050565b600080600080600060a0868803121561175e57600080fd5b611767866114cd565b9450611775602087016114cd565b9350611783604087016114cd565b9250606086013567ffffffffffffffff808211156117a057600080fd5b6117ac89838a016116bf565b935060808801359150808211156117c257600080fd5b506117cf888289016116bf565b9150509295509295909350565b60005b838110156117f75781810151838201526020016117df565b50506000910152565b600081518084526118188160208601602086016117dc565b601f01601f19169290920160200192915050565b6020815260006111de6020830184611800565b67ffffffffffffffff81811683821601908082111561186e57634e487b7160e01b600052601160045260246000fd5b5092915050565b6001600160a01b03831681526040602082015260006118976040830184611800565b949350505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118c757600080fd5b81516111de8161158d565b6000602082840312156118e457600080fd5b5051919050565b600082516118fd8184602087016117dc565b919091019291505056fea2646970667358221220056c3455f4698b9b51955e40208af9b2eb127887e2bcfd925eaf4fe422317e3764736f6c63430008180033