0 txs
1 call
constructor
No constructor.
functions
getAccountAvailableCollateral
viewfunction getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)
getAccountCollateral
viewfunction getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)
getLocks
viewfunction getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple[] locks)
cleanExpiredLocks
nonpayablefunction cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared, uint256 remainingLockAmountD18)
createLock
nonpayablefunction createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)
deposit
nonpayablefunction deposit(uint128 accountId, address collateralType, uint256 tokenAmount)
withdraw
nonpayablefunction withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)
events
CollateralLockCreated
event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)
CollateralLockExpired
event CollateralLockExpired(uint256 tokenAmount, uint64 expireTimestamp)
Deposited
event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)
Withdrawn
event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)
errors
AccountActivityTimeoutPending
error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)
AccountNotFound
error AccountNotFound(uint128 accountId)
CollateralDepositDisabled
error CollateralDepositDisabled(address collateralType)
CollateralNotFound
error CollateralNotFound()
DeprecatedDeposit
error DeprecatedDeposit()
EmptyRevertReason
error EmptyRevertReason()
FailedTransfer
error FailedTransfer(address from, address to, uint256 value)
FeatureUnavailable
error FeatureUnavailable(bytes32 which)
InsufficientAccountCollateral
error InsufficientAccountCollateral(uint256 amount)
InsufficientAllowance
error InsufficientAllowance(uint256 required, uint256 existing)
InsufficientAvailableCollateral
error InsufficientAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)
InvalidParameter
error InvalidParameter(string parameter, string reason)
OverflowInt256ToUint256
error OverflowInt256ToUint256()
OverflowUint256ToUint128
error OverflowUint256ToUint128()
OverflowUint256ToUint64
error OverflowUint256ToUint64()
PermissionDenied
error PermissionDenied(uint128 accountId, bytes32 permission, address target)
PositionOutOfBounds
error PositionOutOfBounds()
PrecisionLost
error PrecisionLost(uint256 tokenAmount, uint8 decimals)
creation bytecode
0x608060405234801561001057600080fd5b506122b5806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063927482ff1161005b578063927482ff146100d757806395997c51146100f8578063aa8c63691461010b578063ef45148e1461012b57600080fd5b80630bae989314610082578063198f0aa11461009757806383802968146100c4575b600080fd5b610095610090366004611d82565b610159565b005b6100aa6100a5366004611ddd565b61037d565b604080519283526020830191909152015b60405180910390f35b6100956100d2366004611e1f565b6103be565b6100ea6100e5366004611e5b565b610568565b6040519081526020016100bb565b610095610106366004611e1f565b610599565b61011e610119366004611ddd565b610731565b6040516100bb9190611e8e565b61013e610139366004611e5b565b610896565b604080519384526020840192909252908201526060016100bb565b600061016d856420a226a4a760d91b6108bb565b905060008061017c838761094a565b925050915042846001600160401b0316116101ff5760408051634bab873760e11b81526004810191909152600f60448201526e065787069726554696d657374616d7608c1b60648201526080602482015260156084820152746d75737420626520696e207468652066757475726560581b60a482015260c4015b60405180910390fd5b846000036102615760408051634bab873760e11b815260048101919091526006604482015265185b5bdd5b9d60d21b606482015260806024820152600f60848201526e6d757374206265206e6f6e7a65726f60881b60a482015260c4016101f6565b61026b8183611f05565b85111561028e576040516313232e7760e21b8152600481018690526024016101f6565b6001600160a01b038616600090815260068401602052604090819020815180830190925260030190806102c0886109b0565b6001600160801b0390811682526001600160401b038089166020938401528454600181018655600095865294839020845195018054949093015116600160801b026001600160c01b0319909316938116939093179190911790556040516001600160a01b038816918916907f8a78446a234220d3ee3f46aa6ea1ea5bc438bd153398ebcbd171843744b452a69061036c90899089909182526001600160401b0316602082015260400190565b60405180910390a350505050505050565b6000806103b1848461038e896109de565b6001600160a01b0389166000908152600691909101602052604090209190610a54565b9150915094509492505050565b6103d16619195c1bdcda5d60ca1b610ce1565b6103da82610d15565b6103e383610d4a565b5060006103ef846109de565b905060006103fb610d8f565b604051636eb1769f60e11b81526001600160a01b03808316600483015230602483018190529293506000919087169063dd62ed3e90604401602060405180830381865afa158015610450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104749190611f18565b9050848110156104a15760405163054365bb60e31b815260048101869052602481018290526044016101f6565b6104b66001600160a01b038716848488610dcc565b6104ca8487600066038d7ea4c67fff610ee0565b506105016104e1866104db8961108b565b906110f9565b6001600160a01b038816600090815260068701602052604090209061126b565b610509610d8f565b6001600160a01b0316866001600160a01b0316886001600160801b03167fd92122e67326e9313bfae33ccb1fccf5194584c6bf93a8529a6b006d8c6e24a98860405161055791815260200190565b60405180910390a450505050505050565b6000610573836109de565b6001600160a01b0383166000908152600691909101602052604090205490505b92915050565b6105ad67776974686472617760c01b610ce1565b60006105e88467574954484452415760c01b6105e3756163636f756e7454696d656f7574576974686472617760501b6000611288565b61129b565b905060006105f9836104db8661108b565b905060008080610609858861094a565b925092509250600082821161061e5782610620565b815b9050600061062e8286611f05565b905080861115610654576040516313232e7760e21b8152600481018790526024016101f6565b6001600160a01b038916600090815260068801602052604090206106789087611434565b8761068c6001600160a01b038b1630611477565b10156106ab57604051637e54d70360e11b815260040160405180910390fd5b6106c76106b6610d8f565b6001600160a01b038b16908a6114e5565b6106cf610d8f565b6001600160a01b0316896001600160a01b03168b6001600160801b03167f8b5f9d7ce522936589c630db08c0fa2405b21c4a5ff8ef19899900172736ba388b60405161071d91815260200190565b60405180910390a450505050505050505050565b6060600061073e866109de565b6001600160a01b03861660009081526006919091016020526040902060030180549091508315806107785750806107758587611f31565b10155b156107985780851061078b576000610795565b6107958582611f05565b93505b836001600160401b038111156107b0576107b0611f44565b6040519080825280602002602001820160405280156107f557816020015b60408051808201909152600080825260208201528152602001906001900390816107ce5790505b50925060005b8481101561088b578261080e8288611f31565b8154811061081e5761081e611f5a565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b90046001600160401b031691810191909152845185908390811061086d5761086d611f5a565b6020026020010181905250808061088390611f70565b9150506107fb565b505050949350505050565b60008060006108ae846108a8876109de565b9061094a565b9250925092509250925092565b60006108c6836109de565b90506108df826108d4610d8f565b6001840191906115ee565b6109275782826108ed610d8f565b60405162ef2a9160e11b81526001600160801b03909316600484015260248301919091526001600160a01b031660448201526064016101f6565b60058101805467ffffffffffffffff1916426001600160401b0316179055610593565b6000806000610959858561162b565b6001600160a01b03851660009081526006870160205260409020549092506109819083611f31565b6001600160a01b038516600090815260068701602052604090209093506109a7906116c6565b90509250925092565b60006001600160801b038211156109da57604051637d5864af60e11b815260040160405180910390fd5b5090565b60008082604051602001610a3591906040808252601e908201527f696f2e73796e7468657469782e73796e7468657469782e4163636f756e74000060608201526001600160801b0391909116602082015260800190565b60408051601f1981840301815291905280516020909101209392505050565b6000806000610a6242611750565b6003870154909150808610610a7f57600080935093505050610cd9565b841580610a95575080610a928688611f31565b10155b15610aa757610aa48682611f05565b94505b856000805b87811015610cbb57846001600160401b03168a6003018481548110610ad357610ad3611f5a565b600091825260209091200154600160801b90046001600160401b031611610c65577f8010cd0bb6d7e8c6b90d190ae9aa57b948406fc741828e4a12c68e31f1e705818a6003018481548110610b2a57610b2a611f5a565b60009182526020909120015460038c0180546001600160801b039092169186908110610b5857610b58611f5a565b60009182526020918290200154604080516001600160801b039094168452600160801b9091046001600160401b0316918301919091520160405180910390a160038a018054610ba990600190611f05565b81548110610bb957610bb9611f5a565b906000526020600020018a6003018481548110610bd857610bd8611f5a565b600091825260209091208254910180546001600160801b039092166001600160801b031983168117825592546001600160c01b0319909216909217600160801b918290046001600160401b031690910217905560038a01805480610c3e57610c3e611f89565b600082815260209020810160001990810180546001600160c01b0319169055019055610ca9565b896003018381548110610c7a57610c7a611f5a565b600091825260209091200154610c99906001600160801b031683611f31565b915082610ca581611f70565b9350505b80610cb381611f70565b915050610aac565b5081610cc7888a611f31565b610cd19190611f05565b955093505050505b935093915050565b610cf281610ced610d8f565b61177a565b610d1257604051637e023fb760e01b8152600481018290526024016101f6565b50565b610d1e8161108b565b5460ff16610d12576040516318213f3d60e31b81526001600160a01b03821660048201526024016101f6565b600080610d56836109de565b60018101549091506001600160a01b0316610593576040516301c52d9360e31b81526001600160801b03841660048201526024016101f6565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e33148015610db5575060143610155b15610dc7575060131936013560601c90565b503390565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610e309190611f9f565b6000604051808303816000865af19150503d8060008114610e6d576040519150601f19603f3d011682016040523d82523d6000602084013e610e72565b606091505b5091509150811580610ea05750805115801590610ea0575080806020019051810190610e9e9190611fce565b155b15610ed857604051633210e1d960e01b81526001600160a01b03808716600483015285166024820152604481018490526064016101f6565b505050505050565b6001600160a01b0383166000908152600685016020526040812060038101805490918390610f0f908787610a54565b91505080600003610f265760009350505050611083565b6001600160a01b0387166000908152600689016020526040812054610f4b8a8a61162b565b610f559190611f31565b905086158015610f6d5750851580610f6d5750828610155b8015610f7857508082115b1561107d57835460005b8181101561101c57610fcf8484888481548110610fa157610fa1611f5a565b600091825260209091200154610fc091906001600160801b0316611ff0565b610fca919061201d565b6109b0565b868281548110610fe157610fe1611f5a565b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790558061101481611f70565b915050610f82565b508954604080516001600160801b0390921682526001600160a01b038b1660208301528101839052606081018490527ff0a0e39a26580b0a52daf2e0179695c3fbad3585ec250ca1b8eb4a6cec832b809060800160405180910390a1819250505b50925050505b949350505050565b60008082604051602001610a3591906040808252602e908201527f696f2e73796e7468657469782e73796e7468657469782e436f6c6c617465726160608201526d3621b7b73334b3bab930ba34b7b760911b60808201526001600160a01b0391909116602082015260a00190565b60058201546000906001600160a01b031661112757604051635b348b0760e11b815260040160405180910390fd5b8260050160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611198575060408051601f3d908101601f1916820190925261119591810190612031565b60015b6111a3575080610593565b8060ff166012036111b657829150611264565b60128160ff1610156111f0576111cd81600a612138565b6111df670de0b6b3a764000085611ff0565b6111e9919061201d565b9150611264565b6111fb601282612147565b61120690600a612138565b6112109084612160565b1561123a5760405163286d272760e11b81526004810184905260ff821660248201526044016101f6565b61124581600a612138565b611257670de0b6b3a764000085611ff0565b611261919061201d565b91505b5092915050565b8082600001600082825461127f9190611f31565b90915550505050565b600061129483836117dd565b9392505050565b60006112a6846109de565b90506112b4836108d4610d8f565b6112c25783836108ed610d8f565b60058101546000906112de9084906001600160401b0316611f31565b90508042108015611379575060016113547f6163636f756e744f76657272696465576974686472617754696d656f75740000876040516020016113349291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012063bbf81e00611288565b600584015461136c91906001600160401b0316611f31565b6113769190611f05565b42105b80156113f6575060016113d17f73656e6465724f76657272696465576974686472617754696d656f75740000006113ae610d8f565b6040516020016113349291909182526001600160a01b0316602082015260400190565b60058401546113e991906001600160401b0316611f31565b6113f39190611f05565b42105b1561142c576040516321dfa5af60e21b81526001600160801b0386166004820152426024820152604481018290526064016101f6565b509392505050565b8154811115611463578154604051635af5842d60e11b81526004810191909152602481018290526044016101f6565b8082600001600082825461127f9190611f05565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a0823190602401602060405180830381865afa1580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112949190611f18565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291516000928392908716916115419190611f9f565b6000604051808303816000865af19150503d806000811461157e576040519150601f19603f3d011682016040523d82523d6000602084013e611583565b606091505b50915091508115806115b157508051158015906115b15750808060200190518101906115af9190611fce565b155b156115e757604051633210e1d960e01b81523060048201526001600160a01b0385166024820152604481018490526064016101f6565b5050505050565b82546000906001600160a01b038381169116148061161a575061161a846420a226a4a760d91b84611830565b806110835750611083848484611830565b6001600160a01b0381166000908152600683016020526040812081906001908101905b61165782611875565b81116116bc57600061166c610fca848461187f565b9050600061167982611891565b88549091506000906116979083908a906001600160801b03166118e8565b5090506116a48187611f31565b955050505080806116b490611f70565b91505061164e565b5090949350505050565b6000806116d242611750565b90506000805b600385015481101561142c5760008560030182815481106116fb576116fb611f5a565b600091825260209091200180549091506001600160401b03808616600160801b90920416111561173d57805461173a906001600160801b031684611f31565b92505b508061174881611f70565b9150506116d8565b60006001600160401b038211156109da576040516372b1c34f60e01b815260040160405180910390fd5b60008061178684611949565b6001810154909150610100900460ff16156117a5576000915050610593565b600181015460ff1680611261575061126160028201846001600160a01b03811660009081526001830160205260408120541515611294565b6040805160208082018390526006606083015265436f6e66696760d01b6080808401919091528284018690528351808403909101815260a090920190925280519101208054908161126457509092915050565b60006001600160a01b0382161580159061108357506001600160a01b038216600090815260018581016020908152604080842087855290920190529020541515611083565b6000610593825490565b600061129461188e84846119a2565b90565b60008082604051602001610a3591906040808252601b908201527f696f2e73796e7468657469782e73796e7468657469782e506f6f6c000000000060608201526001600160801b0391909116602082015260800190565b6001600160a01b03821660009081526008840160205260408120819061190e9084611a07565b9150600080611926846119208861108b565b90611a23565b9150915061193381611bb7565b61193d8285611bc7565b92505050935093915050565b6040805160208101829052602560608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e46656174757260808201526465466c616760d81b60a0820152908101829052600090819060c001610a35565b60008115806119b15750825482115b156119cf5760405163eb9bc44760e01b815260040160405180910390fd5b60006119dc600184611f05565b90508360000181815481106119f3576119f3611f5a565b906000526020600020015491505092915050565b8154600090815260038301602052604081206112949083611be6565b600060606000611a31611bfe565b6040805160208101825291546001600160a01b03168252805160018082528183019092529192506000919081602001602082028036833750506040805160018082528183019092529293506000929150602080830190803683370190505090506373697a6560e01b82600081518110611aac57611aac611f5a565b6020026020010181815250508560001b81600081518110611acf57611acf611f5a565b60209081029190910101528251600480890154604051636d51285f60e11b81526001600160a01b039093169263daa250be92611b10929187918791016121af565b608060405180830381865afa925050508015611b49575060408051601f3d908101601f19168201909252611b46918101906121e4565b60015b611b8c573d808015611b77576040519150601f19603f3d011682016040523d82523d6000602084013e611b7c565b606091505b50600095509350611bb092505050565b8051611b9790611c6d565b6040518060200160405280600081525095509550505050505b9250929050565b805115610d1257610d1281611c90565b6000670de0b6b3a7640000611bdc8385611ff0565b611294919061201d565b6000611294600384016001600160801b038416611cbb565b600080604051602001611c4f9060208082526024908201527f696f2e73796e7468657469782e73796e7468657469782e4f7261636c654d616e60408201526330b3b2b960e11b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b6000808212156109da5760405163029f024d60e31b815260040160405180910390fd5b80516000819003611cb45760405163123b260360e01b815260040160405180910390fd5b8060208301fd5b81546000906001600160801b0316808203611cda576000915050610593565b80611ce485611cff565b60008581526001870160205260409020546112579190611ff0565b80546000906b033b2e3c9fd0803ce8000000906001600160801b03811690611d3b90611d36908490600160801b9004600f0b612257565b611c6d565b611d459190611ff0565b610593919061201d565b80356001600160801b0381168114611d6657600080fd5b919050565b80356001600160a01b0381168114611d6657600080fd5b60008060008060808587031215611d9857600080fd5b611da185611d4f565b9350611daf60208601611d6b565b92506040850135915060608501356001600160401b0381168114611dd257600080fd5b939692955090935050565b60008060008060808587031215611df357600080fd5b611dfc85611d4f565b9350611e0a60208601611d6b565b93969395505050506040820135916060013590565b600080600060608486031215611e3457600080fd5b611e3d84611d4f565b9250611e4b60208501611d6b565b9150604084013590509250925092565b60008060408385031215611e6e57600080fd5b611e7783611d4f565b9150611e8560208401611d6b565b90509250929050565b602080825282518282018190526000919060409081850190868401855b82811015611ee257815180516001600160801b031685528601516001600160401b0316868501529284019290850190600101611eab565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561059357610593611eef565b600060208284031215611f2a57600080fd5b5051919050565b8082018082111561059357610593611eef565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611f8257611f82611eef565b5060010190565b634e487b7160e01b600052603160045260246000fd5b6000825160005b81811015611fc05760208186018101518583015201611fa6565b506000920191825250919050565b600060208284031215611fe057600080fd5b8151801515811461129457600080fd5b808202811582820484141761059357610593611eef565b634e487b7160e01b600052601260045260246000fd5b60008261202c5761202c612007565b500490565b60006020828403121561204357600080fd5b815160ff8116811461129457600080fd5b600181815b8085111561208f57816000190482111561207557612075611eef565b8085161561208257918102915b93841c9390800290612059565b509250929050565b6000826120a657506001610593565b816120b357506000610593565b81600181146120c957600281146120d3576120ef565b6001915050610593565b60ff8411156120e4576120e4611eef565b50506001821b610593565b5060208310610133831016604e8410600b8410161715612112575081810a610593565b61211c8383612054565b806000190482111561213057612130611eef565b029392505050565b600061129460ff841683612097565b60ff828116828216039081111561059357610593611eef565b60008261216f5761216f612007565b500690565b600081518084526020808501945080840160005b838110156121a457815187529582019590820190600101612188565b509495945050505050565b8381526060602082015260006121c86060830185612174565b82810360408401526121da8185612174565b9695505050505050565b6000608082840312156121f657600080fd5b604051608081018181106001600160401b038211171561222657634e487b7160e01b600052604160045260246000fd5b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b808201828112600083128015821682158216171561227757612277611eef565b50509291505056fea264697066735822122015e0c43f4901cce9cabd2f89035a96b487e3cb300803d6d60b54ff3d40f142ee64736f6c63430008110033