diff --git a/.circleci/config.yml b/.circleci/config.yml index 191851bc1237a..948a2d2512e80 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1779,9 +1779,11 @@ jobs: workflows: main: + # Run on all branches via webhook or API when: or: - equal: ["webhook", << pipeline.trigger_source >>] + - equal: ["api", << pipeline.trigger_source >>] - and: - equal: [true, <>] - equal: ["api", << pipeline.trigger_source >>] diff --git a/.gitignore b/.gitignore index 42a28a1afbfe0..5bcff1171b973 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ gha-creds-*.json # Ignore keys *.pem +packages/contracts-bedrock/lib/automate/ diff --git a/op-batcher/batcher/espresso.go b/op-batcher/batcher/espresso.go index b7ce1aef043a4..742c31c7146c8 100644 --- a/op-batcher/batcher/espresso.go +++ b/op-batcher/batcher/espresso.go @@ -1082,9 +1082,17 @@ func (l *BatchSubmitter) registerBatcher(ctx context.Context) error { return fmt.Errorf("failed to get Batch Authenticator ABI: %w", err) } - txData, err = abi.Pack("registerSigner", l.Attestation.COSESign1, l.Attestation.Signature) + // Extract PCR0 hash from attestation document + pcr0Hash := crypto.Keccak256Hash(l.Attestation.Document.PCRs[0]) + + // Extract enclave address from attestation document public key + // The publicKey's first byte 0x04 determines if the public key is compressed or not, so we ignore it + publicKeyHash := crypto.Keccak256Hash(l.Attestation.Document.PublicKey[1:]) + enclaveAddress := common.BytesToAddress(publicKeyHash[12:]) + + txData, err = abi.Pack("registerSignerWithoutAttestationVerification", pcr0Hash, l.Attestation.COSESign1, l.Attestation.Signature, enclaveAddress) if err != nil { - return fmt.Errorf("failed to create RegisterSigner transaction: %w", err) + return fmt.Errorf("failed to create RegisterSignerWithoutAttestationVerification transaction: %w", err) } candidate := txmgr.TxCandidate{ diff --git a/op-batcher/bindings/batch_authenticator.go b/op-batcher/bindings/batch_authenticator.go index eff1c42d7c6ad..fdd512720c2c4 100644 --- a/op-batcher/bindings/batch_authenticator.go +++ b/op-batcher/bindings/batch_authenticator.go @@ -31,8 +31,8 @@ var ( // BatchAuthenticatorMetaData contains all meta data concerning the BatchAuthenticator contract. var BatchAuthenticatorMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_espressoTEEVerifier\",\"type\":\"address\",\"internalType\":\"contractEspressoTEEVerifier\"},{\"name\":\"_preApprovedBatcher\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"authenticateBatchInfo\",\"inputs\":[{\"name\":\"commitment\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"decodeAttestationTbs\",\"inputs\":[{\"name\":\"attestation\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"espressoTEEVerifier\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractEspressoTEEVerifier\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"nitroValidator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractINitroValidator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"preApprovedBatcher\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerSigner\",\"inputs\":[{\"name\":\"attestationTbs\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"validBatchInfo\",\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"version\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false}]", - Bin: "0x60e0604052346100665761001a610014610169565b9061025b565b61002261006b565b611ba56102fc82396080518181816101bc01526112e5015260a05181818161081901528181610c3e01526111ca015260c05181818160f10152610ad90152611ba590f35b610071565b60405190565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b9061009d90610075565b810190811060018060401b038211176100b557604052565b61007f565b906100cd6100c661006b565b9283610093565b565b5f80fd5b60018060a01b031690565b6100e7906100d3565b90565b6100f3906100de565b90565b6100ff816100ea565b0361010657565b5f80fd5b90505190610117826100f6565b565b610122816100de565b0361012957565b5f80fd5b9050519061013a82610119565b565b91906040838203126101645780610158610161925f860161010a565b9360200161012d565b90565b6100cf565b610187611ea18038038061017c816100ba565b92833981019061013c565b9091565b61019590516100ea565b90565b90565b6101af6101aa6101b4926100d3565b610198565b6100d3565b90565b6101c09061019b565b90565b6101cc906101b7565b90565b60e01b90565b6101de906100de565b90565b6101ea816101d5565b036101f157565b5f80fd5b90505190610202826101e1565b565b9060208282031261021d5761021a915f016101f5565b90565b6100cf565b5f0190565b61022f61006b565b3d5f823e3d90fd5b610240906101b7565b90565b61024c9061019b565b90565b61025890610243565b90565b60a05260805261028e602061027861027360a061018b565b6101c3565b63d80a4c289061028661006b565b9384926101cf565b8252818061029e60048201610222565b03915afa9081156102f6576102c3916102be915f916102c8575b50610237565b61024f565b60c052565b6102e9915060203d81116102ef575b6102e18183610093565b810190610204565b5f6102b8565b503d6102d7565b61022756fe60806040526004361015610013575b610918565b61001d5f356100cc565b80631b076a4c146100c75780631f568b18146100c257806354fd4d50146100bd578063715018a6146100b85780638da5cb5b146100b3578063a903a277146100ae578063ba58e82a146100a9578063f2fde38b146100a4578063f81f20831461009f578063fa14fe6d1461009a5763fc619e410361000e576108e4565b610869565b6107e2565b6106d9565b610661565b610585565b61041f565b6103ec565b6103b2565b61020c565b610185565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f9103126100ea57565b6100dc565b7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b61014361013e61014892610113565b61012c565b610113565b90565b6101549061012f565b90565b6101609061014b565b90565b61016c90610157565b9052565b9190610183905f60208501940190610163565b565b346101b5576101953660046100e0565b6101b16101a06100ef565b6101a86100d2565b91829182610170565b0390f35b6100d8565b7f000000000000000000000000000000000000000000000000000000000000000090565b6101e790610113565b90565b6101f3906101de565b9052565b919061020a905f602085019401906101ea565b565b3461023c5761021c3660046100e0565b6102386102276101ba565b61022f6100d2565b918291826101f7565b0390f35b6100d8565b601f801991011690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9061028290610241565b810190811067ffffffffffffffff82111761029c57604052565b61024b565b906102b46102ad6100d2565b9283610278565b565b67ffffffffffffffff81116102d4576102d0602091610241565b0190565b61024b565b906102eb6102e6836102b6565b6102a1565b918252565b5f7f312e302e30000000000000000000000000000000000000000000000000000000910152565b61032160056102d9565b9061032e602083016102f0565b565b610338610317565b90565b610343610330565b90565b61034e61033b565b90565b5190565b60209181520190565b90825f9392825e0152565b6103886103916020936103969361037f81610351565b93848093610355565b9586910161035e565b610241565b0190565b6103af9160208201915f818403910152610369565b90565b346103e2576103c23660046100e0565b6103de6103cd610346565b6103d56100d2565b9182918261039a565b0390f35b6100d8565b5f0190565b3461041a576103fc3660046100e0565b61040461096c565b61040c6100d2565b80610416816103e7565b0390f35b6100d8565b3461044f5761042f3660046100e0565b61044b61043a6109b9565b6104426100d2565b918291826101f7565b0390f35b6100d8565b5f80fd5b5f80fd5b5f80fd5b67ffffffffffffffff811161047e5761047a602091610241565b0190565b61024b565b90825f939282370152565b909291926104a361049e82610460565b6102a1565b938185526020850190828401116104bf576104bd92610483565b565b61045c565b9080601f830112156104e2578160206104df9335910161048e565b90565b610458565b90602082820312610517575f82013567ffffffffffffffff81116105125761050f92016104c4565b90565b610454565b6100dc565b5190565b60209181520190565b6105486105516020936105569361053f8161051c565b93848093610520565b9586910161035e565b610241565b0190565b90916105746105829360408401908482035f860152610529565b916020818403910152610529565b90565b346105b65761059d6105983660046104e7565b610abc565b906105b26105a96100d2565b9283928361055a565b0390f35b6100d8565b5f80fd5b5f80fd5b909182601f830112156105fd5781359167ffffffffffffffff83116105f85760200192600183028401116105f357565b6105bf565b6105bb565b610458565b909160408284031261065c575f82013567ffffffffffffffff8111610657578361062d9184016105c3565b929093602082013567ffffffffffffffff81116106525761064e92016105c3565b9091565b610454565b610454565b6100dc565b346106935761067d610674366004610602565b92919091610c36565b6106856100d2565b8061068f816103e7565b0390f35b6100d8565b6106a1816101de565b036106a857565b5f80fd5b905035906106b982610698565b565b906020828203126106d4576106d1915f016106ac565b90565b6100dc565b34610707576106f16106ec3660046106bb565b610dee565b6106f96100d2565b80610703816103e7565b0390f35b6100d8565b90565b6107188161070c565b0361071f57565b5f80fd5b905035906107308261070f565b565b9060208282031261074b57610748915f01610723565b90565b6100dc565b6107599061070c565b90565b9061076690610750565b5f5260205260405f2090565b1c90565b60ff1690565b61078c9060086107919302610772565b610776565b90565b9061079f915461077c565b90565b6107b8906107b36065915f9261075c565b610794565b90565b151590565b6107c9906107bb565b9052565b91906107e0905f602085019401906107c0565b565b346108125761080e6107fd6107f8366004610732565b6107a2565b6108056100d2565b918291826107cd565b0390f35b6100d8565b7f000000000000000000000000000000000000000000000000000000000000000090565b6108449061014b565b90565b6108509061083b565b9052565b9190610867905f60208501940190610847565b565b34610899576108793660046100e0565b610895610884610817565b61088c6100d2565b91829182610854565b0390f35b6100d8565b9190916040818403126108df576108b7835f8301610723565b92602082013567ffffffffffffffff81116108da576108d692016105c3565b9091565b610454565b6100dc565b34610913576108fd6108f736600461089e565b91611147565b6109056100d2565b8061090f816103e7565b0390f35b6100d8565b5f80fd5b6109246114a9565b61092c610959565b565b90565b61094561094061094a9261092e565b61012c565b610113565b90565b61095690610931565b90565b61096a6109655f61094d565b61152d565b565b61097461091c565b565b5f90565b5f1c90565b73ffffffffffffffffffffffffffffffffffffffff1690565b6109a46109a99161097a565b61097f565b90565b6109b69054610998565b90565b6109c1610976565b506109cc60336109ac565b90565b606090565b5f80fd5b60e01b90565b909291926109f36109ee82610460565b6102a1565b93818552602085019082840111610a0f57610a0d9261035e565b565b61045c565b9080601f83011215610a3257816020610a2f935191016109de565b90565b610458565b919091604081840312610a8f575f81015167ffffffffffffffff8111610a8a5783610a63918301610a14565b92602082015167ffffffffffffffff8111610a8557610a829201610a14565b90565b610454565b610454565b6100dc565b610aa99160208201915f818403910152610529565b90565b610ab46100d2565b3d5f823e3d90fd5b905f610b2492610aca6109cf565b50610ad36109cf565b50610afd7f0000000000000000000000000000000000000000000000000000000000000000610157565b610b1963a903a277610b0d6100d2565b968794859384936109d8565b835260048301610a94565b03915afa8015610b64575f80939091610b3d575b509190565b9050610b5c9192503d805f833e610b548183610278565b810190610a37565b91905f610b38565b610aac565b5f910312610b7357565b6100dc565b9190610b9281610b8b81610b9795610520565b8095610483565b610241565b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60021115610bd257565b610b9b565b90610be182610bc8565b565b610bec90610bd7565b90565b610bf890610be3565b9052565b959492610c3494610c1e610c2c9360409560608b01918b83035f8d0152610b78565b9188830360208a0152610b78565b940190610bef565b565b929192610c627f000000000000000000000000000000000000000000000000000000000000000061083b565b906335ecb4c190929493600191833b15610ce457610ca1610c96935f97938894610c8a6100d2565b9a8b998a9889976109d8565b875260048701610bfc565b03925af18015610cdf57610cb3575b50565b610cd2905f3d8111610cd8575b610cca8183610278565b810190610b69565b5f610cb0565b503d610cc0565b610aac565b6109d4565b610cfa90610cf56114a9565b610dbe565b565b60207f6464726573730000000000000000000000000000000000000000000000000000917f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201520152565b610d566026604092610355565b610d5f81610cfc565b0190565b610d789060208101905f818303910152610d49565b90565b15610d8257565b610d8a6100d2565b7f08c379a000000000000000000000000000000000000000000000000000000000815280610dba60048201610d63565b0390fd5b610dec90610de781610de0610dda610dd55f61094d565b6101de565b916101de565b1415610d7b565b61152d565b565b610df790610ce9565b565b610e0491369161048e565b90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b90610e3e8261051c565b811015610e5057600160209102010190565b610e07565b90565b90565b610e6f610e6a610e7492610e55565b61012c565b610e58565b90565b7fff000000000000000000000000000000000000000000000000000000000000001690565b610ea69051610e77565b90565b60f81c90565b60ff1690565b610ec9610ec4610ece92610eaf565b61012c565b610eaf565b90565b610edd610ee291610ea9565b610eb5565b90565b610ef9610ef4610efe9261092e565b61012c565b610eaf565b90565b90565b610f18610f13610f1d92610f01565b61012c565b610eaf565b90565b90565b610f37610f32610f3c92610f20565b61012c565b610eaf565b90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b610f78610f7e91610eaf565b91610eaf565b019060ff8211610f8a57565b610f3f565b60f81b90565b610fa9610fa4610fae92610eaf565b610f8f565b610e77565b90565b5f7f496e76616c6964207369676e6174757265000000000000000000000000000000910152565b610fe56011602092610355565b610fee81610fb1565b0190565b6110079060208101905f818303910152610fd8565b90565b611013906101de565b90565b61101f8161100a565b0361102657565b5f80fd5b9050519061103782611016565b565b906020828203126110525761104f915f0161102a565b90565b6100dc565b6110609061014b565b90565b61106c816107bb565b0361107357565b5f80fd5b9050519061108482611063565b565b9060208282031261109f5761109c915f01611077565b90565b6100dc565b5f7f496e76616c6964207369676e6572000000000000000000000000000000000000910152565b6110d8600e602092610355565b6110e1816110a4565b0190565b6110fa9060208101905f8183039101526110cb565b90565b5f1b90565b9061110e60ff916110fd565b9181191691161790565b611121906107bb565b90565b90565b9061113c61113761114392611118565b611124565b8254611102565b9055565b91611155906111a092610df9565b61117961117461116f836111696040610e5b565b90610e34565b610e9c565b610ed1565b8061118c6111865f610ee5565b91610eaf565b1480156113f3575b6113b8575b508261158e565b806111bb6111b56111b05f61094d565b6101de565b916101de565b1461137c5761120460206111ee7f000000000000000000000000000000000000000000000000000000000000000061083b565b63d80a4c28906111fc6100d2565b9384926109d8565b82528180611214600482016103e7565b03915afa80156113775761123560209161125f935f9161134a575b50611057565b630123d0c19061125485926112486100d2565b958694859384936109d8565b8352600483016101f7565b03915afa80156113455761127b915f91611317575b50156107bb565b90816112db575b5061129f5761129d90611298600191606561075c565b611127565b565b6112a76100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806112d7600482016110e5565b0390fd5b905061130f6113097f00000000000000000000000000000000000000000000000000000000000000006101de565b916101de565b14155f611282565b611338915060203d811161133e575b6113308183610278565b810190611086565b5f611274565b503d611326565b610aac565b61136a9150833d8111611370575b6113628183610278565b810190611039565b5f61122f565b503d611358565b610aac565b6113846100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806113b460048201610ff2565b0390fd5b6113cf6113d4916113c9601b610f23565b90610f6c565b610f95565b6113ec826113e66040935f1a93610e5b565b90610e34565b535f611199565b50806114086114026001610f04565b91610eaf565b14611194565b5f7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910152565b61144160208092610355565b61144a8161140e565b0190565b6114639060208101905f818303910152611435565b90565b1561146d57565b6114756100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806114a56004820161144e565b0390fd5b6114d36114b46109b9565b6114cd6114c76114c26115af565b6101de565b916101de565b14611466565b565b906114f473ffffffffffffffffffffffffffffffffffffffff916110fd565b9181191691161790565b6115079061014b565b90565b90565b9061152261151d611529926114fe565b61150a565b82546114d5565b9055565b61153760336109ac565b61154282603361150d565b906115766115707f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0936114fe565b916114fe565b9161157f6100d2565b80611589816103e7565b0390a3565b6115ac916115a49161159e610976565b506115e7565b919091611836565b90565b6115b7610976565b503390565b5f90565b90565b6115d76115d26115dc926115c0565b61012c565b610e58565b90565b5f90565b5f90565b6115ef610976565b506115f86115bc565b506116028261051c565b61161561160f60416115c3565b91610e58565b145f1461165a57611654916116286115df565b506116316115df565b5061163a6115e3565b506020810151606060408301519201515f1a909192611a74565b91909190565b50506116655f61094d565b90600290565b6005111561167557565b610b9b565b906116848261166b565b565b60207f7565000000000000000000000000000000000000000000000000000000000000917f45434453413a20696e76616c6964207369676e6174757265202776272076616c5f8201520152565b6116e06022604092610355565b6116e981611686565b0190565b6117029060208101905f8183039101526116d3565b90565b60207f7565000000000000000000000000000000000000000000000000000000000000917f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201520152565b61175f6022604092610355565b61176881611705565b0190565b6117819060208101905f818303910152611752565b90565b5f7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800910152565b6117b8601f602092610355565b6117c181611784565b0190565b6117da9060208101905f8183039101526117ab565b90565b5f7f45434453413a20696e76616c6964207369676e61747572650000000000000000910152565b6118116018602092610355565b61181a816117dd565b0190565b6118339060208101905f818303910152611804565b90565b806118496118435f61167a565b9161167a565b145f146118535750565b80611867611861600161167a565b9161167a565b145f146118aa576118766100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806118a66004820161181e565b0390fd5b806118be6118b8600261167a565b9161167a565b145f14611901576118cd6100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806118fd600482016117c5565b0390fd5b8061191561190f600361167a565b9161167a565b145f14611958576119246100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806119546004820161176c565b0390fd5b61196b611965600461167a565b9161167a565b1461197257565b61197a6100d2565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806119aa600482016116ed565b0390fd5b6119c26119bd6119c792610e58565b61012c565b610e58565b90565b6119d66119db9161097a565b6119ae565b90565b90565b6119f56119f06119fa926119de565b61012c565b610e58565b90565b90565b611a14611a0f611a19926119fd565b61012c565b610eaf565b90565b611a259061070c565b9052565b611a3290610eaf565b9052565b611a6b611a7294611a61606094989795611a57608086019a5f870190611a1c565b6020850190611a29565b6040830190611a1c565b0190611a1c565b565b929190611a7f610976565b50611a886115bc565b50611a92836119ca565b611ac4611abe7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a06119e1565b91610e58565b11611b855780611add611ad7601b610f23565b91610eaf565b141580611b69575b611b5657611b045f936020959293611afb6100d2565b94859485611a36565b838052039060015afa15611b5157611b1c5f516110fd565b80611b37611b31611b2c5f61094d565b6101de565b916101de565b14611b4157905f90565b50611b4b5f61094d565b90600190565b610aac565b50505050611b635f61094d565b90600490565b5080611b7e611b78601c611a00565b91610eaf565b1415611ae5565b50505050611b925f61094d565b9060039056fea164736f6c634300081c000a", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_espressoTEEVerifier\",\"type\":\"address\",\"internalType\":\"contractEspressoTEEVerifier\"},{\"name\":\"_preApprovedBatcher\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"authenticateBatchInfo\",\"inputs\":[{\"name\":\"commitment\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"decodeAttestationTbs\",\"inputs\":[{\"name\":\"attestation\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"espressoTEEVerifier\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractEspressoTEEVerifier\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"nitroValidator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractINitroValidator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"preApprovedBatcher\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerSigner\",\"inputs\":[{\"name\":\"attestationTbs\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registerSignerWithoutAttestationVerification\",\"inputs\":[{\"name\":\"pcr0Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"attestationTbs\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"enclaveAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"validBatchInfo\",\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"version\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false}]", + Bin: "0x60e0806040523461011357604081611515803803809161001f828561012a565b8339810103126101135780516001600160a01b038116918282036101135760200151916001600160a01b03831683036101135760049260209260a05260805260405192838092631b01498560e31b82525afa90811561011f575f916100d9575b506001600160a01b031660c0526040516113b3908161016282396080518181816102de0152610b94015260a0518181816101950152818161051f0152818161076b0152610cfd015260c0518181816109020152610c030152f35b90506020813d602011610117575b816100f46020938361012a565b8101031261011357516001600160a01b0381168103610113575f61007f565b5f80fd5b3d91506100e7565b6040513d5f823e3d90fd5b601f909101601f19168101906001600160401b0382119082101761014d57604052565b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816302afd6e314610c27575080631b076a4c14610bb85780631f568b1814610b4957806354fd4d5014610aca578063715018a614610a2c5780638da5cb5b146109da578063a903a27714610849578063ba58e82a146106df578063f2fde38b14610590578063f81f208314610543578063fa14fe6d146104d45763fc619e41146100a2575f80fd5b346104d15760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d15760043560243567ffffffffffffffff81116104cf576100f76100fe913690600401610e21565b3691610f3a565b8051604010156104a25760608101805160f81c80158015610498575b6103db575b505061014b61014373ffffffffffffffffffffffffffffffffffffffff928461109f565b9190916110d4565b16801561037d576040517fd80a4c2800000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156103455773ffffffffffffffffffffffffffffffffffffffff916020918691610350575b506024604051809481937f0123d0c1000000000000000000000000000000000000000000000000000000008352876004840152165afa908115610345578491610306575b501590816102c5575b5061026757815260656020526040812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c6964207369676e65720000000000000000000000000000000000006044820152fd5b905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614155f61022b565b90506020813d60201161033d575b8161032160209383610e4f565b8101031261033957518015158103610339575f610222565b8380fd5b3d9150610314565b6040513d86823e3d90fd5b6103709150823d8411610376575b6103688183610e4f565b810190610f70565b5f6101de565b503d61035e565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e76616c6964207369676e61747572650000000000000000000000000000006044820152fd5b601b0160ff811161046b5782516040101561043e5773ffffffffffffffffffffffffffffffffffffffff9261014b927fff000000000000000000000000000000000000000000000000000000000000006101439360f81b16871a9053925061011f565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b506001811461011a565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b825b80fd5b50346104d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346104d15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d15760ff60406020926004358152606584522054166040519015158152f35b50346104d15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d15760043573ffffffffffffffffffffffffffffffffffffffff81168091036106db576105e9611020565b80156106575773ffffffffffffffffffffffffffffffffffffffff603354827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b5080fd5b50346104d15760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d1578060043567ffffffffffffffff811161084657610730903690600401610e21565b9060243567ffffffffffffffff811161084357610751903690600401610e21565b92909173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b1561083f57856107db9361080b8296604051988997889687957f35ecb4c1000000000000000000000000000000000000000000000000000000008752606060048801526064870191610f9c565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016024860152610f9c565b6001604483015203925af18015610834576108235750f35b8161082d91610e4f565b6104d15780f35b6040513d84823e3d90fd5b8580fd5b50505b50fd5b50346104d15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d15760043567ffffffffffffffff81116106db5781366023830112156104d1576108ae6108e9923690602481600401359101610f3a565b604051809381927fa903a277000000000000000000000000000000000000000000000000000000008352602060048401526024830190610ef7565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156109ce5780918193610962575b6109508361095e86604051938493604085526040850190610ef7565b908382036020850152610ef7565b0390f35b915091503d8083833e6109758183610e4f565b8101916040828403126104d157815167ffffffffffffffff81116106db578361099f918401610fda565b9160208101519167ffffffffffffffff83116104d157506109509361095e926109c89201610fda565b92610934565b604051903d90823e3d90fd5b50346104d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d157602073ffffffffffffffffffffffffffffffffffffffff60335416604051908152f35b50346104d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d157610a63611020565b8073ffffffffffffffffffffffffffffffffffffffff6033547fffffffffffffffffffffffff00000000000000000000000000000000000000008116603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346104d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d1575061095e604051610b0b604082610e4f565b600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610ef7565b50346104d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346104d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104d157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b905034610dfe5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dfe5760243567ffffffffffffffff8111610dfe57610c78903690600401610e21565b909160443567ffffffffffffffff8111610dfe57610c9a903690600401610e21565b936064359273ffffffffffffffffffffffffffffffffffffffff8416809403610dfe577fd80a4c2800000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8015610df35773ffffffffffffffffffffffffffffffffffffffff915f91610e02575b501691823b15610dfe575f94610d9d94610dcd8793604051998a98899788967f02afd6e30000000000000000000000000000000000000000000000000000000088526004356004890152608060248901526084880191610f9c565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc868403016044870152610f9c565b90606483015203925af18015610df357610de5575080f35b610df191505f90610e4f565b005b6040513d5f823e3d90fd5b5f80fd5b610e1b915060203d602011610376576103688183610e4f565b5f610d42565b9181601f84011215610dfe5782359167ffffffffffffffff8311610dfe5760208381860195010111610dfe57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff8111610e9057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b929192610f4682610ebd565b91610f546040519384610e4f565b829481845281830111610dfe578281602093845f960137010152565b90816020910312610dfe575173ffffffffffffffffffffffffffffffffffffffff81168103610dfe5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b81601f82011215610dfe57805190610ff182610ebd565b92610fff6040519485610e4f565b82845260208383010111610dfe57815f9260208093018386015e8301015290565b73ffffffffffffffffffffffffffffffffffffffff60335416330361104157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9060418151145f146110cb576110c791602082015190606060408401519301515f1a906112f7565b9091565b50505f90600290565b60058110156112ca57806110e55750565b6001810361114b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036111b15760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003810361123d5760846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b60041461124657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161139b5760ff1690601b82141580611390575b611385576020935f93608093604051938452868401526040830152606082015282805260015afa15610df3575f5173ffffffffffffffffffffffffffffffffffffffff81161561137d57905f90565b505f90600190565b505050505f90600490565b50601c82141561132e565b505050505f9060039056fea164736f6c634300081c000a", } // BatchAuthenticatorABI is the input ABI used to generate the binding from. @@ -462,6 +462,27 @@ func (_BatchAuthenticator *BatchAuthenticatorTransactorSession) RegisterSigner(a return _BatchAuthenticator.Contract.RegisterSigner(&_BatchAuthenticator.TransactOpts, attestationTbs, signature) } +// RegisterSignerWithoutAttestationVerification is a paid mutator transaction binding the contract method 0x02afd6e3. +// +// Solidity: function registerSignerWithoutAttestationVerification(bytes32 pcr0Hash, bytes attestationTbs, bytes signature, address enclaveAddress) returns() +func (_BatchAuthenticator *BatchAuthenticatorTransactor) RegisterSignerWithoutAttestationVerification(opts *bind.TransactOpts, pcr0Hash [32]byte, attestationTbs []byte, signature []byte, enclaveAddress common.Address) (*types.Transaction, error) { + return _BatchAuthenticator.contract.Transact(opts, "registerSignerWithoutAttestationVerification", pcr0Hash, attestationTbs, signature, enclaveAddress) +} + +// RegisterSignerWithoutAttestationVerification is a paid mutator transaction binding the contract method 0x02afd6e3. +// +// Solidity: function registerSignerWithoutAttestationVerification(bytes32 pcr0Hash, bytes attestationTbs, bytes signature, address enclaveAddress) returns() +func (_BatchAuthenticator *BatchAuthenticatorSession) RegisterSignerWithoutAttestationVerification(pcr0Hash [32]byte, attestationTbs []byte, signature []byte, enclaveAddress common.Address) (*types.Transaction, error) { + return _BatchAuthenticator.Contract.RegisterSignerWithoutAttestationVerification(&_BatchAuthenticator.TransactOpts, pcr0Hash, attestationTbs, signature, enclaveAddress) +} + +// RegisterSignerWithoutAttestationVerification is a paid mutator transaction binding the contract method 0x02afd6e3. +// +// Solidity: function registerSignerWithoutAttestationVerification(bytes32 pcr0Hash, bytes attestationTbs, bytes signature, address enclaveAddress) returns() +func (_BatchAuthenticator *BatchAuthenticatorTransactorSession) RegisterSignerWithoutAttestationVerification(pcr0Hash [32]byte, attestationTbs []byte, signature []byte, enclaveAddress common.Address) (*types.Transaction, error) { + return _BatchAuthenticator.Contract.RegisterSignerWithoutAttestationVerification(&_BatchAuthenticator.TransactOpts, pcr0Hash, attestationTbs, signature, enclaveAddress) +} + // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() diff --git a/op-batcher/bindings/batch_inbox.go b/op-batcher/bindings/batch_inbox.go index d2a23ae72234c..2d230320feb6c 100644 --- a/op-batcher/bindings/batch_inbox.go +++ b/op-batcher/bindings/batch_inbox.go @@ -32,7 +32,7 @@ var ( // BatchInboxMetaData contains all meta data concerning the BatchInbox contract. var BatchInboxMetaData = &bind.MetaData{ ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_batchAuthenticator\",\"type\":\"address\",\"internalType\":\"contractIBatchAuthenticator\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"fallback\",\"stateMutability\":\"nonpayable\"}]", - Bin: "0x60a060405234801561000f575f5ffd5b506040516106c33803806106c3833981810160405281019061003191906100da565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050610105565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100988261006f565b9050919050565b5f6100a98261008e565b9050919050565b6100b98161009f565b81146100c3575f5ffd5b50565b5f815190506100d4816100b0565b92915050565b5f602082840312156100ef576100ee61006b565b5b5f6100fc848285016100c6565b91505092915050565b6080516105a06101235f395f818160be01526101b801526105a05ff3fe608060405234801561000f575f5ffd5b505f5f1b5f491461019b575f5f67ffffffffffffffff81111561003557610034610291565b5b6040519080825280601f01601f1916602001820160405280156100675781602001600182028036833780820191505090505b5090505f5f90505b5f5f1b8149146100b15781814960405160200161008d929190610339565b604051602081830303815290604052915080806100a990610396565b91505061006f565b5f828051906020012090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f81f2083826040518263ffffffff1660e01b815260040161011591906103ec565b602060405180830381865afa158015610130573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610154919061043e565b610193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018a906104c3565b60405180910390fd5b50505061028f565b5f5f366040516101ac929190610513565b604051809103902090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f81f2083826040518263ffffffff1660e01b815260040161020f91906103ec565b602060405180830381865afa15801561022a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024e919061043e565b61028d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028490610575565b60405180910390fd5b505b005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6102ea826102be565b6102f481856102c8565b93506103048185602086016102d2565b80840191505092915050565b5f819050919050565b5f819050919050565b61033361032e82610310565b610319565b82525050565b5f61034482856102e0565b91506103508284610322565b6020820191508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f819050919050565b5f6103a08261038d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036103d2576103d1610360565b5b600182019050919050565b6103e681610310565b82525050565b5f6020820190506103ff5f8301846103dd565b92915050565b5f5ffd5b5f8115159050919050565b61041d81610409565b8114610427575f5ffd5b50565b5f8151905061043881610414565b92915050565b5f6020828403121561045357610452610405565b5b5f6104608482850161042a565b91505092915050565b5f82825260208201905092915050565b7f496e76616c696420626c6f6220626174636800000000000000000000000000005f82015250565b5f6104ad601283610469565b91506104b882610479565b602082019050919050565b5f6020820190508181035f8301526104da816104a1565b9050919050565b828183375f83830152505050565b5f6104fa83856102c8565b93506105078385846104e1565b82840190509392505050565b5f61051f8284866104ef565b91508190509392505050565b7f496e76616c69642063616c6c64617461206261746368000000000000000000005f82015250565b5f61055f601683610469565b915061056a8261052b565b602082019050919050565b5f6020820190508181035f83015261058c81610553565b905091905056fea164736f6c634300081c000a", + Bin: "0x60a0604052348015600e575f5ffd5b506040516103f03803806103f0833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b60805161036c6100845f395f8181609d01526101d0015261036c5ff3fe608060405234801561000f575f5ffd5b505f491561018857604080515f80825260208201909252905b804915610067578181496040516020016100439291906102b4565b6040516020818303038152906040529150808061005f906102ce565b915050610028565b815160208301206040517ff81f2083000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063f81f208390602401602060405180830381865afa1580156100f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061011b919061032a565b610186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420626c6f62206261746368000000000000000000000000000060448201526064015b60405180910390fd5b005b5f5f36604051610199929190610350565b6040519081900381207ff81f20830000000000000000000000000000000000000000000000000000000082526004820181905291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063f81f208390602401602060405180830381865afa15801561022a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024e919061032a565b610186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e76616c69642063616c6c6461746120626174636800000000000000000000604482015260640161017d565b5f83518060208601845e9190910191825250602001919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610323577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b5f6020828403121561033a575f5ffd5b81518015158114610349575f5ffd5b9392505050565b818382375f910190815291905056fea164736f6c634300081c000a", } // BatchInboxABI is the input ABI used to generate the binding from. diff --git a/packages/contracts-bedrock/lib/espresso-tee-contracts b/packages/contracts-bedrock/lib/espresso-tee-contracts index 2728ed43e1658..02a40281a402d 160000 --- a/packages/contracts-bedrock/lib/espresso-tee-contracts +++ b/packages/contracts-bedrock/lib/espresso-tee-contracts @@ -1 +1 @@ -Subproject commit 2728ed43e1658fcba1f962a28825279514b92ca7 +Subproject commit 02a40281a402d2684d8a056d1751474db9bd50a4 diff --git a/packages/contracts-bedrock/snapshots/abi/BatchAuthenticator.json b/packages/contracts-bedrock/snapshots/abi/BatchAuthenticator.json index 3f2bbef4c73b7..8e929d4b9347f 100644 --- a/packages/contracts-bedrock/snapshots/abi/BatchAuthenticator.json +++ b/packages/contracts-bedrock/snapshots/abi/BatchAuthenticator.json @@ -127,6 +127,34 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "pcr0Hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "attestationTbs", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "internalType": "address", + "name": "enclaveAddress", + "type": "address" + } + ], + "name": "registerSignerWithoutAttestationVerification", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "renounceOwnership", diff --git a/packages/contracts-bedrock/snapshots/semver-lock.json b/packages/contracts-bedrock/snapshots/semver-lock.json index 6f8510a18ea58..b385622bea595 100644 --- a/packages/contracts-bedrock/snapshots/semver-lock.json +++ b/packages/contracts-bedrock/snapshots/semver-lock.json @@ -1,7 +1,7 @@ { "src/L1/BatchAuthenticator.sol:BatchAuthenticator": { - "initCodeHash": "0x886ad73f143db896806140ccb2a64c353c4822bcc6021e1e6bb48497da478d1c", - "sourceCodeHash": "0xb0769be04670274b46231d81eb19b7bac6f2f8d4b4989ad9dda4aea85ef6166d" + "initCodeHash": "0xe6ba63f419d207f6e940b5561bc8dd5f04ca68db90958e162ef4ad5aea742bca", + "sourceCodeHash": "0x35ef276cc6c8e33b09c957f3636c6dc98a961429d1cba4ca219b93fb1afb5864" }, "src/L1/DataAvailabilityChallenge.sol:DataAvailabilityChallenge": { "initCodeHash": "0xacbae98cc7c0f7ecbf36dc44bbf7cb0a011e6e6b781e28b9dbf947e31482b30d", diff --git a/packages/contracts-bedrock/src/L1/BatchAuthenticator.sol b/packages/contracts-bedrock/src/L1/BatchAuthenticator.sol index eda08d64b5b72..74c86a933f650 100644 --- a/packages/contracts-bedrock/src/L1/BatchAuthenticator.sol +++ b/packages/contracts-bedrock/src/L1/BatchAuthenticator.sol @@ -61,4 +61,17 @@ contract BatchAuthenticator is ISemver, OwnableUpgradeable { function registerSigner(bytes calldata attestationTbs, bytes calldata signature) external { espressoTEEVerifier.registerSigner(attestationTbs, signature, IEspressoTEEVerifier.TeeType.NITRO); } + + function registerSignerWithoutAttestationVerification( + bytes32 pcr0Hash, + bytes calldata attestationTbs, + bytes calldata signature, + address enclaveAddress + ) + external + { + espressoTEEVerifier.espressoNitroTEEVerifier().registerSignerWithoutAttestationVerification( + pcr0Hash, attestationTbs, signature, enclaveAddress + ); + } }