1 tx
12.4k calls
constructor
constructor(address _core, address _assetToken, address _receiptToken, address _accounting)
functions
accounting
viewfunction accounting() view returns (address)
afterMintHook
viewfunction afterMintHook() view returns (address)
assets
viewfunction assets() view returns (uint256)
assetToken
viewfunction assetToken() view returns (address)
assetToReceipt
viewfunction assetToReceipt(uint256 _assetAmount) view returns (uint256)
cap
viewfunction cap() view returns (uint256)
core
viewfunction core() view returns (address)
liquidity
viewfunction liquidity() view returns (uint256)
maxDeposit
viewfunction maxDeposit() view returns (uint256)
maxSlippage
viewfunction maxSlippage() view returns (uint256)
minAssetAmount
viewfunction minAssetAmount() view returns (uint256)
paused
viewfunction paused() view returns (bool)
receiptToken
viewfunction receiptToken() view returns (address)
deposit
nonpayablefunction deposit()
emergencyAction
payablefunction emergencyAction(tuple[] calls) payable returns (bytes[] returnData)
mint
nonpayablefunction mint(address _to, uint256 _assetAmountIn) returns (uint256)
pause
nonpayablefunction pause()
setAfterMintHook
nonpayablefunction setAfterMintHook(address _afterMintHook)
setCap
nonpayablefunction setCap(uint256 _newCap)
setCore
nonpayablefunction setCore(address newCore)
setMaxSlippage
nonpayablefunction setMaxSlippage(uint256 _maxSlippage)
setMinAssetAmount
nonpayablefunction setMinAssetAmount(uint256 _minAssetAmount)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 amount, address to)
events
AfterMintHookChanged
event AfterMintHookChanged(uint256 indexed timestamp, address hook)
AssetsUpdated
event AssetsUpdated(uint256 timestamp, uint256 assetsBefore, uint256 assetsAfter)
CapUpdated
event CapUpdated(uint256 newCap)
CoreUpdate
event CoreUpdate(address indexed oldCore, address indexed newCore)
MaxSlippageUpdated
event MaxSlippageUpdated(uint256 newMaxSlippage)
MinAssetAmountUpdated
event MinAssetAmountUpdated(uint256 indexed timestamp, uint256 amount)
Mint
event Mint(uint256 indexed timestamp, address indexed to, address asset, uint256 amountIn, uint256 amountOut)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
errors
AssetAmountTooLow
error AssetAmountTooLow(uint256 _amountIn, uint256 _minAssetAmount)
CapExceeded
error CapExceeded(uint256 newAmount, uint256 cap)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SlippageTooHigh
error SlippageTooHigh(uint256 minAssetsOut, uint256 assetsReceived)
UnderlyingCallReverted
error UnderlyingCallReverted(bytes returnData)
creation bytecode
0x60e06040526001600355348015610014575f5ffd5b50604051611c91380380611c9183398101604081905261003391610093565b5f8054610100600160a81b0319166101006001600160a01b03968716021790559183166080525f19600155670de0b5cad2bef000600255821660a0521660c0526100e4565b80516001600160a01b038116811461008e575f5ffd5b919050565b5f5f5f5f608085870312156100a6575f5ffd5b6100af85610078565b93506100bd60208601610078565b92506100cb60408601610078565b91506100d960608601610078565b905092959194509250565b60805160a05160c051611b4461014d5f395f81816103a001528181610d4f0152610dfc01525f81816104250152818161099f0152610dcf01525f81816101b8015281816106c40152818161093801528181610a8e01528181610d23015261155d0152611b445ff3fe608060405260043610610182575f3560e01c80636083e59a116100d15780639624e83e1161007c578063ea63da9411610057578063ea63da94146103f5578063ec78e83214610414578063f2f4eb2614610447575f5ffd5b80639624e83e1461038f578063d0e30db0146103c2578063ea10ff0f146103d6575f5ffd5b806380009630116100ac57806380009630146103475780638456cb59146103665780638c04166f1461037a575f5ffd5b80636083e59a1461031357806371a97305146102165780637df3927e14610327575f5ffd5b806340c10f19116101315780634907c3831161010c5780634907c383146102be578063578f0563146102dd5780635c975abb146102f2575f5ffd5b806340c10f191461026157806343f68a491461028057806347786d371461029f575f5ffd5b80631a686502116101615780631a68650214610216578063355274ea146102385780633f4ba83a1461024d575f5ffd5b8062f714ce146101865780631083f761146101a75780631422d280146101f7575b5f5ffd5b348015610191575f5ffd5b506101a56101a036600461187d565b610468565b005b3480156101b2575f5ffd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610202575f5ffd5b506101a56102113660046118a7565b610554565b348015610221575f5ffd5b5061022a610694565b6040519081526020016101ee565b348015610243575f5ffd5b5061022a60015481565b348015610258575f5ffd5b506101a561073a565b34801561026c575f5ffd5b5061022a61027b3660046118c0565b610815565b34801561028b575f5ffd5b506101a561029a3660046118e8565b610afa565b3480156102aa575f5ffd5b506101a56102b93660046118e8565b610c07565b3480156102c9575f5ffd5b5061022a6102d83660046118e8565b610d0c565b3480156102e8575f5ffd5b5061022a60035481565b3480156102fd575f5ffd5b505f5460ff1660405190151581526020016101ee565b34801561031e575f5ffd5b5061022a610e87565b61033a6103353660046118ff565b610eb7565b6040516101ee919061199e565b348015610352575f5ffd5b506101a56103613660046118a7565b611152565b348015610371575f5ffd5b506101a561122f565b348015610385575f5ffd5b5061022a60025481565b34801561039a575f5ffd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103cd575f5ffd5b506101a5611307565b3480156103e1575f5ffd5b506101a56103f03660046118e8565b6113df565b348015610400575f5ffd5b506004546101da906001600160a01b031681565b34801561041f575f5ffd5b506101da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610452575f5ffd5b505f5461010090046001600160a01b03166101da565b5f54604051632474521560e21b81527f5f33620cda06d02d58df96005b92bc83bd059a566e48e016372f3fbdc974e371600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa1580156104d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fd9190611a01565b61053d5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b610545611512565b61054f8383611550565b505050565b5f54604051632474521560e21b81527f1a6838efa4183e08fe3607359d1259272af9d4716f65e1a7b5921f78fd5a3c6a600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa1580156105c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e99190611a01565b6106245760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03841690811790915560405190815242907ff3d574ee4f1e8db5e0ac3080dbc8fa3791ec8458a22d347567159d7a06eef9ea906020015b60405180910390a25050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610711573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107359190611a27565b905090565b5f54604051632474521560e21b81527fe7276a2a84d8de556657ec9cf93a55a7d66f096e529d0582ed08e9e2208b92b5600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa1580156107ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107cf9190611a01565b61080a5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b610812611584565b50565b5f61081e611512565b5f54604051632474521560e21b81527f276ea66e969b021a947c47a128f4d53c55387336443ef7a5391a75f0d2e48d25600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa15801561088f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b39190611a01565b6108ee5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b60035483908082101561091d5760405163f3c87ed960e01b815260048101929092526024820152604401610534565b50505f61092984610d0c565b90506109606001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330876115d5565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044015f604051808303815f87803b1580156109e0575f5ffd5b505af11580156109f2573d5f5f3e3d5ffd5b50506004546001600160a01b03169150508015610a80576040517f8a2fa94c0000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052821690638a2fa94c906044015f604051808303815f87803b158015610a69575f5ffd5b505af1158015610a7b573d5f5f3e3d5ffd5b505050505b604080516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252602082018890529181018490529087169042907fc2fc799dc7fd36a0d34e9acaeda628420c2fbeed9b65d9639dee2a43c27c2c609060600160405180910390a350949350505050565b5f54604051632474521560e21b81527f3947e2f542c6c46c543fa4f79cbd1e27fea37ed249bc3caf992570d19123642e600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa158015610b6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190611a01565b610bca5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b60028290556040518281527f9c922f6d0c990b250e9dd0a427a5c8da7f44b960f697fecb31cbbd8ba79ec8c2906020015b60405180910390a15050565b5f54604051632474521560e21b81527f3947e2f542c6c46c543fa4f79cbd1e27fea37ed249bc3caf992570d19123642e600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa158015610c78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9c9190611a01565b610cd75760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b60018290556040518281527f3c8eb7c49d332f4c1e4d92a27cda93c31cc9452f7a408e0c6109fcddbc9946ea90602001610bfb565b6040516315d5220f60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f9182917f0000000000000000000000000000000000000000000000000000000000000000169063aea9107890602401602060405180830381865afa158015610d94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db89190611a27565b6040516315d5220f60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063aea9107890602401602060405180830381865afa158015610e41573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e659190611a27565b90505f610e728284611657565b9050610e7e8582611674565b95945050505050565b5f5f610e91610694565b90506001548110610ea3575f91505090565b80600154610eb19190611a3e565b91505090565b5f54604051632474521560e21b81527f1a6838efa4183e08fe3607359d1259272af9d4716f65e1a7b5921f78fd5a3c6a6004820181905233602483015260609290916101009091046001600160a01b0316906391d1485490604401602060405180830381865afa158015610f2d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f519190611a01565b610f8c5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b8267ffffffffffffffff811115610fa557610fa5611a5d565b604051908082528060200260200182016040528015610fd857816020015b6060815260200190600190039081610fc35790505b5091505f5b8381101561114a575f858583818110610ff857610ff8611a71565b905060200281019061100a9190611a85565b6110189060208101906118a7565b90505f86868481811061102d5761102d611a71565b905060200281019061103f9190611a85565b602001359050365f88888681811061105957611059611a71565b905060200281019061106b9190611a85565b611079906040810190611aa3565b915091505f5f856001600160a01b031685858560405161109a929190611aed565b5f6040518083038185875af1925050503d805f81146110d4576040519150601f19603f3d011682016040523d82523d5f602084013e6110d9565b606091505b5091509150818190611118576040517f4ad176bb0000000000000000000000000000000000000000000000000000000081526004016105349190611afc565b508089888151811061112c5761112c611a71565b60200260200101819052505050505050508080600101915050610fdd565b505092915050565b5f54604051632474521560e21b81527f1a6838efa4183e08fe3607359d1259272af9d4716f65e1a7b5921f78fd5a3c6a600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa1580156111c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e79190611a01565b6112225760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b61122b82611688565b5050565b5f54604051632474521560e21b81527ffcb9fcbfa83b897fb2d5cf4b58962164105c1e71489a37ef3ae0db3fdce576f6600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa1580156112a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c49190611a01565b6112ff5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b6108126116f7565b5f54604051632474521560e21b81527f5f33620cda06d02d58df96005b92bc83bd059a566e48e016372f3fbdc974e371600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa158015611378573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139c9190611a01565b6113d75760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b610812611512565b5f54604051632474521560e21b81527f3947e2f542c6c46c543fa4f79cbd1e27fea37ed249bc3caf992570d19123642e600482018190523360248301529161010090046001600160a01b0316906391d1485490604401602060405180830381865afa158015611450573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114749190611a01565b6114af5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610534565b816001816114d95760405163f3c87ed960e01b815260048101929092526024820152604401610534565b5050600382905560405182815242907f98d4849d14b2e04613e88b93efe2af56274625fcffd1785527057200497f6df690602001610688565b5f5460ff161561154e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61122b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284611733565b61158c611764565b5f805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6040516001600160a01b0384811660248301528381166044830152606482018390526116519186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061179f565b50505050565b5f61166b83670de0b6b3a764000084611824565b90505b92915050565b5f61166b83670de0b6b3a764000084611847565b5f80546001600160a01b038381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff851617855560405193049190911692909183917f9209b7c8c06dcfd261686a663e7c55989337b18d59da5433c6f2835fb697092091a35050565b6116ff611512565b5f805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115b83390565b6040516001600160a01b0383811660248301526044820183905261054f91859182169063a9059cbb9060640161160a565b5f5460ff1661154e576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f60205f8451602086015f885af1806117be576040513d5f823e3d81fd5b50505f513d915081156117d55780600114156117e2565b6001600160a01b0384163b155b15611651576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610534565b5f825f190484118302158202611838575f5ffd5b50910281810615159190040190565b5f825f19048411830215820261185b575f5ffd5b5091020490565b80356001600160a01b0381168114611878575f5ffd5b919050565b5f5f6040838503121561188e575f5ffd5b8235915061189e60208401611862565b90509250929050565b5f602082840312156118b7575f5ffd5b61166b82611862565b5f5f604083850312156118d1575f5ffd5b6118da83611862565b946020939093013593505050565b5f602082840312156118f8575f5ffd5b5035919050565b5f5f60208385031215611910575f5ffd5b823567ffffffffffffffff811115611926575f5ffd5b8301601f81018513611936575f5ffd5b803567ffffffffffffffff81111561194c575f5ffd5b8560208260051b8401011115611960575f5ffd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156119f557603f198786030184526119e0858351611970565b945060209384019391909101906001016119c4565b50929695505050505050565b5f60208284031215611a11575f5ffd5b81518015158114611a20575f5ffd5b9392505050565b5f60208284031215611a37575f5ffd5b5051919050565b8181038181111561166e57634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112611a99575f5ffd5b9190910192915050565b5f5f8335601e19843603018112611ab8575f5ffd5b83018035915067ffffffffffffffff821115611ad2575f5ffd5b602001915036819003821315611ae6575f5ffd5b9250929050565b818382375f9101908152919050565b602081525f61166b602083018461197056fea26469706673582212201c8aebfe01230aba740a9b926ac462eaf5710cd0a65788385e0c9baa1821c14264736f6c634300081c0033000000000000000000000000f6d48735eccf12bdc1df2674b1ce3fcb3bd25490000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000048f9e38f3070ad8945dfeae3fa70987722e3d89c0000000000000000000000007a5c5dba4fbd0e1e1a2ecdbe752fae55f6e842b3