0 txs
5 calls
constructor
constructor(uint64 poolId_, address deployer)
functions
availableBalanceOf
viewfunction availableBalanceOf(bytes16 scId, address asset, uint256 tokenId) view returns (uint128)
holding
viewfunction holding(bytes16 scId, address asset, uint256 tokenId) view returns (uint128 total, uint128 reserved)
poolId
viewfunction poolId() view returns (uint64)
wards
viewfunction wards(address) view returns (uint256)
authTransferTo
nonpayablefunction authTransferTo(address asset, uint256 tokenId, address receiver, uint256 amount)
deny
nonpayablefunction deny(address user)
deposit
nonpayablefunction deposit(bytes16 scId, address asset, uint256 tokenId, uint128 value)
recoverTokens
nonpayablefunction recoverTokens(address token, address receiver, uint256 amount)
recoverTokens
nonpayablefunction recoverTokens(address token, uint256 tokenId, address receiver, uint256 amount)
rely
nonpayablefunction rely(address user)
reserve
nonpayablefunction reserve(bytes16 scId, address asset, uint256 tokenId, uint128 value)
unreserve
nonpayablefunction unreserve(bytes16 scId, address asset, uint256 tokenId, uint128 value)
withdraw
nonpayablefunction withdraw(bytes16 scId, address asset, uint256 tokenId, uint128 value)
events
AuthTransferTo
event AuthTransferTo(address indexed asset, uint256 indexed tokenId, address receiver, uint256 value)
DecreaseReserve
event DecreaseReserve(address indexed asset, uint256 indexed tokenId, uint64 indexed poolId, bytes16 scId, uint256 delta, uint128 value)
Deny
event Deny(address indexed user)
Deposit
event Deposit(address indexed asset, uint256 indexed tokenId, uint64 indexed poolId, bytes16 scId, uint128 value)
IncreaseReserve
event IncreaseReserve(address indexed asset, uint256 indexed tokenId, uint64 indexed poolId, bytes16 scId, uint256 delta, uint128 value)
ReceiveNativeTokens
event ReceiveNativeTokens(address who, uint256 amount)
Rely
event Rely(address indexed user)
Withdraw
event Withdraw(address indexed asset, uint256 indexed tokenId, uint64 indexed poolId, bytes16 scId, uint128 value)
errors
InsufficientBalance
error InsufficientBalance(address asset, uint256 tokenId, uint256 value, uint256 balance)
InsufficientDeposit
error InsufficientDeposit()
InsufficientReservedAmount
error InsufficientReservedAmount()
NoCode
error NoCode()
NotAuthorized
error NotAuthorized()
SafeTransferEthFailed
error SafeTransferEthFailed()
WrappedError
error WrappedError(address target, bytes4 selector, bytes reason, bytes details)
creation bytecode
0x60a060405234801561000f575f5ffd5b5060405161137a38038061137a83398101604081905261002e91610089565b6001600160a01b0381165f8181526020819052604080822060019055518392839290917fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a25050506001600160401b03166080526100d7565b5f5f6040838503121561009a575f5ffd5b82516001600160401b03811681146100b0575f5ffd5b60208401519092506001600160a01b03811681146100cc575f5ffd5b809150509250929050565b60805161126f61010b5f395f818161011a01528181610436015281816106dc01528181610aa70152610ced015261126f5ff3fe6080604052600436106100a4575f3560e01c806313cd45ef146100e85780633e0dc34e14610109578063493539fc146101595780635f3e849f1461019057806365fae35e146101af57806386ad5f88146101ce578063895a452b146101ed5780638f343c661461020c578063947b330a1461022b5780639c52a7f11461024a578063a41d03e014610269578063bf353dbb146102d9578063c646537414610312575f5ffd5b366100e4577f29812eee8f36a46feac7e82c3816ce672e0bec5128eb6573b4edbb41c73508ef33346040516100da929190610f31565b60405180910390a1005b5f5ffd5b3480156100f3575f5ffd5b50610107610102366004610f7c565b610331565b005b348015610114575f5ffd5b5061013c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b0390911681526020015b60405180910390f35b348015610164575f5ffd5b50610178610173366004610fd3565b61049c565b6040516001600160801b039091168152602001610150565b34801561019b575f5ffd5b506101076101aa36600461100d565b61051d565b3480156101ba575f5ffd5b506101076101c9366004611028565b61058b565b3480156101d9575f5ffd5b506101076101e8366004610f7c565b6105fe565b3480156101f8575f5ffd5b50610107610207366004611041565b610740565b348015610217575f5ffd5b50610107610226366004610f7c565b610980565b348015610236575f5ffd5b50610107610245366004611041565b610b1b565b348015610255575f5ffd5b50610107610264366004611028565b610bd9565b348015610274575f5ffd5b506102b9610283366004610fd3565b600160209081525f93845260408085208252928452828420905282529020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610150565b3480156102e4575f5ffd5b506103046102f3366004611028565b5f6020819052908152604090205481565b604051908152602001610150565b34801561031d575f5ffd5b5061010761032c366004610f7c565b610c4b565b335f908152602081905260409020546001146103605760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160801b031984165f9081526001602090815260408083206001600160a01b03871684528252808320858452909152902054600160801b90046001600160801b0390811690829081168210156103cc5760405163a05846bb60e01b815260040160405180910390fd5b5f6103d78284611096565b6001600160801b031988165f9081526001602090815260408083206001600160a01b038b168085529083528184208a85529092529182902080546001600160801b03808616600160801b02911617905590519192506001600160401b037f000000000000000000000000000000000000000000000000000000000000000016918791907fab23bf9ce6667f79f005233c98cbeeba45ece2ef24eab3a7b0c793943f27a2c89061048b908c908a9088906110bb565b60405180910390a450505050505050565b6001600160801b031983165f9081526001602090815260408083206001600160a01b03861684528252808320848452909152812080546001600160801b03600160801b82048116911610156104f4575f915050610516565b8054610512906001600160801b03600160801b820481169116611096565b9150505b9392505050565b335f9081526020819052604090205460011461054c5760405163ea8e4eb560e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016105805761057b8282610d5f565b505050565b61057b838383610de9565b335f908152602081905260409020546001146105ba5760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160a01b0381165f8181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b335f9081526020819052604090205460011461062d5760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160801b031984165f9081526001602090815260408083206001600160a01b0387168452825280832085845290915281205461067d908390600160801b90046001600160801b03166110e6565b6001600160801b031986165f9081526001602090815260408083206001600160a01b0389168085529083528184208885529092529182902080546001600160801b03808616600160801b02911617905590519192506001600160401b037f000000000000000000000000000000000000000000000000000000000000000016918591907f6933991655ecd3f03f5b7e9c639dbec09f7f27442318116b8928bd94423f419490610731908a90889088906110bb565b60405180910390a45050505050565b335f9081526020819052604090205460011461076f5760405163ea8e4eb560e01b815260040160405180910390fd5b825f03610827576040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa1580156107ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107de9190611105565b905084848383818110156108125760405163670f004560e01b8152600401610809949392919061111c565b60405180910390fd5b50505050610821858484610de9565b50610936565b604051627eeac760e11b81525f906001600160a01b0386169062fdd58e906108559030908890600401610f31565b602060405180830381865afa158015610870573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108949190611105565b905084848383818110156108bf5760405163670f004560e01b8152600401610809949392919061111c565b50506040516304ade6db60e11b81526001600160a01b038816925063095bcdb691506108f390869088908790600401611142565b6020604051808303815f875af115801561090f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109339190611163565b50505b82846001600160a01b03167f7ebbf979d030821575f96975e7dd9de98f2f11ccbe3b9d8c21f70eca1a80ce978484604051610972929190610f31565b60405180910390a350505050565b335f908152602081905260409020546001146109af5760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160801b031984165f9081526001602090815260408083206001600160a01b0387168452825280832085845290915281208054909190610a04906001600160801b03600160801b820481169116611096565b9050848484836001600160801b038083169082161015610a615760405163670f004560e01b81526001600160a01b03909416600485015260248401929092526001600160801b039081166044840152166064820152608401610809565b505083548592508491505f90610a819084906001600160801b0316611096565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f00000000000000000000000000000000000000000000000000000000000000006001600160401b031684866001600160a01b03167f536f2be17072bbd71f7605c71b09e10a8606466160ab43eb6f0472e5915728508987604051610b0b929190611182565b60405180910390a4505050505050565b335f90815260208190526040902054600114610b4a5760405163ea8e4eb560e01b815260040160405180910390fd5b825f03610b6157610b5c84838361051d565b610bd3565b6040516304ade6db60e11b81526001600160a01b0385169063095bcdb690610b9190859087908690600401611142565b6020604051808303815f875af1158015610bad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd19190611163565b505b50505050565b335f90815260208190526040902054600114610c085760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160a01b0381165f81815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b335f90815260208190526040902054600114610c7a5760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160801b031984165f9081526001602090815260408083206001600160a01b0387168452825280832085845290915281208054839290610cc79084906001600160801b03166110e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f00000000000000000000000000000000000000000000000000000000000000006001600160401b031682846001600160a01b03167fe48f39833182d4853f0aed77f5a298fdf679d2d30b3a6fe98c5228d90b7e88d98785604051610d51929190611182565b60405180910390a450505050565b604080515f808252602082019092526001600160a01b038416908390604051610d8891906111a5565b5f6040518083038185875af1925050503d805f8114610dc2576040519150601f19603f3d011682016040523d82523d5f602084013e610dc7565b606091505b505090508061057b57604051630d2fa21160e31b815260040160405180910390fd5b5f836001600160a01b03163b11610e1357604051633c11a9c560e21b815260040160405180910390fd5b5f5f846001600160a01b03168484604051602401610e32929190610f31565b60408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251610e6791906111a5565b5f604051808303815f865af19150503d805f8114610ea0576040519150601f19603f3d011682016040523d82523d5f602084013e610ea5565b606091505b5091509150818015610ecf575080511580610ecf575080806020019051810190610ecf9190611163565b6040805160048152602481019091526020810180516001600160e01b031663fb7f507960e01b179052869163a9059cbb60e01b918491610f26576040516390bfb86560e01b815260040161080994939291906111e9565b505050505050505050565b6001600160a01b03929092168252602082015260400190565b80356001600160801b031981168114610f61575f5ffd5b919050565b80356001600160a01b0381168114610f61575f5ffd5b5f5f5f5f60808587031215610f8f575f5ffd5b610f9885610f4a565b9350610fa660208601610f66565b92506040850135915060608501356001600160801b0381168114610fc8575f5ffd5b939692955090935050565b5f5f5f60608486031215610fe5575f5ffd5b610fee84610f4a565b9250610ffc60208501610f66565b929592945050506040919091013590565b5f5f5f6060848603121561101f575f5ffd5b610fee84610f66565b5f60208284031215611038575f5ffd5b61051682610f66565b5f5f5f5f60808587031215611054575f5ffd5b61105d85610f66565b93506020850135925061107260408601610f66565b9396929550929360600135925050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0382811682821603908111156110b5576110b5611082565b92915050565b6001600160801b03199390931683526001600160801b03918216602084015216604082015260600190565b6001600160801b0381811683821601908111156110b5576110b5611082565b5f60208284031215611115575f5ffd5b5051919050565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f60208284031215611173575f5ffd5b81518015158114610516575f5ffd5b6001600160801b03199290921682526001600160801b0316602082015260400190565b5f82518060208501845e5f920191825250919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03851681526001600160e01b0319841660208201526080604082018190525f9061121c908301856111bb565b828103606084015261122e81856111bb565b97965050505050505056fea26469706673582212205e903bf87bd2148faaf610f8087bca01dc96f9eac209e8fa6387fe88023dfc1a64736f6c634300081c00330000000000000000000000000000000000000000000000000001000000000004000000000000000000000000d166b3210edbeedea73c7b2e8ab64bdd30c980e9