358 txs
172.1k calls
constructor
constructor(address superRegistry_)
functions
CHAIN_ID
viewfunction CHAIN_ID() view returns (uint64)
formImplementation
viewfunction formImplementation(uint32 formImplementationId) view returns (address formImplementationAddress)
formImplementationIds
viewfunction formImplementationIds(address formImplementationAddress) view returns (uint32 formImplementationId)
formImplementationPaused
viewfunction formImplementationPaused(uint32 formImplementationId) view returns (uint8)
formImplementations
viewfunction formImplementations(uint256) view returns (address)
formStateRegistryId
viewfunction formStateRegistryId(uint32 formImplementationId) view returns (uint8 formRegistryId)
getAllSuperformsFromVault
viewfunction getAllSuperformsFromVault(address vault_) view returns (uint256[] superformIds_, address[] superforms_)
getFormCount
viewfunction getFormCount() view returns (uint256 forms_)
getFormImplementation
viewfunction getFormImplementation(uint32 formImplementationId_) view returns (address)
getFormStateRegistryId
viewfunction getFormStateRegistryId(uint32 formImplementationId_) view returns (uint8 formStateRegistryId_)
getSuperform
purefunction getSuperform(uint256 superformId_) pure returns (address superform_, uint32 formImplementationId_, uint64 chainId_)
getSuperformCount
viewfunction getSuperformCount() view returns (uint256 superforms_)
isFormImplementationPaused
viewfunction isFormImplementationPaused(uint32 formImplementationId_) view returns (bool)
isSuperform
viewfunction isSuperform(uint256 superformId) view returns (bool superformIdExists)
superforms
viewfunction superforms(uint256) view returns (uint256)
superRegistry
viewfunction superRegistry() view returns (address)
vaultFormImplCombinationToSuperforms
viewfunction vaultFormImplCombinationToSuperforms(bytes32 vaultFormImplementationCombination) view returns (uint256 superformIds)
vaultToFormImplementationId
viewfunction vaultToFormImplementationId(address vault, uint256) view returns (uint256 formImplementationId)
vaultToSuperforms
viewfunction vaultToSuperforms(address vault, uint256) view returns (uint256 superformIds)
xChainPayloadCounter
viewfunction xChainPayloadCounter() view returns (uint256)
addFormImplementation
nonpayablefunction addFormImplementation(address formImplementation_, uint32 formImplementationId_, uint8 formStateRegistryId_)
changeFormImplementationPauseStatus
payablefunction changeFormImplementationPauseStatus(uint32 formImplementationId_, uint8 status_, bytes extraData_) payable
createSuperform
nonpayablefunction createSuperform(uint32 formImplementationId_, address vault_) returns (uint256 superformId_, address superform_)
stateSyncBroadcast
payablefunction stateSyncBroadcast(bytes data_) payable
events
FormImplementationAdded
event FormImplementationAdded(address indexed formImplementation, uint256 indexed formImplementationId, uint8 indexed formStateRegistryId)
FormImplementationPaused
event FormImplementationPaused(uint256 indexed formImplementationId, uint8 indexed paused)
SuperformCreated
event SuperformCreated(uint256 indexed formImplementationId, address indexed vault, uint256 indexed superformId, address superform)
SuperRegistrySet
event SuperRegistrySet(address indexed superRegistry)
errors
BLOCK_CHAIN_ID_OUT_OF_BOUNDS
error BLOCK_CHAIN_ID_OUT_OF_BOUNDS()
ERC1167FailedCreateClone
error ERC1167FailedCreateClone()
ERC165_UNSUPPORTED
error ERC165_UNSUPPORTED()
FAILED_TO_SEND_NATIVE
error FAILED_TO_SEND_NATIVE()
FORM_DOES_NOT_EXIST
error FORM_DOES_NOT_EXIST()
FORM_IMPLEMENTATION_ALREADY_EXISTS
error FORM_IMPLEMENTATION_ALREADY_EXISTS()
FORM_IMPLEMENTATION_ID_ALREADY_EXISTS
error FORM_IMPLEMENTATION_ID_ALREADY_EXISTS()
FORM_INTERFACE_UNSUPPORTED
error FORM_INTERFACE_UNSUPPORTED()
INVALID_BROADCAST_FEE
error INVALID_BROADCAST_FEE()
INVALID_CHAIN_ID
error INVALID_CHAIN_ID()
INVALID_FORM_ID
error INVALID_FORM_ID()
INVALID_FORM_REGISTRY_ID
error INVALID_FORM_REGISTRY_ID()
MSG_VALUE_NOT_ZERO
error MSG_VALUE_NOT_ZERO()
NOT_BROADCAST_REGISTRY
error NOT_BROADCAST_REGISTRY()
NOT_EMERGENCY_ADMIN
error NOT_EMERGENCY_ADMIN()
NOT_PROTOCOL_ADMIN
error NOT_PROTOCOL_ADMIN()
VAULT_FORM_IMPLEMENTATION_COMBINATION_EXISTS
error VAULT_FORM_IMPLEMENTATION_COMBINATION_EXISTS()
ZERO_ADDRESS
error ZERO_ADDRESS()
creation bytecode
0x60c06040523480156200001157600080fd5b5060405162002034380380620020348339810160408190526200003491620000a4565b6001600160a01b0381166200005c5760405163538ba4f960e01b815260040160405180910390fd5b6001600160401b034611156200008557604051637ecdf93360e01b815260040160405180910390fd5b6001600160401b03461660a0526001600160a01b0316608052620000d6565b600060208284031215620000b757600080fd5b81516001600160a01b0381168114620000cf57600080fd5b9392505050565b60805160a051611ef96200013b600039600081816103d4015281816108d90152818161102501526111b50152600081816101f1015281816107020152818161096c01528181610a1401528181610b4f015281816110af01526113280152611ef96000f3fe60806040526004361061014b5760003560e01c806380e8586b116100b6578063bb3808cc1161006f578063bb3808cc146104ab578063c4d6e6b2146104e7578063dfd6e4ab14610524578063e6ddad4c14610544578063e83310a214610557578063edf387c51461058d57600080fd5b806380e8586b1461037a57806385e1f4d0146103c25780638de833a91461040e5780639e0668381461042e578063b5c756971461044e578063b85225bb1461047e57600080fd5b8063479f3b8711610108578063479f3b871461026057806352fc069e14610280578063589434ca146102b2578063596db717146102c75780636fb86dd3146102f75780637239fe4f1461034a57600080fd5b80631547665d146101505780631bc089ed146101745780632085caec146101b157806324c73dda146101df5780632d75c56a1461022b5780633d2378f414610240575b600080fd5b34801561015c57600080fd5b506002545b6040519081526020015b60405180910390f35b34801561018057600080fd5b506101a461018f3660046117de565b60076020526000908152604090205460ff1681565b60405161016b9190611833565b3480156101bd57600080fd5b506101d16101cc366004611856565b6105a3565b60405161016b929190611873565b3480156101eb57600080fd5b506102137f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016b565b61023e6102393660046119c7565b6106cd565b005b34801561024c57600080fd5b5061023e61025b366004611a37565b610b1a565b34801561026c57600080fd5b5061016161027b366004611a82565b610e4a565b34801561028c57600080fd5b506102a061029b3660046117de565b610e6b565b60405160ff909116815260200161016b565b3480156102be57600080fd5b50600154610161565b3480156102d357600080fd5b506102e76102e23660046117de565b610eaa565b604051901515815260200161016b565b34801561030357600080fd5b50610317610312366004611a82565b610edf565b604080516001600160a01b03909416845263ffffffff90921660208401526001600160401b03169082015260600161016b565b34801561035657600080fd5b506102a06103653660046117de565b60066020526000908152604090205460ff1681565b34801561038657600080fd5b506103ad610395366004611856565b60056020526000908152604090205463ffffffff1681565b60405163ffffffff909116815260200161016b565b3480156103ce57600080fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161016b565b34801561041a57600080fd5b50610161610429366004611a9b565b610efa565b34801561043a57600080fd5b50610161610449366004611a9b565b610f2b565b34801561045a57600080fd5b506102e7610469366004611a82565b60036020526000908152604090205460ff1681565b34801561048a57600080fd5b50610161610499366004611a82565b600a6020526000908152604090205481565b3480156104b757600080fd5b506102136104c63660046117de565b63ffffffff166000908152600460205260409020546001600160a01b031690565b3480156104f357600080fd5b50610507610502366004611ac7565b610f47565b604080519283526001600160a01b0390911660208301520161016b565b34801561053057600080fd5b5061021361053f366004611a82565b6112c9565b61023e610552366004611b00565b6112f3565b34801561056357600080fd5b506102136105723660046117de565b6004602052600090815260409020546001600160a01b031681565b34801561059957600080fd5b5061016160005481565b60608060086000846001600160a01b03166001600160a01b0316815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561061557602002820191906000526020600020905b815481526020019060010190808311610601575b5050835193955083925050506001600160401b0381111561063857610638611904565b604051908082528060200260200182016040528015610661578160200160208202803683370190505b50915060005b818110156106c65761069184828151811061068457610684611b3c565b6020026020010151611420565b9050508382815181106106a6576106a6611b3c565b6001600160a01b0390921660209283029190910190910152600101610667565b5050915091565b6040516321f8a72160e01b81527f6b50fa17b77d24e42e27a04b69fe50cd6967cfb767d18de0bd5fe7e1a32aa86860048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906321f8a72190602401602060405180830381865afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190611b52565b6040516317a0e54b60e11b81523360048201526001600160a01b039190911690632f41ca9690602401602060405180830381865afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df9190611b6f565b6107fc5760405163222d861d60e11b815260040160405180910390fd5b63ffffffff83166000908152600460205260409020546001600160a01b0316610838576040516303e1b5a760e11b815260040160405180910390fd5b63ffffffff83166000908152600760205260409020805483919060ff191660018381811115610869576108696117fb565b0217905550805115610ab35760006040518060600160405280604051806040016040528060118152602001705355504552464f524d5f464143544f525960781b81525081526020017ff32750c6acdf0a869f9f19cdbb49fd915b2636c74468ee5682c8ecd3b65ab38b81526020017f0000000000000000000000000000000000000000000000000000000000000000600080815461090690611ba7565b918290555060405161092092919089908990602001611bc0565b60408051808303601f190181529181529152516321f8a72160e01b81527f86a7f6b88da6de42c331676d4da78508adfef4970dc8aa541004f26b6eef4ab96004820152909150610aad907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906321f8a72190602401602060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190611b52565b6040516321f8a72160e01b81527fbddfa8c39a1f6275bcfb3aa5c70638c466999edbf14e6162d81b3492caca9fce60048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906321f8a72190602401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a879190611b52565b83604051602001610a989190611c49565b60405160208183030381529060405285611454565b50610ad2565b3415610ad25760405163308f275d60e01b815260040160405180910390fd5b816001811115610ae457610ae46117fb565b60405163ffffffff8516907f1cb88bdf176e51fa7c40e8e4683e78b1792a2ce649cfae1f26fec314eebe536e90600090a3505050565b6040516321f8a72160e01b81527f6b50fa17b77d24e42e27a04b69fe50cd6967cfb767d18de0bd5fe7e1a32aa86860048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906321f8a72190602401602060405180830381865afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190611b52565b6040516369ac88f960e11b81523360048201526001600160a01b03919091169063d35911f290602401602060405180830381865afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611b6f565b610c4957604051633721555560e21b815260040160405180910390fd5b6001600160a01b038316610c705760405163538ba4f960e01b815260040160405180910390fd5b610c79836115a0565b610c9657604051631848783960e31b815260040160405180910390fd5b63ffffffff82166000908152600460205260409020546001600160a01b031615610cd35760405163deca71e360e01b815260040160405180910390fd5b6001600160a01b03831660009081526005602052604090205463ffffffff1615610d1057604051633ee1bf6960e11b815260040160405180910390fd5b610d21836351fef14760e01b6115d4565b610d3e576040516324ea76c760e01b815260040160405180910390fd5b63ffffffff8216600081815260046020908152604080832080546001600160a01b0319166001600160a01b038916908117909155835260059091528120805463ffffffff191690921790915560ff82169003610dad576040516326886d6760e01b815260040160405180910390fd5b63ffffffff8216600081815260066020526040808220805460ff191660ff86169081179091556001805480820182559084527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b03891690811790915591519093927f57e36bd8ee2840c13ad182923b129cd3b97186aa7ac714bfa5e59425fc22eeeb91a4505050565b60028181548110610e5a57600080fd5b600091825260209091200154905081565b63ffffffff811660009081526006602052604081205460ff1690819003610ea5576040516326886d6760e01b815260040160405180910390fd5b919050565b6000600163ffffffff831660009081526007602052604090205460ff166001811115610ed857610ed86117fb565b1492915050565b6000806000610eed84611420565b9196909550909350915050565b60086020528160005260406000208181548110610f1657600080fd5b90600052602060002001600091509150505481565b60096020528160005260406000208181548110610f1657600080fd5b6000806001600160a01b038316610f715760405163538ba4f960e01b815260040160405180910390fd5b63ffffffff84166000908152600460205260409020546001600160a01b031680610fae576040516344976fc160e11b815260040160405180910390fd5b604080516001600160a01b03808416602083015286169181019190915260009060600160408051601f1981840301815291815281516020928301206000818152600a9093529120549091501561101757604051630205e78560e51b815260040160405180910390fd5b604080516001600160401b037f000000000000000000000000000000000000000000000000000000000000000016602082015263ffffffff8816918101919091526001600160a01b038616606082015261109c9060800160405160208183030381529060405280519060200120836001600160a01b03166115f790919063ffffffff16565b9250826001600160a01b031663c0c53b8b7f000000000000000000000000000000000000000000000000000000000000000087886001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111319190611b52565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152606401600060405180830381600087803b15801561118257600080fd5b505af1158015611196573d6000803e3d6000fd5b505050506001600160a01b03831660a087901b63ffffffff60a01b16177f000000000000000000000000000000000000000000000000000000000000000060c01b6001600160c01b031916176001600160a01b03868116600081815260086020908152604080832080546001808201835591855283852001879055848452600983528184208054808301825590855283852063ffffffff8f169101819055888552600a8452828520889055600280548084019091557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace018890558785526003845293829020805460ff191690911790555193881684529397508793919290917ff40fe66c44bcbe514dc449b1c700989fe0ace6e4e6c48a118cc9b452c285c72b910160405180910390a450509250929050565b600181815481106112d957600080fd5b6000918252602090912001546001600160a01b0316905081565b6040516321f8a72160e01b81527f86a7f6b88da6de42c331676d4da78508adfef4970dc8aa541004f26b6eef4ab960048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906321f8a72190602401602060405180830381865afa158015611377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139b9190611b52565b6001600160a01b0316336001600160a01b0316146113cc5760405163b0acaf9d60e01b815260040160405180910390fd5b6000818060200190518101906113e29190611cd1565b90507ff32750c6acdf0a869f9f19cdbb49fd915b2636c74468ee5682c8ecd3b65ab38b81602001510361141c5761141c8160400151611665565b5050565b8060a081901c60c082901c600081900361144d5760405163030042b760e01b815260040160405180910390fd5b9193909250565b6000808280602001905181019061146b9190611d81565b91509150600080828060200190518101906114869190611dd1565b91509150813410156114ab57604051631961e86760e01b815260040160405180910390fd5b604051636319827b60e11b81526001600160a01b0389169063c63304f69084906114e1903390899084908d908990600401611e01565b6000604051808303818588803b1580156114fa57600080fd5b505af115801561150e573d6000803e3d6000fd5b5050505050813411156115965760006001600160a01b0388166115318434611e4f565b604051600081818185875af1925050503d806000811461156d576040519150601f19603f3d011682016040523d82523d6000602084013e611572565b606091505b50509050806115945760405163220d375360e01b815260040160405180910390fd5b505b5050505050505050565b60006115b3826301ffc9a760e01b61173f565b80156115ce57506115cc826001600160e01b031961173f565b155b92915050565b60006115df836115a0565b80156115f057506115f0838361173f565b9392505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166115ce576040516330be1a3d60e21b815260040160405180910390fd5b6000808280602001905181019061167c9190611e62565b63ffffffff821660009081526004602052604090205491955093506001600160a01b031691506116c19050576040516303e1b5a760e11b815260040160405180910390fd5b63ffffffff82166000908152600760205260409020805482919060ff1916600183818111156116f2576116f26117fb565b0217905550806001811115611709576117096117fb565b60405163ffffffff8416907f1cb88bdf176e51fa7c40e8e4683e78b1792a2ce649cfae1f26fec314eebe536e90600090a3505050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d915060005190508280156117b2575060208210155b80156117be5750600081115b979650505050505050565b63ffffffff811681146117db57600080fd5b50565b6000602082840312156117f057600080fd5b81356115f0816117c9565b634e487b7160e01b600052602160045260246000fd5b6002811061182f57634e487b7160e01b600052602160045260246000fd5b9052565b602081016115ce8284611811565b6001600160a01b03811681146117db57600080fd5b60006020828403121561186857600080fd5b81356115f081611841565b604080825283519082018190526000906020906060840190828701845b828110156118ac57815184529284019290840190600101611890565b5050508381038285015284518082528583019183019060005b818110156118ea5783516001600160a01b0316835292840192918401916001016118c5565b5090979650505050505050565b600281106117db57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561194257611942611904565b604052919050565b60006001600160401b0382111561196357611963611904565b50601f01601f191660200190565b600082601f83011261198257600080fd5b81356119956119908261194a565b61191a565b8181528460208386010111156119aa57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156119dc57600080fd5b83356119e7816117c9565b925060208401356119f7816118f7565b915060408401356001600160401b03811115611a1257600080fd5b611a1e86828701611971565b9150509250925092565b60ff811681146117db57600080fd5b600080600060608486031215611a4c57600080fd5b8335611a5781611841565b92506020840135611a67816117c9565b91506040840135611a7781611a28565b809150509250925092565b600060208284031215611a9457600080fd5b5035919050565b60008060408385031215611aae57600080fd5b8235611ab981611841565b946020939093013593505050565b60008060408385031215611ada57600080fd5b8235611ae5816117c9565b91506020830135611af581611841565b809150509250929050565b600060208284031215611b1257600080fd5b81356001600160401b03811115611b2857600080fd5b611b3484828501611971565b949350505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b6457600080fd5b81516115f081611841565b600060208284031215611b8157600080fd5b815180151581146115f057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611bb957611bb9611b91565b5060010190565b6001600160401b03851681526020810184905263ffffffff8316604082015260808101611bf06060830184611811565b95945050505050565b60005b83811015611c14578181015183820152602001611bfc565b50506000910152565b60008151808452611c35816020860160208601611bf9565b601f01601f19169290920160200192915050565b602081526000825160606020840152611c656080840182611c1d565b9050602084015160408401526040840151601f19848303016060850152611bf08282611c1d565b600082601f830112611c9d57600080fd5b8151611cab6119908261194a565b818152846020838601011115611cc057600080fd5b611b34826020830160208701611bf9565b600060208284031215611ce357600080fd5b81516001600160401b0380821115611cfa57600080fd5b9083019060608286031215611d0e57600080fd5b604051606081018181108382111715611d2957611d29611904565b604052825182811115611d3b57600080fd5b611d4787828601611c8c565b82525060208301516020820152604083015182811115611d6657600080fd5b611d7287828601611c8c565b60408301525095945050505050565b60008060408385031215611d9457600080fd5b8251611d9f81611a28565b60208401519092506001600160401b03811115611dbb57600080fd5b611dc785828601611c8c565b9150509250929050565b60008060408385031215611de457600080fd5b8251915060208301516001600160401b03811115611dbb57600080fd5b60018060a01b038616815260ff8516602082015283604082015260a060608201526000611e3160a0830185611c1d565b8281036080840152611e438185611c1d565b98975050505050505050565b818103818111156115ce576115ce611b91565b60008060008060808587031215611e7857600080fd5b84516001600160401b0381168114611e8f57600080fd5b602086015160408701519195509350611ea7816117c9565b6060860151909250611eb8816118f7565b93969295509093505056fea2646970667358221220ad9da98eb5e7f8056ab81f7b1fad4a9d6b8f7793237ae8de7065d58e6887f6c564736f6c6343000817003300000000000000000000000017a332dc7b40ae701485023b219e9d6f493a2514