36 txs
93 calls
constructor
constructor(address _validator, address _checkpointHook, bytes32 _attesterControllerId, address _firewallAccess)
functions
getAttesterControllerId
viewfunction getAttesterControllerId() view returns (bytes32)
getCheckpoint
viewfunction getCheckpoint(bytes4 selector) view returns (uint192, uint16, uint16, uint8, bool)
getFirewallConfig
viewfunction getFirewallConfig() view returns (address validator, address checkpointHook, bytes32 attesterControllerId, address firewallAccess)
attestedCall
nonpayablefunction attestedCall(tuple attestation, bytes attestationSignature, bytes data) returns (bytes)
executeCheckpoint
nonpayablefunction executeCheckpoint(address caller, bytes4 selector, bytes32 input)
executeCheckpoint
nonpayablefunction executeCheckpoint(address caller, bytes4 selector, uint256 ref)
saveAttestation
nonpayablefunction saveAttestation(tuple attestation, bytes attestationSignature)
setCheckpoint
nonpayablefunction setCheckpoint(bytes4 selector, tuple checkpoint)
setCheckpointActivation
nonpayablefunction setCheckpointActivation(bytes4 selector, uint8 activation)
updateFirewallConfig
nonpayablefunction updateFirewallConfig(address _validator, address _checkpointHook, bytes32 _attesterControllerId, address _firewallAccess)
events
AttesterControllerUpdated
event AttesterControllerUpdated(bytes32 indexed attesterControllerId)
CheckpointUpdated
event CheckpointUpdated(bytes4 selector, (uint192 threshold, uint16 refStart, uint16 refEnd, uint8 activation, bool trustedOrigin) checkpoint)
SecurityConfigUpdated
event SecurityConfigUpdated(address indexed validator, address indexed firewallAccess)
SupportsTrustedOrigin
event SupportsTrustedOrigin(address indexed firewall)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
CheckpointBlocked
error CheckpointBlocked()
FailedCall
error FailedCall()
InvalidActivationType
error InvalidActivationType()
UntrustedAttester
error UntrustedAttester(address attester)
creation bytecode
0x6080346101ec57601f611d2d38819003918201601f19168301916001600160401b038311848410176101f0578084926080946040528339810103126101ec5780516001600160a01b0380821692918390036101ec5760208201518181168091036101ec57606060408401519301519182168092036101ec577f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c40080546001600160a01b031990811686179091557f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c401805482169092179091557f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c402839055811561018157817f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d50091825416179055604051927f8a184646ee7e8ec4843411d1cf56a56d00c356735091cf3336b79d6b43ad396b5f80a37fe3ba6842b7b0ff4f8a57bc212a2e712993fd14a7e49f7e5a66529635035d17e55f80a2611b2890816102058239f35b60405162461bcd60e51b815260206004820152603360248201527f6e6577206669726577616c6c2061636365737320636f6e74726163742063616e60448201527f6e6f74206265207a65726f2061646472657373000000000000000000000000006064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040818152600480361015610014575f80fd5b5f925f3560e01c908163014c099914610ef257508063043eb0b614610dfb57806309610a6314610d2b5780634f063aa514610c0657806383bc574f14610bc457806389d21743146109f4578063957853301461078c578063a4c2b8d81461046a578063b770737a146101985763bb40eb0c1461008e575f80fd5b82913461019457600319818136011261018f5782359067ffffffffffffffff9081831161018b578390833603011261018757602435908111610187576100d790369085016110c1565b9373ffffffffffffffffffffffffffffffffffffffff7f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c400541690813b15610183578680946101548751988996879586947fbb40eb0c000000000000000000000000000000000000000000000000000000008652810190850161120e565b03925af190811561017a57506101675750f35b61017090611170565b6101775780f35b80fd5b513d84823e3d90fd5b8680fd5b8480fd5b8580fd5b505050fd5b5050fd5b503461046657608060031936011261046657803573ffffffffffffffffffffffffffffffffffffffff928382168092036101875760243584811680910361018b576044359460643594818616809603610462577f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d50093602460208654948351928380927f631e54b6000000000000000000000000000000000000000000000000000000008252338883015288165afa908115610458578a91610429575b50156103cc577fffffffffffffffffffffffff0000000000000000000000000000000000000000937f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c40087868254161790557f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c4019085825416179055877f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c40255861561034957505016831790557f8a184646ee7e8ec4843411d1cf56a56d00c356735091cf3336b79d6b43ad396b8480a37fe3ba6842b7b0ff4f8a57bc212a2e712993fd14a7e49f7e5a66529635035d17e58280a280f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603360248201527f6e6577206669726577616c6c2061636365737320636f6e74726163742063616e60448201527f6e6f74206265207a65726f2061646472657373000000000000000000000000006064820152fd5b90602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601c60248201527f63616c6c6572206973206e6f74206669726577616c6c2061646d696e000000006044820152fd5b61044b915060203d602011610451575b61044381836111cd565b810190611334565b5f610254565b503d610439565b82513d8c823e3d90fd5b8780fd5b8280fd5b50346104665760c0600319360112610466576104846110ef565b9060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610788578251926104bb846111b1565b77ffffffffffffffffffffffffffffffffffffffffffffffff9060243582811681036101835785526044359061ffff94858316830361078457602093848801938452606435928784168403610784578089019384526084359560058710156107805760608a0196875260a435988915158a0361077c5760808b01998a5273ffffffffffffffffffffffffffffffffffffffff7f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d5005416828a60248651809481937f1d8159b000000000000000000000000000000000000000000000000000000000835233908301525afa908d821561077157906105bc92610754575b5061134c565b8087511690865116106106f8577f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c403907fffffffff000000000000000000000000000000000000000000000000000000008095168c52528920975116907bffff000000000000000000000000000000000000000000000000000079ffff0000000000000000000000000000000000000000000000008954955160c01b16935160d01b1693161717178455519060058210156106cc575061067b90836113b1565b5181547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690151560e81b7dff00000000000000000000000000000000000000000000000000000000001617905580f35b8460216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b879060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601e60248201527f7265665374617274206973206c6172676572207468616e20726566456e6400006044820152fd5b61076b9150843d86116104515761044381836111cd565b5f6105b6565b8551903d90823e3d90fd5b8b80fd5b8a80fd5b5f80fd5b8380fd5b509034610466576060600319360112610466576107a761114d565b906107b061111e565b9173ffffffffffffffffffffffffffffffffffffffff7f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d5005416825180917f2f803844000000000000000000000000000000000000000000000000000000008252338783015281602460209485935afa9081156109ea57906108389188916109cd575b50611435565b7fffffffff00000000000000000000000000000000000000000000000000000000841686527f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c403815282862090835191610890836111b1565b5477ffffffffffffffffffffffffffffffffffffffffffffffff8116835261ffff808260c01c16838501528160d01c168584015260ff8160e01c1660058110156109a157606084015260e81c60ff16151560808301526108f46044358685856117bf565b6108fc578780f35b8451967f4bba3d000000000000000000000000000000000000000000000000000000000088528701528086602481737a9fe945b4eac7693e10fcd4f510f97a295307a45af493841561099857508693610966575b5061095b94506115ce565b5f8080808080808780f35b90925084813d8311610991575b61097d81836111cd565b810103126101875761095b9351915f610950565b503d610973565b513d88823e3d90fd5b60248960218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6109e49150833d85116104515761044381836111cd565b5f610832565b84513d89823e3d90fd5b50903461046657606060031936011261046657610a0f61114d565b91610a1861111e565b916024602073ffffffffffffffffffffffffffffffffffffffff7f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d50054168351928380927f2f80384400000000000000000000000000000000000000000000000000000000825233888301525afa908115610bba5790610a9d918791610ba15750611435565b7fffffffff00000000000000000000000000000000000000000000000000000000831685527f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c40360205280852091815192610af6846111b1565b549177ffffffffffffffffffffffffffffffffffffffffffffffff8316845261ffff808460c01c1660208601528360d01c169084015260ff8260e01c16906005821015610b755750606083015260e81c60ff1615156080820152610b5981611560565b610b61578380f35b610b6e92604435916115ce565b5f80808380f35b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6109e4915060203d6020116104515761044381836111cd565b82513d88823e3d90fd5b505034610c025781600319360112610c02576020907f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c402549051908152f35b5080fd5b5034610466578160031936011261046657610c1f6110ef565b60243591600583101561018757602073ffffffffffffffffffffffffffffffffffffffff7f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d50054169160248651809481937f1d8159b000000000000000000000000000000000000000000000000000000000835233908301525afa908115610d215791610cd77fffffffff0000000000000000000000000000000000000000000000000000000092610d0596948891610d08575061134c565b1684527f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c40360205283206113b1565b80f35b61076b915060203d6020116104515761044381836111cd565b84513d87823e3d90fd5b505034610c025781600319360112610c025760809073ffffffffffffffffffffffffffffffffffffffff90817f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d500541690827f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c4005416927f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c4015416907f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c4025491815194855260208501528301526060820152f35b50919034610c02576020600319360112610c02577fffffffff00000000000000000000000000000000000000000000000000000000610e386110ef565b1682527f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c403602052808220549061ffff9260ff8360e01c169180519477ffffffffffffffffffffffffffffffffffffffffffffffff85168652808560c01c1660208701528460d01c16908501526005821015610ec65760a08460ff8585606084015260e81c1615156080820152f35b806021867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b9190503461078457600319916060833601126107845781359167ffffffffffffffff9384841161078457859084360301126107845760243584811161078457610f3e90369083016110c1565b93909460443590811161078457610f5890369084016110c1565b95909473ffffffffffffffffffffffffffffffffffffffff7f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c400541691823b156107845785610fd68195935f9793889484967fbb40eb0c000000000000000000000000000000000000000000000000000000008652810190850161120e565b03925af180156110b7576110a4575b50610fef826112fa565b610ffb845191826111cd565b82815260209285848301933683820111610c025784601f948388866110759783967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b37830101525190305af43d1561109c573d90611059826112fa565b91611066885193846111cd565b82523d888784013e5b306114c0565b92845195869482865280519283918282890152018787015e85828601015201168101030190f35b60609061106f565b6110af919450611170565b5f925f610fe5565b84513d5f823e3d90fd5b9181601f840112156107845782359167ffffffffffffffff8311610784576020838186019501011161078457565b600435907fffffffff000000000000000000000000000000000000000000000000000000008216820361078457565b602435907fffffffff000000000000000000000000000000000000000000000000000000008216820361078457565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361078457565b67ffffffffffffffff811161118457604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761118457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761118457604052565b9190604083528035604084015260208101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561078457016020813591019367ffffffffffffffff8211610784578160051b918236038613610784577f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90604060608701528060808701521161078457807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09383601f9460c09860a0890137860195602060a0828903019101528160a0870152868601375f8582860101520116010190565b67ffffffffffffffff811161118457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b90816020910312610784575180151581036107845790565b1561135357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f63616c6c6572206973206e6f7420636865636b706f696e74206d616e616765726044820152fd5b906005811015611408577fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7cff0000000000000000000000000000000000000000000000000000000083549260e01b169116179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b1561143c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f63616c6c6572206973206e6f7420636865636b706f696e74206578656375746f60448201527f72000000000000000000000000000000000000000000000000000000000000006064820152fd5b906114ff57508051156114d557805190602001fd5b60046040517fd6bda275000000000000000000000000000000000000000000000000000000008152fd5b81511580611557575b611510575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611508565b6060018051600581101561140857156115c957805160058110156114085760011461159f575160058110156114085760021461159a575f90565b600190565b60046040517f382c9608000000000000000000000000000000000000000000000000000000008152fd5b505f90565b6115da90939193611a50565b6117ba577fffffffff00000000000000000000000000000000000000000000000000000000925f73ffffffffffffffffffffffffffffffffffffffff927f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c400926024858554169160409788519060209a8b968a88850195168552308c850152166060830152608082015260808152611670816111b1565b519020875194859384927f82d393ae00000000000000000000000000000000000000000000000000000000845260048401525af180156110b7578591849161178e575b5060049254168451928380927fb372424e0000000000000000000000000000000000000000000000000000000082525afa938415611784575f9461174b575b5050821691821515908161173a575b5061170a575050565b6024925051907fda1131a70000000000000000000000000000000000000000000000000000000082526004820152fd5b6117449150611a8d565b155f611701565b9080929450813d831161177d575b61176381836111cd565b810103126107845751828116810361078457915f806116f2565b503d611759565b83513d5f823e3d90fd5b9050813d83116117b3575b6117a381836111cd565b810103126107845783825f6116b3565b503d611799565b505050565b919093929373ffffffffffffffffffffffffffffffffffffffff90817f993f81a6354aa9d98fa5ac249e63371dfc7f5589eeb8a5b081145c8ed289c4015416918261196f575b5050506060820180516005811015611408571561196857805160058110156114085760011461159f57805160058110156114085760021461196057805160058110156114085760031461193d5751600581101561140857600403611913576040517fffffffff000000000000000000000000000000000000000000000000000000006020820192168252336040820152604081526060810181811067ffffffffffffffff82111761118457604052519020805c918483018093116118e6578277ffffffffffffffffffffffffffffffffffffffffffffffff925d5116111590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60046040517fd8f9ed79000000000000000000000000000000000000000000000000000000008152fd5b50505177ffffffffffffffffffffffffffffffffffffffffffffffff1682101590565b505050600190565b5050505f90565b606460209260405194859384927f22aeefdb0000000000000000000000000000000000000000000000000000000084521660048301527fffffffff00000000000000000000000000000000000000000000000000000000871660248301528960448301525afa908115611a45575f91611a0a575b506003811015611408576001811461196057600214611a04575f8080611805565b50505f90565b90506020813d602011611a3d575b81611a25602093836111cd565b8101031261078457516003811015610784575f6119e3565b3d9150611a18565b6040513d5f823e3d90fd5b60800151611a5c575f90565b307f02b558ea2b033f00bfa90574d3a8fa49882b1f807af0db442629073abb47d18d5f80a2611a8a32611a8d565b90565b602073ffffffffffffffffffffffffffffffffffffffff6024817f5a36dfc2750cc10abe5f95f24b6fce874396e21527ff7f50fb33b5ccc8b7d50054169360405194859384927f6bd4863a0000000000000000000000000000000000000000000000000000000084521660048301525afa908115611a45575f91611b0f575090565b611a8a915060203d6020116104515761044381836111cd56000000000000000000000000c9b1aed0895dd647a82e35cafff421b6ccfe690c00000000000000000000000000000000000000000000000000000000000000003939393900000000000000000000000000000000000000000000000000000000000000000000000000000000c94831a17f8ed00f885a69f962961da2273c7132