0 txs
24.1k calls
constructor
constructor(address factory)
functions
ACCOUNT_VERSION
viewfunction ACCOUNT_VERSION() view returns (uint256)
approvedCreditor
viewfunction approvedCreditor(address) view returns (address)
COOL_DOWN_PERIOD
viewfunction COOL_DOWN_PERIOD() view returns (uint256)
creditor
viewfunction creditor() view returns (address)
erc1155Balances
viewfunction erc1155Balances(address, uint256) view returns (uint256)
erc20Balances
viewfunction erc20Balances(address) view returns (uint256)
FACTORY
viewfunction FACTORY() view returns (address)
inAuction
viewfunction inAuction() view returns (bool)
isAssetManager
viewfunction isAssetManager(address, address) view returns (bool)
lastActionTimestamp
viewfunction lastActionTimestamp() view returns (uint32)
liquidator
viewfunction liquidator() view returns (address)
minimumMargin
viewfunction minimumMargin() view returns (uint96)
numeraire
viewfunction numeraire() view returns (address)
onERC1155Received
purefunction onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4)
onERC721Received
purefunction onERC721Received(address, address, uint256, bytes) pure returns (bytes4)
owner
viewfunction owner() view returns (address)
registry
viewfunction registry() view returns (address)
deposit
payablefunction deposit(address[] assetAddresses, uint256[] assetIds, uint256[] assetAmounts, uint256[] assetTypes) payable
flashAction
payablefunction flashAction(address actionTarget, bytes actionData) payable
initialize
nonpayablefunction initialize(address owner_, address registry_, address)
setAssetManager
nonpayablefunction setAssetManager(address assetManager, bool value)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeAccount
nonpayablefunction upgradeAccount(address newImplementation, address newRegistry, uint256, bytes data)
upgradeHook
nonpayablefunction upgradeHook(address, address, uint256, bytes)
withdraw
nonpayablefunction withdraw(address[] assetAddresses, uint256[] assetIds, uint256[] assetAmounts, uint256[] assetTypes)
events
AssetManagerSet
event AssetManagerSet(address indexed owner, address indexed assetManager, bool value)
errors
CoolDownPeriodNotPassed
error CoolDownPeriodNotPassed()
InvalidRegistry
error InvalidRegistry()
InvalidUpgrade
error InvalidUpgrade()
NoFallback
error NoFallback()
NoReentry
error NoReentry()
OnlyFactory
error OnlyFactory()
OnlyOwner
error OnlyOwner()
OnlySelf
error OnlySelf()
UnknownAssetType
error UnknownAssetType()
creation bytecode
0x60c06040526e22d473030f116ddee9f6b43ac78ba360a052348015610022575f80fd5b50604051620023b6380380620023b683398101604081905261004391610066565b600280546001600160a01b031916331790556001600160a01b0316608052610093565b5f60208284031215610076575f80fd5b81516001600160a01b038116811461008c575f80fd5b9392505050565b60805160a0516122ec620000ca5f395f6113b701525f81816102e90152818161093d01528181610b220152610ccc01526122ec5ff3fe608060405260043610610169575f3560e01c806387bbaeb6116100d0578063c0c53b8b11610089578063e36db78511610063578063e36db785146104dc578063eac697c9146104fb578063f23a6e6114610531578063f2fde38b1461055d57610170565b8063c0c53b8b1461047f578063ce9f2abd1461049e578063d80359f1146104bd57610170565b806387bbaeb6146103d65780638da5cb5b146103ee57806395bd34b81461040d578063a059b29714610420578063adb33ab614610435578063bc68c6761461046b57610170565b80632c3c7173116101225780632c3c7173146102b95780632dd31000146102d85780634046ebae1461030b57806347cf6c9e1461033357806371a84c71146103675780637b103999146103b057610170565b806304dababe1461019557806305c0608c146101b65780630b9252f0146101f2578063150b7a021461020557806321ab889d146102495780632723ae1f1461028257610170565b3661017057005b34801561017b575f80fd5b5060405163b25befbf60e01b815260040160405180910390fd5b3480156101a0575f80fd5b506101b46101af3660046117c3565b61057c565b005b3480156101c1575f80fd5b506001546101d5906001600160601b031681565b6040516001600160601b0390911681526020015b60405180910390f35b6101b4610200366004611830565b610750565b348015610210575f80fd5b5061023061021f3660046117c3565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016101e9565b348015610254575f80fd5b50610274610263366004611880565b600a6020525f908152604090205481565b6040519081526020016101e9565b34801561028d575f80fd5b506004546102a1906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b3480156102c4575f80fd5b506101b46102d33660046117c3565b610932565b3480156102e3575f80fd5b506102a17f000000000000000000000000000000000000000000000000000000000000000081565b348015610316575f80fd5b505f546102a190660100000000000090046001600160a01b031681565b34801561033e575f80fd5b506102a161034d366004611880565b600c6020525f90815260409020546001600160a01b031681565b348015610372575f80fd5b506103a06103813660046118a2565b600d60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016101e9565b3480156103bb575f80fd5b506001546102a190600160601b90046001600160a01b031681565b3480156103e1575f80fd5b505f546103a09060ff1681565b3480156103f9575f80fd5b506002546102a1906001600160a01b031681565b6101b461041b366004611a7c565b610a92565b34801561042b575f80fd5b5061027461012c81565b348015610440575f80fd5b5061027461044f366004611b21565b600b60209081525f928352604080842090915290825290205481565b348015610476575f80fd5b50610274600281565b34801561048a575f80fd5b506101b4610499366004611b4b565b610b17565b3480156104a9575f80fd5b506101b46104b8366004611a7c565b610bd2565b3480156104c8575f80fd5b506101b46104d7366004611b93565b610c56565b3480156104e7575f80fd5b506003546102a1906001600160a01b031681565b348015610506575f80fd5b505f5461051c9062010000900463ffffffff1681565b60405163ffffffff90911681526020016101e9565b34801561053c575f80fd5b5061023061054b366004611bc3565b63f23a6e6160e01b9695505050505050565b348015610568575f80fd5b506101b4610577366004611880565b610cc1565b33301461059c5760405163029a949d60e31b815260040160405180910390fd5b600154600160601b90046001600160a01b03166105cc576040516311a1e69760e01b815260040160405180910390fd5b6003546001600160a01b03161515806105e657505f5460ff165b156106045760405163012fa17760e61b815260040160405180910390fd5b5f80546601000000000000600160d01b0319168155600180546bffffffffffffffffffffffff19169055600480546001600160a01b0319169055600554905b8181101561068d57600a5f6005838154811061066157610661611c39565b5f9182526020808320909101546001600160a01b03168352820192909252604001812055600101610643565b5061069960055f611735565b6106a460065f611735565b6106af60085f611735565b6007545f5b8181101561073057600b5f600783815481106106d2576106d2611c39565b5f9182526020808320909101546001600160a01b031683528201929092526040018120600980549192918490811061070c5761070c611c39565b905f5260205f20015481526020019081526020015f205f90558060010190506106b4565b5061073c60075f611735565b61074760095f611735565b50505050505050565b6002546001600160a01b031633148061078d57506002546001600160a01b03165f908152600d6020908152604080832033845290915290205460ff165b6107d65760405162461bcd60e51b8152602060048201526015602482015274209d1027b7363c9020b9b9b2ba1026b0b730b3b2b960591b60448201526064015b60405180910390fd5b5f5460ff610100909104166001146108015760405163f464177760e01b815260040160405180910390fd5b5f805463ffffffff4216620100000265ffffffffff0019909116176102001781558080808061083286880188611e41565b94509450945094509450610858855f01518660200151876040015188606001518c610d66565b8351511561086a5761086a8489611066565b5f825111801561087b575082515115155b1561088b5761088b83838a6112bc565b60405163a129568d60e01b81525f906001600160a01b038a169063a129568d906108b9908590600401611f4c565b5f604051808303815f875af11580156108d4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108fb919081019061201f565b9050610919815f01518260200151836040015184606001518d611428565b50505f805461ff00191661010017905550505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461097b57604051630636a15760e11b815260040160405180910390fd5b5f5460ff610100909104166001146109a65760405163f464177760e01b815260040160405180910390fd5b5f805463ffffffff4216620100000265ffffffffff0019909116176102001781557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b038881166001600160a01b031983161790925560018054888416600160601b026001600160601b0390911617905560405163026d5d5f60e11b815291169160029130916304dababe91610a4e91869186908a908a906004016120ef565b5f604051808303815f87803b158015610a65575f80fd5b505af1158015610a77573d5f803e3d5ffd5b50505f805461ff001916610100179055505050505050505050565b6002546001600160a01b03163314610abd57604051635fc483c560e01b815260040160405180910390fd5b5f5460ff61010090910416600114610ae85760405163f464177760e01b815260040160405180910390fd5b5f805461ff001916610200179055610b038484848433611428565b50505f805461ff0019166101001790555050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b6057604051630636a15760e11b815260040160405180910390fd5b6001600160a01b038216610b87576040516311a1e69760e01b815260040160405180910390fd5b50600280546001600160a01b039384166001600160a01b03199091161790556001805491909216600160601b026001600160601b039091161790555f805461ff001916610100179055565b6002546001600160a01b03163314610bfd57604051635fc483c560e01b815260040160405180910390fd5b5f5460ff61010090910416600114610c285760405163f464177760e01b815260040160405180910390fd5b5f805463ffffffff4216620100000265ffffffffff001990911617610200179055610b038484848433610d66565b335f818152600d602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f8e88e5512acfbeb8b54f789484f9625bced0405b0d3bc16df01bc28421e5f8c1910160405180910390a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0a57604051630636a15760e11b815260040160405180910390fd5b5f54610d259061012c9062010000900463ffffffff16612141565b4211610d445760405163036a87d960e21b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f5b855181101561105e57838181518110610d8357610d83611c39565b60200260200101515f0315611056575f6001600160a01b0316868281518110610dae57610dae611c39565b60200260200101516001600160a01b031603610e59575f80836001600160a01b0316868481518110610de257610de2611c39565b60200260200101516040515f6040518083038185875af1925050503d805f8114610e27576040519150601f19603f3d011682016040523d82523d5f602084013e610e2c565b606091505b5091509150818190610e515760405162461bcd60e51b81526004016107cd9190611f4c565b505050611056565b828181518110610e6b57610e6b611c39565b6020026020010151600103610ecf57610eca82858381518110610e9057610e90611c39565b6020026020010151888481518110610eaa57610eaa611c39565b60200260200101516001600160a01b03166116219092919063ffffffff16565b611056565b828181518110610ee157610ee1611c39565b6020026020010151600203610f9f57858181518110610f0257610f02611c39565b60200260200101516001600160a01b03166342842e0e3084888581518110610f2c57610f2c611c39565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015b5f604051808303815f87803b158015610f84575f80fd5b505af1158015610f96573d5f803e3d5ffd5b50505050611056565b828181518110610fb157610fb1611c39565b602002602001015160030361103d57858181518110610fd257610fd2611c39565b60200260200101516001600160a01b031663f242432a3084888581518110610ffc57610ffc611c39565b602002602001015188868151811061101657611016611c39565b60200260200101516040518563ffffffff1660e01b8152600401610f6d9493929190612166565b60405163b8bcee3f60e01b815260040160405180910390fd5b600101610d68565b505050505050565b8151516002546001600160a01b03165f5b828110156112b5578460400151818151811061109557611095611c39565b60200260200101515f03156112ad57846060015181815181106110ba576110ba611c39565b6020026020010151600103611127576111228285876040015184815181106110e4576110e4611c39565b6020026020010151885f0151858151811061110157611101611c39565b60200260200101516001600160a01b03166116a4909392919063ffffffff16565b6112ad565b8460600151818151811061113d5761113d611c39565b602002602001015160020361120157845180518290811061116057611160611c39565b60200260200101516001600160a01b03166342842e0e83868860200151858151811061118e5761118e611c39565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015b5f604051808303815f87803b1580156111e6575f80fd5b505af11580156111f8573d5f803e3d5ffd5b505050506112ad565b8460600151818151811061121757611217611c39565b602002602001015160030361103d57845180518290811061123a5761123a611c39565b60200260200101516001600160a01b031663f242432a83868860200151858151811061126857611268611c39565b60200260200101518960400151868151811061128657611286611c39565b60200260200101516040518563ffffffff1660e01b81526004016111cf9493929190612166565b600101611077565b5050505050565b8251515f816001600160401b038111156112d8576112d86118d9565b60405190808252806020026020018201604052801561131c57816020015b604080518082019091525f80825260208201528152602001906001900390816112f65790505b5090505f5b8281101561139c578382828151811061133c5761133c611c39565b60209081029190910101516001600160a01b039091169052855180518290811061136857611368611c39565b60200260200101516020015182828151811061138657611386611c39565b6020908102919091018101510152600101611321565b5060025460405163edd9444b60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263edd9444b926113f4928a9287929116908a906004016121f4565b5f604051808303815f87803b15801561140b575f80fd5b505af115801561141d573d5f803e3d5ffd5b505050505050505050565b5f5b855181101561105e5783818151811061144557611445611c39565b60200260200101515f03156116195782818151811061146657611466611c39565b60200260200101516001036114ab576114a6823086848151811061148c5761148c611c39565b602002602001015189858151811061110157611101611c39565b611619565b8281815181106114bd576114bd611c39565b602002602001015160020361157b578581815181106114de576114de611c39565b60200260200101516001600160a01b03166342842e0e833088858151811061150857611508611c39565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015b5f604051808303815f87803b158015611560575f80fd5b505af1158015611572573d5f803e3d5ffd5b50505050611619565b82818151811061158d5761158d611c39565b602002602001015160030361103d578581815181106115ae576115ae611c39565b60200260200101516001600160a01b031663f242432a83308885815181106115d8576115d8611c39565b60200260200101518886815181106115f2576115f2611c39565b60200260200101516040518563ffffffff1660e01b81526004016115499493929190612166565b60010161142a565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f51141617169150508061169e5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064016107cd565b50505050565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f5114161716915050806112b55760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b60448201526064016107cd565b5080545f8255905f5260205f20908101906117509190611753565b50565b5b80821115611767575f8155600101611754565b5090565b6001600160a01b0381168114611750575f80fd5b5f8083601f84011261178f575f80fd5b5081356001600160401b038111156117a5575f80fd5b6020830191508360208285010111156117bc575f80fd5b9250929050565b5f805f805f608086880312156117d7575f80fd5b85356117e28161176b565b945060208601356117f28161176b565b93506040860135925060608601356001600160401b03811115611813575f80fd5b61181f8882890161177f565b969995985093965092949392505050565b5f805f60408486031215611842575f80fd5b833561184d8161176b565b925060208401356001600160401b03811115611867575f80fd5b6118738682870161177f565b9497909650939450505050565b5f60208284031215611890575f80fd5b813561189b8161176b565b9392505050565b5f80604083850312156118b3575f80fd5b82356118be8161176b565b915060208301356118ce8161176b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171561190f5761190f6118d9565b60405290565b604051606081016001600160401b038111828210171561190f5761190f6118d9565b604080519081016001600160401b038111828210171561190f5761190f6118d9565b604051601f8201601f191681016001600160401b0381118282101715611981576119816118d9565b604052919050565b5f6001600160401b038211156119a1576119a16118d9565b5060051b60200190565b5f82601f8301126119ba575f80fd5b813560206119cf6119ca83611989565b611959565b8083825260208201915060208460051b8701019350868411156119f0575f80fd5b602086015b84811015611a15578035611a088161176b565b83529183019183016119f5565b509695505050505050565b5f82601f830112611a2f575f80fd5b81356020611a3f6119ca83611989565b8083825260208201915060208460051b870101935086841115611a60575f80fd5b602086015b84811015611a155780358352918301918301611a65565b5f805f8060808587031215611a8f575f80fd5b84356001600160401b0380821115611aa5575f80fd5b611ab1888389016119ab565b95506020870135915080821115611ac6575f80fd5b611ad288838901611a20565b94506040870135915080821115611ae7575f80fd5b611af388838901611a20565b93506060870135915080821115611b08575f80fd5b50611b1587828801611a20565b91505092959194509250565b5f8060408385031215611b32575f80fd5b8235611b3d8161176b565b946020939093013593505050565b5f805f60608486031215611b5d575f80fd5b8335611b688161176b565b92506020840135611b788161176b565b91506040840135611b888161176b565b809150509250925092565b5f8060408385031215611ba4575f80fd5b8235611baf8161176b565b9150602083013580151581146118ce575f80fd5b5f805f805f8060a08789031215611bd8575f80fd5b8635611be38161176b565b95506020870135611bf38161176b565b9450604087013593506060870135925060808701356001600160401b03811115611c1b575f80fd5b611c2789828a0161177f565b979a9699509497509295939492505050565b634e487b7160e01b5f52603260045260245ffd5b5f60808284031215611c5d575f80fd5b611c656118ed565b905081356001600160401b0380821115611c7d575f80fd5b611c89858386016119ab565b83526020840135915080821115611c9e575f80fd5b611caa85838601611a20565b60208401526040840135915080821115611cc2575f80fd5b611cce85838601611a20565b60408401526060840135915080821115611ce6575f80fd5b50611cf384828501611a20565b60608301525092915050565b5f60608284031215611d0f575f80fd5b611d17611915565b905081356001600160401b03811115611d2e575f80fd5b8201601f81018413611d3e575f80fd5b80356020611d4e6119ca83611989565b82815260069290921b83018101918181019087841115611d6c575f80fd5b938201935b83851015611db65760408589031215611d88575f80fd5b611d90611937565b8535611d9b8161176b565b81528584013584820152825260409094019390820190611d71565b808652505080850135818501525050506040820135604082015292915050565b5f82601f830112611de5575f80fd5b81356001600160401b03811115611dfe57611dfe6118d9565b611e11601f8201601f1916602001611959565b818152846020838601011115611e25575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215611e55575f80fd5b85356001600160401b0380821115611e6b575f80fd5b611e7789838a01611c4d565b96506020880135915080821115611e8c575f80fd5b611e9889838a01611c4d565b95506040880135915080821115611ead575f80fd5b611eb989838a01611cff565b94506060880135915080821115611ece575f80fd5b611eda89838a01611dd6565b93506080880135915080821115611eef575f80fd5b50611efc88828901611dd6565b9150509295509295909350565b5f81518084525f5b81811015611f2d57602081850181015186830182015201611f11565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61189b6020830184611f09565b5f82601f830112611f6d575f80fd5b81516020611f7d6119ca83611989565b8083825260208201915060208460051b870101935086841115611f9e575f80fd5b602086015b84811015611a15578051611fb68161176b565b8352918301918301611fa3565b5f82601f830112611fd2575f80fd5b81516020611fe26119ca83611989565b8083825260208201915060208460051b870101935086841115612003575f80fd5b602086015b84811015611a155780518352918301918301612008565b5f6020828403121561202f575f80fd5b81516001600160401b0380821115612045575f80fd5b9083019060808286031215612058575f80fd5b6120606118ed565b82518281111561206e575f80fd5b61207a87828601611f5e565b82525060208301518281111561208e575f80fd5b61209a87828601611fc3565b6020830152506040830151828111156120b1575f80fd5b6120bd87828601611fc3565b6040830152506060830151828111156120d4575f80fd5b6120e087828601611fc3565b60608301525095945050505050565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290525f828460a08401375f60a0848401015260a0601f19601f85011683010190509695505050505050565b8082018082111561216057634e487b7160e01b5f52601160045260245ffd5b92915050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260a0608082018190525f9082015260c00190565b5f815180845260208085019450602084015f5b838110156121e9576121d687835180516001600160a01b03168252602090810151910152565b60409690960195908201906001016121b0565b509495945050505050565b608081525f60e0820186516060608085015281815180845261010086019150602093506020830192505f5b818110156122585761224583855180516001600160a01b03168252602090810151910152565b928401926040929092019160010161221f565b5050602089015160a0860152604089015160c08601528481036020860152612280818961219d565b9250505061229960408401866001600160a01b03169052565b82810360608401526122ab8185611f09565b97965050505050505056fea26469706673582212207adaf18697bf1acf151dfdabe2969879984de3c39eb9a1db450bef60daf1aff964736f6c63430008160033000000000000000000000000da14fdd72345c4d2511357214c5b89a919768e59