0 txs
0 calls
constructor
constructor(address _systemRegistry)
functions
accessController
viewfunction accessController() view returns (address)
FEE_PRECISION
viewfunction FEE_PRECISION() view returns (uint256)
getDescription
purefunction getDescription() pure returns (string)
getLpTokenToUnderlying
viewfunction getLpTokenToUnderlying(address lpToken) view returns (address[] tokens)
getSystemRegistry
viewfunction getSystemRegistry() view returns (address)
lpTokenToPool
viewfunction lpTokenToPool(address) view returns (address)
lpTokenToUnderlying
viewfunction lpTokenToUnderlying(address, uint256) view returns (address)
poolToLpToken
viewfunction poolToLpToken(address) view returns (address)
WETH
viewfunction WETH() view returns (address)
getSafeSpotPriceInfo
nonpayablefunction getSafeSpotPriceInfo(address pool, address lpToken, address quoteToken) returns (uint256 totalLPSupply, tuple[] reserves)
getSpotPrice
nonpayablefunction getSpotPrice(address token, address pool, address requestedQuoteToken) returns (uint256 price, address actualQuoteToken)
registerPool
nonpayablefunction registerPool(address curvePool, address curveLpToken)
unregister
nonpayablefunction unregister(address curveLpToken)
events
TokenRegistered
event TokenRegistered(address lpToken)
TokenUnregistered
event TokenUnregistered(address lpToken)
errors
AccessDenied
error AccessDenied()
AlreadyRegistered
error AlreadyRegistered(address param)
NotRegistered
error NotRegistered(address curveLpToken)
NotStableSwap
error NotStableSwap(address curvePool)
ResolverMismatch
error ResolverMismatch(address providedLP, address queriedLP)
UndefinedAddress
error UndefinedAddress()
ZeroAddress
error ZeroAddress(string paramName)
creation bytecode
0x60e060405234801562000010575f80fd5b5060405162001c1338038062001c13833981016040819052620000339162000276565b80806001600160a01b031663bc43cbaf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000071573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000097919062000276565b81620000d1816040518060400160405280600f81526020016e5f73797374656d526567697374727960881b8152506200022560201b60201c565b6001600160a01b039081166080528116620000ff57604051630cbe126f60e11b815260040160405180910390fd5b806001600160a01b031660a0816001600160a01b03168152505050620001ad816001600160a01b031663f3c274f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200015b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000181919062000276565b60408051808201909152600f81526e726f6f7450726963654f7261636c6560881b602082015262000225565b806001600160a01b0316633fc8cef36040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000210919062000276565b6001600160a01b031660c05250620002e99050565b6001600160a01b0382166200025a578060405163eac0d38960e01b81526004016200025191906200029b565b60405180910390fd5b5050565b6001600160a01b038116811462000273575f80fd5b50565b5f6020828403121562000287575f80fd5b815162000294816200025e565b9392505050565b5f602080835283518060208501525f5b81811015620002c957858101830151858201604001528201620002ab565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a05160c0516118dc620003375f395f81816101eb015261128c01525f8181610212015281816102e601526104d101525f8181610271015281816105bb0152610ceb01526118dc5ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c8063a04c88ed11610088578063da83972f11610063578063da83972f14610234578063e63a391f14610255578063f12baf5c1461026f578063fd3f222e14610295575f80fd5b8063a04c88ed146101be578063ad5c4648146101e6578063bc43cbaf1461020d575f80fd5b80630b5bdea9146100cf5780631a092541146101145780632ec2c246146101465780637286e5e51461015b57806375075ad51461016e578063902ac0911461019e575b5f80fd5b6100f76100dd366004611393565b60026020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b604080518082018252601081526f18dd5c9d99558c515d1a131bd8dad95960821b6020820152905161010b91906113b5565b610159610154366004611393565b6102a8565b005b610159610169366004611401565b610493565b61018161017c366004611438565b61088b565b604080519283526001600160a01b0390911660208301520161010b565b6101b16101ac366004611393565b6108ae565b60405161010b9190611480565b6100f76101cc366004611393565b60016020525f90815260409020546001600160a01b031681565b6100f77f000000000000000000000000000000000000000000000000000000000000000081565b6100f77f000000000000000000000000000000000000000000000000000000000000000081565b610247610242366004611438565b610995565b60405161010b9291906114cc565b6102616402540be40081565b60405190815260200161010b565b7f00000000000000000000000000000000000000000000000000000000000000006100f7565b6100f76102a3366004611547565b6109b1565b604051632474521560e21b81527fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c1860048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d1485490604401602060405180830381865afa158015610333573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103579190611585565b61037457604051634ca8886760e01b815260040160405180910390fd5b6103a2826040518060400160405280600c81526020016b31bab93b32a6382a37b5b2b760a11b8152506109e4565b6001600160a01b0382165f9081526020819052604081205490036103e95760405163bfc6c33760e01b81526001600160a01b03831660048201526024015b60405180910390fd5b6001600160a01b038083165f818152600160209081526040808320549094168083526002825284832080546001600160a01b03191690559282528190529182209091610435919061134d565b6001600160a01b0383165f8181526001602090815260409182902080546001600160a01b031916905590519182527fb02d270f645215800cec778b856004c753ad0c8c6ca520a91a8399acf4c63d4b910160405180910390a1505050565b604051632474521560e21b81527fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c1860048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d1485490604401602060405180830381865afa15801561051e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105429190611585565b61055f57604051634ca8886760e01b815260040160405180910390fd5b61058a836040518060400160405280600981526020016818dd5c9d99541bdbdb60ba1b8152506109e4565b6105b8826040518060400160405280600c81526020016b31bab93b32a6382a37b5b2b760a11b8152506109e4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636c27eaa46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610615573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610639919061159e565b604051631386d81360e01b81526001600160a01b0386811660048301529192505f9182918291829190861690631386d8139060240161016060405180830381865afa15801561068a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ae9190611603565b6001600160a01b038083165f908152600160205260409020549498509296509094509250161515806106f857506001600160a01b038881165f908152600260205260409020541615155b15610721576040516345ed80e960e01b81526001600160a01b03891660048201526024016103e0565b8061074a57604051639f074be160e01b81526001600160a01b03891660048201526024016103e0565b866001600160a01b0316826001600160a01b03161461078f5760405163a45d71c960e01b81526001600160a01b038089166004830152831660248201526044016103e0565b5f5b83811015610804576001600160a01b0383165f9081526020819052604090208582600881106107c2576107c2611694565b602090810291909101518254600180820185555f9485529290932090920180546001600160a01b0319166001600160a01b039093169290921790915501610791565b506001600160a01b038281165f81815260016020908152604080832080546001600160a01b03199081168f881690811790925590845260028352928190208054909316948c169490941790915591519081527f158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d910160405180910390a15050505050505050565b5f80610898858585610a11565b90925090506108a684610b01565b935093915050565b6001600160a01b0381165f908152602081905260409020546060908067ffffffffffffffff8111156108e2576108e26115b9565b60405190808252806020026020018201604052801561090b578160200160208202803683370190505b5091505f5b8181101561098e576001600160a01b0384165f90815260208190526040902080548290811061094157610941611694565b905f5260205f20015f9054906101000a90046001600160a01b031683828151811061096e5761096e611694565b6001600160a01b0390921660209283029190910190910152600101610910565b5050919050565b5f60606109a3858585610bc1565b90925090506108a685610b01565b5f602052815f5260405f2081815481106109c9575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b038216610a0d578060405163eac0d38960e01b81526004016103e091906113b5565b5050565b5f80610a3984604051806040016040528060048152602001631c1bdbdb60e21b8152506109e4565b6001600160a01b038085165f908152600260209081526040808320549093168083528282528383208054855181850281018501909652808652919492909190830182828015610aaf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610a91575b505050505090505f81519050805f03610ae65760405163bfc6c33760e01b81526001600160a01b03841660048201526024016103e0565b610af288888489610f6d565b90999098509650505050505050565b5f819050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b65919061159e565b60405163e4e67c0f60e01b81526001600160a01b038381166004830152919091169063e4e67c0f906024015f604051808303815f87803b158015610ba7575f80fd5b505af1158015610bb9573d5f803e3d5ffd5b505050505050565b5f6060610bea85604051806040016040528060048152602001631c1bdbdb60e21b8152506109e4565b610c13846040518060400160405280600781526020016636382a37b5b2b760c91b8152506109e4565b610c3f836040518060400160405280600a81526020016938bab7ba32aa37b5b2b760b11b8152506109e4565b836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9f91906116a8565b6001600160a01b0385165f90815260208190526040812080549294509190819003610ce85760405163bfc6c33760e01b81526001600160a01b03871660048201526024016103e0565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636c27eaa46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d69919061159e565b60405163226b3f7360e21b81526001600160a01b038a811660048301529192505f918316906389acfdcc9060240161010060405180830381865afa158015610db3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd791906116bf565b90508267ffffffffffffffff811115610df257610df26115b9565b604051908082528060200260200182016040528015610e4257816020015b604080516080810182525f8082526020808301829052928201819052606082015282525f19909201910181610e105790505b5094505f5b83811015610f60575f858281548110610e6257610e62611694565b5f918252602090912001546001600160a01b03169050610e8181611263565b90505f80610ee8838e8a805480602002602001604051908101604052809291908181526020018280548015610edd57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610ebf575b50505050508e610f6d565b915091506040518060800160405280846001600160a01b03168152602001868660088110610f1857610f18611694565b60200201518152602001838152602001826001600160a01b0316815250898581518110610f4757610f47611694565b6020026020010181905250505050806001019050610e47565b5050505050935093915050565b5f805f1980610f7b88611263565b86519098505f5b81811015611016575f888281518110610f9d57610f9d611694565b60200260200101519050610fb081611263565b90508a6001600160a01b0316816001600160a01b031603610fd357819450610ff0565b876001600160a01b0316816001600160a01b031603610ff0578193505b845f19141580156110025750835f1914155b1561100d5750611016565b50600101610f82565b5082196110415760405163bfc6c33760e01b81526001600160a01b038a1660048201526024016103e0565b8119611059578215611053575f611056565b60015b91505b5f806110c38b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110be919061171c565b6112b4565b604051635e0d443f60e01b8152600f88810b600483015287900b60248201526044810183905291935091505f9082906001600160a01b038d1690635e0d443f90606401602060405180830381865afa158015611121573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114591906116a8565b61114f9190611750565b90505f8b6001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b291906116a8565b90506111c3816402540be40061176d565b6111d26402540be40084611750565b6111dc9190611780565b60405163c661065760e01b8152600481018890529099506001600160a01b038d169063c661065790602401602060405180830381865afa158015611222573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611246919061159e565b975061125188611263565b97505050505050505094509492505050565b5f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038316016112b057507f0000000000000000000000000000000000000000000000000000000000000000919050565b5090565b5f8060128360ff16106112e2576112cc60038461179f565b6112d790600a611898565b936103e89350915050565b60068360ff161061130d576112f860028461179f565b61130390600a611898565b9360649350915050565b60028360ff16106113385761132360018461179f565b61132e90600a611898565b93600a9350915050565b61134383600a611898565b9360019350915050565b5080545f8255905f5260205f2090810190611368919061136b565b50565b5b808211156112b0575f815560010161136c565b6001600160a01b0381168114611368575f80fd5b5f602082840312156113a3575f80fd5b81356113ae8161137f565b9392505050565b5f602080835283518060208501525f5b818110156113e1578581018301518582016040015282016113c5565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611412575f80fd5b823561141d8161137f565b9150602083013561142d8161137f565b809150509250929050565b5f805f6060848603121561144a575f80fd5b83356114558161137f565b925060208401356114658161137f565b915060408401356114758161137f565b809150509250925092565b602080825282518282018190525f9190848201906040850190845b818110156114c05783516001600160a01b03168352928401929184019160010161149b565b50909695505050505050565b5f604080830185845260206040602086015281865180845260609350606087019150602088015f5b8281101561153857815180516001600160a01b03908116865286820151878701528882015189870152908701511686850152608090930192908401906001016114f4565b50919998505050505050505050565b5f8060408385031215611558575f80fd5b82356115638161137f565b946020939093013593505050565b80518015158114611580575f80fd5b919050565b5f60208284031215611595575f80fd5b6113ae82611571565b5f602082840312156115ae575f80fd5b81516113ae8161137f565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff811182821017156115fd57634e487b7160e01b5f52604160045260245ffd5b60405290565b5f805f806101608587031215611617575f80fd5b85601f860112611625575f80fd5b61162d6115cd565b8061010087018881111561163f575f80fd5b875b818110156116625780516116548161137f565b845260209384019301611641565b50516101208801519196509450905061167a8161137f565b91506116896101408601611571565b905092959194509250565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156116b8575f80fd5b5051919050565b5f6101008083850312156116d1575f80fd5b83601f8401126116df575f80fd5b6116e76115cd565b9083019080858311156116f8575f80fd5b845b838110156117125780518352602092830192016116fa565b5095945050505050565b5f6020828403121561172c575f80fd5b815160ff811681146113ae575f80fd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176117675761176761173c565b92915050565b818103818111156117675761176761173c565b5f8261179a57634e487b7160e01b5f52601260045260245ffd5b500490565b60ff82811682821603908111156117675761176761173c565b600181815b808511156117f257815f19048211156117d8576117d861173c565b808516156117e557918102915b93841c93908002906117bd565b509250929050565b5f8261180857506001611767565b8161181457505f611767565b816001811461182a576002811461183457611850565b6001915050611767565b60ff8411156118455761184561173c565b50506001821b611767565b5060208310610133831016604e8410600b8410161715611873575081810a611767565b61187d83836117b8565b805f19048211156118905761189061173c565b029392505050565b5f6113ae60ff8416836117fa56fea2646970667358221220e6f60a1b1184c5230c596d41415f95ea424aea0d78e5c331bf31cc55e2c49e6464736f6c634300081800330000000000000000000000002218f90a98b0c070676f249ef44834686daa4285