From 8937de02af852c633fbd303bf4d64e9335ae08b7 Mon Sep 17 00:00:00 2001 From: QUAQ Date: Wed, 20 Nov 2024 16:40:04 -0600 Subject: [PATCH] rm binding update --- .../bindings/EigenDABlobVerifier/binding.go | 1055 ----------------- .../bindings/EigenDAServiceManager/binding.go | 260 +--- .../EigenDAThresholdRegistry/binding.go | 1024 ---------------- .../IEigenDAServiceManager/binding.go | 213 +--- contracts/bindings/MockRollup/binding.go | 76 +- .../src/interfaces/IEigenDABlobVerifier.sol | 4 +- .../src/interfaces/IEigenDAServiceManager.sol | 2 +- contracts/src/libraries/EigenDAHasher.sol | 2 +- 8 files changed, 89 insertions(+), 2547 deletions(-) delete mode 100644 contracts/bindings/EigenDABlobVerifier/binding.go delete mode 100644 contracts/bindings/EigenDAThresholdRegistry/binding.go diff --git a/contracts/bindings/EigenDABlobVerifier/binding.go b/contracts/bindings/EigenDABlobVerifier/binding.go deleted file mode 100644 index 7d224185d7..0000000000 --- a/contracts/bindings/EigenDABlobVerifier/binding.go +++ /dev/null @@ -1,1055 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package contractEigenDABlobVerifier - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// Attestation is an auto generated low-level Go binding around an user-defined struct. -type Attestation struct { - NonSignerPubkeys []BN254G1Point - QuorumApks []BN254G1Point - Sigma BN254G1Point - ApkG2 BN254G2Point - QuorumNumbers []uint32 - ReferenceBlockNumber uint32 -} - -// BN254G1Point is an auto generated low-level Go binding around an user-defined struct. -type BN254G1Point struct { - X *big.Int - Y *big.Int -} - -// BN254G2Point is an auto generated low-level Go binding around an user-defined struct. -type BN254G2Point struct { - X [2]*big.Int - Y [2]*big.Int -} - -// BatchHeader is an auto generated low-level Go binding around an user-defined struct. -type BatchHeader struct { - BlobHeadersRoot [32]byte - QuorumNumbers []byte - SignedStakeForQuorums []byte - ReferenceBlockNumber uint32 -} - -// BatchHeaderV2 is an auto generated low-level Go binding around an user-defined struct. -type BatchHeaderV2 struct { - BatchRoot [32]byte - ReferenceBlockNumber uint32 -} - -// BatchMetadata is an auto generated low-level Go binding around an user-defined struct. -type BatchMetadata struct { - BatchHeader BatchHeader - SignatoryRecordHash [32]byte - ConfirmationBlockNumber uint32 -} - -// BlobCertificate is an auto generated low-level Go binding around an user-defined struct. -type BlobCertificate struct { - BlobHeader BlobHeaderV2 - ReferenceBlockNumber uint32 - RelayKeys []uint32 -} - -// BlobCommitment is an auto generated low-level Go binding around an user-defined struct. -type BlobCommitment struct { - Commitment BN254G1Point - LengthCommitment BN254G2Point - LengthProof BN254G2Point - DataLength uint32 -} - -// BlobHeader is an auto generated low-level Go binding around an user-defined struct. -type BlobHeader struct { - Commitment BN254G1Point - DataLength uint32 - QuorumBlobParams []QuorumBlobParam -} - -// BlobHeaderV2 is an auto generated low-level Go binding around an user-defined struct. -type BlobHeaderV2 struct { - Version uint16 - QuorumNumbers []byte - Commitment BlobCommitment - PaymentHeaderHash [32]byte -} - -// BlobVerificationProof is an auto generated low-level Go binding around an user-defined struct. -type BlobVerificationProof struct { - BatchId uint32 - BlobIndex uint32 - BatchMetadata BatchMetadata - InclusionProof []byte - QuorumIndices []byte -} - -// BlobVerificationProofV2 is an auto generated low-level Go binding around an user-defined struct. -type BlobVerificationProofV2 struct { - BlobCertificate BlobCertificate - BlobIndex uint32 - InclusionProof []byte -} - -// NonSignerStakesAndSignature is an auto generated low-level Go binding around an user-defined struct. -type NonSignerStakesAndSignature struct { - NonSignerQuorumBitmapIndices []uint32 - NonSignerPubkeys []BN254G1Point - QuorumApks []BN254G1Point - ApkG2 BN254G2Point - Sigma BN254G1Point - QuorumApkIndices []uint32 - TotalStakeIndices []uint32 - NonSignerStakeIndices [][]uint32 -} - -// QuorumBlobParam is an auto generated low-level Go binding around an user-defined struct. -type QuorumBlobParam struct { - QuorumNumber uint8 - AdversaryThresholdPercentage uint8 - ConfirmationThresholdPercentage uint8 - ChunkLength uint32 -} - -// SecurityThresholds is an auto generated low-level Go binding around an user-defined struct. -type SecurityThresholds struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -} - -// SignedBatch is an auto generated low-level Go binding around an user-defined struct. -type SignedBatch struct { - BatchHeader BatchHeaderV2 - Attestation Attestation -} - -// VersionedBlobParams is an auto generated low-level Go binding around an user-defined struct. -type VersionedBlobParams struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -} - -// ContractEigenDABlobVerifierMetaData contains all meta data concerning the ContractEigenDABlobVerifier contract. -var ContractEigenDABlobVerifierMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_eigenDAThresholdRegistry\",\"type\":\"address\",\"internalType\":\"contractIEigenDAThresholdRegistry\"},{\"name\":\"_eigenDABatchMetadataStorage\",\"type\":\"address\",\"internalType\":\"contractIEigenDABatchMetadataStorage\"},{\"name\":\"_eigenDASignatureVerifier\",\"type\":\"address\",\"internalType\":\"contractIEigenDASignatureVerifier\"},{\"name\":\"_operatorStateRetriever\",\"type\":\"address\",\"internalType\":\"contractOperatorStateRetriever\"},{\"name\":\"_registryCoordinator\",\"type\":\"address\",\"internalType\":\"contractIRegistryCoordinator\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"eigenDABatchMetadataStorage\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDABatchMetadataStorage\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eigenDASignatureVerifier\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDASignatureVerifier\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eigenDAThresholdRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDAThresholdRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getBlobParams\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getDefaultSecurityThresholdsV2\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getIsQuorumRequired\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNonSignerStakesAndSignature\",\"inputs\":[{\"name\":\"signedBatch\",\"type\":\"tuple\",\"internalType\":\"structSignedBatch\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeaderV2\",\"components\":[{\"name\":\"batchRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"attestation\",\"type\":\"tuple\",\"internalType\":\"structAttestation\",\"components\":[{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"quorumNumbers\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeaderV2\",\"components\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBlobCommitment\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"lengthCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"lengthProof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"paymentHeaderHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumAdversaryThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumConfirmationThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"operatorStateRetriever\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractOperatorStateRetriever\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumAdversaryThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumConfirmationThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumNumbersRequired\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registryCoordinator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIRegistryCoordinator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobSecurityParams\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"securityThresholds\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobSecurityParams\",\"inputs\":[{\"name\":\"blobParams\",\"type\":\"tuple\",\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"securityThresholds\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobV1\",\"inputs\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeader\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"quorumBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structQuorumBlobParam[]\",\"components\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"chunkLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProof\",\"components\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"batchMetadata\",\"type\":\"tuple\",\"internalType\":\"structBatchMetadata\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"signatoryRecordHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"confirmationBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"quorumIndices\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobV1\",\"inputs\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeader\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"quorumBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structQuorumBlobParam[]\",\"components\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"chunkLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProof\",\"components\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"batchMetadata\",\"type\":\"tuple\",\"internalType\":\"structBatchMetadata\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"signatoryRecordHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"confirmationBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"quorumIndices\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"additionalQuorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobV2\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeaderV2\",\"components\":[{\"name\":\"batchRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProofV2\",\"components\":[{\"name\":\"blobCertificate\",\"type\":\"tuple\",\"internalType\":\"structBlobCertificate\",\"components\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeaderV2\",\"components\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBlobCommitment\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"lengthCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"lengthProof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"paymentHeaderHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"relayKeys\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"}]},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structNonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]},{\"name\":\"securityThreshold\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"additionalQuorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobV2\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeaderV2\",\"components\":[{\"name\":\"batchRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProofV2\",\"components\":[{\"name\":\"blobCertificate\",\"type\":\"tuple\",\"internalType\":\"structBlobCertificate\",\"components\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeaderV2\",\"components\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBlobCommitment\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"lengthCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"lengthProof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"paymentHeaderHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"relayKeys\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"}]},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structNonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]},{\"name\":\"additionalQuorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobV2\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeaderV2\",\"components\":[{\"name\":\"batchRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProofV2\",\"components\":[{\"name\":\"blobCertificate\",\"type\":\"tuple\",\"internalType\":\"structBlobCertificate\",\"components\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeaderV2\",\"components\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBlobCommitment\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"lengthCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"lengthProof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"paymentHeaderHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"relayKeys\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"}]},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structNonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]},{\"name\":\"securityThresholds\",\"type\":\"tuple[]\",\"internalType\":\"structSecurityThresholds[]\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"additionalQuorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobV2\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeaderV2\",\"components\":[{\"name\":\"batchRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProofV2\",\"components\":[{\"name\":\"blobCertificate\",\"type\":\"tuple\",\"internalType\":\"structBlobCertificate\",\"components\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeaderV2\",\"components\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBlobCommitment\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"lengthCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"lengthProof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"paymentHeaderHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"relayKeys\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"}]},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structNonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobsV1\",\"inputs\":[{\"name\":\"blobHeaders\",\"type\":\"tuple[]\",\"internalType\":\"structBlobHeader[]\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"quorumBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structQuorumBlobParam[]\",\"components\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"chunkLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobVerificationProofs\",\"type\":\"tuple[]\",\"internalType\":\"structBlobVerificationProof[]\",\"components\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"batchMetadata\",\"type\":\"tuple\",\"internalType\":\"structBatchMetadata\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"signatoryRecordHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"confirmationBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"quorumIndices\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyBlobsV1\",\"inputs\":[{\"name\":\"blobHeaders\",\"type\":\"tuple[]\",\"internalType\":\"structBlobHeader[]\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"quorumBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structQuorumBlobParam[]\",\"components\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"chunkLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobVerificationProofs\",\"type\":\"tuple[]\",\"internalType\":\"structBlobVerificationProof[]\",\"components\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"batchMetadata\",\"type\":\"tuple\",\"internalType\":\"structBatchMetadata\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"signatoryRecordHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"confirmationBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"quorumIndices\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"additionalQuorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"view\"}]", - Bin: "0x6101206040523480156200001257600080fd5b5060405162004a8238038062004a82833981016040819052620000359162000078565b6001600160a01b0394851660805292841660a05290831660c052821660e0521661010052620000f8565b6001600160a01b03811681146200007557600080fd5b50565b600080600080600060a086880312156200009157600080fd5b85516200009e816200005f565b6020870151909550620000b1816200005f565b6040870151909450620000c4816200005f565b6060870151909350620000d7816200005f565b6080870151909250620000ea816200005f565b809150509295509295909350565b60805160a05160c05160e0516101005161488f620001f3600039600081816102a601526109ec01526000818161021a01526109cb01526000818161039a015281816105680152818161068e015281816106ed0152610bb701526000818161027f015281816107f301528181610847015281816108ce0152610b3e0152600081816103d401528181610424015281816104ce01528181610547015281816105fd0152818161066d015281816106cc01528181610744015281816107d201528181610826015281816108ad015281816109020152818161096201528181610a4c01528181610a9901528181610b1d0152610b96015261488f6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638f3a8f32116100c3578063ee6c3bcf1161007c578063ee6c3bcf14610359578063ef6355291461036c578063efd4532b14610395578063f12afea6146103bc578063f8c66814146103cf578063fe727205146103f657600080fd5b80638f3a8f32146102f057806392ce4ab214610303578063b60e966214610316578063bafa910714610329578063e15234ff14610331578063ed4d5a471461033957600080fd5b8063579e958c11610115578063579e958c146102545780635f44b41814610267578063640f65d91461027a5780636d14a987146102a15780638687feae146102c85780638d67b909146102dd57600080fd5b8063048886d21461015d578063127af44d146101855780631429c7c21461019a5780632229cfdb146101bf5780632ecfe72b146101d25780634ca22c3f14610215575b600080fd5b61017061016b366004612914565b610409565b60405190151581526020015b60405180910390f35b610198610193366004612a3c565b61049d565b005b6101ad6101a8366004612914565b6104b3565b60405160ff909116815260200161017c565b6101986101cd366004612af5565b610542565b6101e56101e0366004612ba6565b6105c3565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff169082015260600161017c565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161017c565b610198610262366004612bc1565b610668565b610198610275366004612c84565b6106c7565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b6102d0610740565b60405161017c9190612df5565b6101986102eb366004612e2c565b6107cd565b6101986102fe366004612e8f565b610821565b610198610311366004612f36565b61089e565b610198610324366004612fe7565b6108a8565b6102d06108fe565b6102d061095e565b61034c610347366004613046565b6109be565b60405161017c91906131cb565b6101ad610367366004612914565b610a31565b610374610a83565b60408051825160ff908116825260209384015116928101929092520161017c565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b6101986103ca3660046132b3565b610b18565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b61019861040436600461332d565b610b91565b604051630244436960e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063048886d290602401602060405180830381865afa158015610473573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049791906133a1565b92915050565b6104af6104a9836105c3565b82610bf3565b5050565b604051630a14e3e160e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631429c7c2906024015b602060405180830381865afa15801561051e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049791906133c3565b6105bb7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008888888861059361095e565b89896040516020016105a7939291906133e0565b604051602081830303815290604052610da9565b505050505050565b60408051606081018252600080825260208201819052818301529051632ecfe72b60e01b815261ffff831660048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ecfe72b90602401606060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104979190613408565b6106c07f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008787876106b8610a83565b61059361095e565b5050505050565b6105bb7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008888888861071861095e565b898960405160200161072c939291906133e0565b60405160208183030381529060405261112f565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107c891908101906134a0565b905090565b6104af7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000848461081c61095e565b6114ca565b6108987f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868661087061095e565b8787604051602001610884939291906133e0565b6040516020818303038152906040526114ca565b50505050565b6104af8282610bf3565b6108987f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868686866108f961095e565b6119f0565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107a0573d6000803e3d6000fd5b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107a0573d6000803e3d6000fd5b6109c6612859565b610a2a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610a186040870187613516565b610a256020870187613537565b61223e565b9392505050565b60405163ee6c3bcf60e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ee6c3bcf90602401610501565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef6355296040518163ffffffff1660e01b81526004016040805180830381865afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c8919061357d565b6105bb7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000088888888610b6961095e565b8989604051602001610b7d939291906133e0565b6040516020818303038152906040526119f0565b610bee7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000858585610be1610a83565b610be961095e565b610da9565b505050565b806020015160ff16816000015160ff1611610cad5760405162461bcd60e51b8152602060048201526075602482015260008051602061483a83398151915260448201527f72696679426c6f625365637572697479506172616d733a20636f6e6669726d6160648201527f74696f6e5468726573686f6c64206d7573742062652067726561746572207468608482015274185b8818591d995c9cd85c9e551a1c995cda1bdb19605a1b60a482015260c4015b60405180910390fd5b60208101518151600091610cc0916135d4565b60ff1690506000836020015163ffffffff16846040015160ff1683620f4240610ce9919061360d565b610cf3919061360d565b610cff90612710613621565b610d099190613638565b8451909150610d1a90612710613657565b63ffffffff168110156108985760405162461bcd60e51b8152602060048201526058602482015260008051602061483a83398151915260448201527f72696679426c6f625365637572697479506172616d733a20736563757269747960648201527f20617373756d7074696f6e7320617265206e6f74206d65740000000000000000608482015260a401610ca4565b610e5c610db96040860186613537565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505088359150610e169050610dfe8880613683565b610e089080613699565b610e11906137b6565b6124d2565b604051602001610e2891815260200190565b60405160208183030381529060405280519060200120876020016020810190610e51919061388a565b63ffffffff16612502565b610e785760405162461bcd60e51b8152600401610ca4906138a7565b6000806001600160a01b038816636efb4636610ea1610e9c368b90038b018b61390b565b61251a565b610eab8980613683565b610eb59080613699565b610ec3906020810190613537565b610ed360408d0160208e0161388a565b8a6040518663ffffffff1660e01b8152600401610ef4959493929190613adc565b600060405180830381865afa158015610f11573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f399190810190613c96565b9092509050610fdb6001600160a01b038a16632ecfe72b610f5a8980613683565b610f649080613699565b610f72906020810190612ba6565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401606060405180830381865afa158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd59190613408565b85610bf3565b6000805b610fe98880613683565b610ff39080613699565b611001906020810190613537565b90508110156110f357856000015160ff168460200151828151811061102857611028613d32565b602002602001015161103a9190613d48565b6001600160601b031660648560000151838151811061105b5761105b613d32565b60200260200101516001600160601b03166110769190613638565b10156110945760405162461bcd60e51b8152600401610ca490613d6e565b6110df826110a28a80613683565b6110ac9080613699565b6110ba906020810190613537565b848181106110ca576110ca613d32565b600192013560f81c9190911b91909117919050565b9150806110eb81613dfe565b915050610fdf565b5061110761110085612545565b8281161490565b6111235760405162461bcd60e51b8152600401610ca490613e19565b50505050505050505050565b6111398480613683565b6111439080613699565b611151906020810190613537565b90508251146111f15760405162461bcd60e51b815260206004820152606c602482015260008051602061483a83398151915260448201527f72696679426c6f625632466f7251756f72756d733a207365637572697479546860648201527f726573686f6c6473206c656e67746820646f6573206e6f74206d61746368207160848201526b756f72756d4e756d6265727360a01b60a482015260c401610ca4565b611201610db96040860186613537565b61121d5760405162461bcd60e51b8152600401610ca4906138a7565b6000806001600160a01b038816636efb4636611241610e9c368b90038b018b61390b565b61124b8980613683565b6112559080613699565b611263906020810190613537565b61127360408d0160208e0161388a565b8a6040518663ffffffff1660e01b8152600401611294959493929190613adc565b600060405180830381865afa1580156112b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112d99190810190613c96565b90925090506000806001600160a01b038b16632ecfe72b6112fa8a80613683565b6113049080613699565b611312906020810190612ba6565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401606060405180830381865afa158015611351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113759190613408565b905060005b6113848980613683565b61138e9080613699565b61139c906020810190613537565b905081101561148d576113c8828883815181106113bb576113bb613d32565b6020026020010151610bf3565b8681815181106113da576113da613d32565b60200260200101516000015160ff16856020015182815181106113ff576113ff613d32565b60200260200101516114119190613d48565b6001600160601b031660648660000151838151811061143257611432613d32565b60200260200101516001600160601b031661144d9190613638565b101561146b5760405162461bcd60e51b8152600401610ca490613d6e565b611479836110a28b80613683565b92508061148581613dfe565b91505061137a565b506114a161149a86612545565b8381161490565b6114bd5760405162461bcd60e51b8152600401610ca490613e19565b5050505050505050505050565b6001600160a01b03841663eccbbfc96114e6602085018561388a565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c9190613ea3565b61156a61155c6040850185613683565b61156590613ebc565b6126d2565b146115875760405162461bcd60e51b8152600401610ca490613f93565b6116306115976060840184613537565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115d9925050506040850185613683565b6115e39080614005565b356115f56115f08761401b565b612743565b60405160200161160791815260200190565b60405160208183030381529060405280519060200120856020016020810190610e51919061388a565b61164c5760405162461bcd60e51b8152600401610ca49061413a565b6000805b61165d606086018661419c565b90508110156119c757611673606086018661419c565b8281811061168357611683613d32565b6116999260206080909202019081019150612914565b60ff166116a96040860186613683565b6116b39080614005565b6116c1906020810190613537565b6116ce6080880188613537565b858181106116de576116de613d32565b919091013560f81c90508181106116f7576116f7613d32565b9050013560f81c60f81b60f81c60ff16146117245760405162461bcd60e51b8152600401610ca4906141e5565b611731606086018661419c565b8281811061174157611741613d32565b90506080020160200160208101906117599190612914565b60ff16611769606087018761419c565b8381811061177957611779613d32565b90506080020160400160208101906117919190612914565b60ff16116117b15760405162461bcd60e51b8152600401610ca490614248565b6001600160a01b038716631429c7c26117cd606088018861419c565b848181106117dd576117dd613d32565b6117f39260206080909202019081019150612914565b6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185591906133c3565b60ff16611865606087018761419c565b8381811061187557611875613d32565b905060800201604001602081019061188d9190612914565b60ff1610156118ae5760405162461bcd60e51b8152600401610ca4906142b9565b6118bb606086018661419c565b828181106118cb576118cb613d32565b90506080020160400160208101906118e39190612914565b60ff166118f36040860186613683565b6118fd9080614005565b61190b906040810190613537565b6119186080880188613537565b8581811061192857611928613d32565b919091013560f81c905081811061194157611941613d32565b9050013560f81c60f81b60f81c60ff16101561196f5760405162461bcd60e51b8152600401610ca4906142b9565b6119b382611980606088018861419c565b8481811061199057611990613d32565b6119a69260206080909202019081019150612914565b600160ff919091161b1790565b9150806119bf81613dfe565b915050611650565b506119d461110083612545565b6105bb5760405162461bcd60e51b8152600401610ca49061432a565b838214611a8d5760405162461bcd60e51b815260206004820152606b602482015260008051602061483a83398151915260448201527f72696679426c6f6273466f7251756f72756d733a20626c6f624865616465727360648201527f20616e6420626c6f62566572696669636174696f6e50726f6f6673206c656e6760848201526a0e8d040dad2e6dac2e8c6d60ab1b60a482015260c401610ca4565b6000876001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa158015611acd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611af591908101906134a0565b905060005b8581101561223357876001600160a01b031663eccbbfc9868684818110611b2357611b23613d32565b9050602002810190611b3591906143b2565b611b4390602081019061388a565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015611b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba99190613ea3565b611bde868684818110611bbe57611bbe613d32565b9050602002810190611bd091906143b2565b61155c906040810190613683565b14611bfb5760405162461bcd60e51b8152600401610ca490613f93565b611d31858583818110611c1057611c10613d32565b9050602002810190611c2291906143b2565b611c30906060810190613537565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250889150859050818110611c7957611c79613d32565b9050602002810190611c8b91906143b2565b611c99906040810190613683565b611ca39080614005565b35611cd48a8a86818110611cb957611cb9613d32565b9050602002810190611ccb9190614005565b6115f09061401b565b604051602001611ce691815260200190565b60405160208183030381529060405280519060200120888886818110611d0e57611d0e613d32565b9050602002810190611d2091906143b2565b610e5190604081019060200161388a565b611d4d5760405162461bcd60e51b8152600401610ca49061413a565b6000805b888884818110611d6357611d63613d32565b9050602002810190611d759190614005565b611d8390606081019061419c565b90508110156121f957888884818110611d9e57611d9e613d32565b9050602002810190611db09190614005565b611dbe90606081019061419c565b82818110611dce57611dce613d32565b611de49260206080909202019081019150612914565b60ff16878785818110611df957611df9613d32565b9050602002810190611e0b91906143b2565b611e19906040810190613683565b611e239080614005565b611e31906020810190613537565b898987818110611e4357611e43613d32565b9050602002810190611e5591906143b2565b611e63906080810190613537565b85818110611e7357611e73613d32565b919091013560f81c9050818110611e8c57611e8c613d32565b9050013560f81c60f81b60f81c60ff1614611eb95760405162461bcd60e51b8152600401610ca4906141e5565b888884818110611ecb57611ecb613d32565b9050602002810190611edd9190614005565b611eeb90606081019061419c565b82818110611efb57611efb613d32565b9050608002016020016020810190611f139190612914565b60ff16898985818110611f2857611f28613d32565b9050602002810190611f3a9190614005565b611f4890606081019061419c565b83818110611f5857611f58613d32565b9050608002016040016020810190611f709190612914565b60ff1611611f905760405162461bcd60e51b8152600401610ca490614248565b83898985818110611fa357611fa3613d32565b9050602002810190611fb59190614005565b611fc390606081019061419c565b83818110611fd357611fd3613d32565b611fe99260206080909202019081019150612914565b60ff1681518110611ffc57611ffc613d32565b016020015160f81c89898581811061201657612016613d32565b90506020028101906120289190614005565b61203690606081019061419c565b8381811061204657612046613d32565b905060800201604001602081019061205e9190612914565b60ff16101561207f5760405162461bcd60e51b8152600401610ca4906142b9565b88888481811061209157612091613d32565b90506020028101906120a39190614005565b6120b190606081019061419c565b828181106120c1576120c1613d32565b90506080020160400160208101906120d99190612914565b60ff168787858181106120ee576120ee613d32565b905060200281019061210091906143b2565b61210e906040810190613683565b6121189080614005565b612126906040810190613537565b89898781811061213857612138613d32565b905060200281019061214a91906143b2565b612158906080810190613537565b8581811061216857612168613d32565b919091013560f81c905081811061218157612181613d32565b9050013560f81c60f81b60f81c60ff1610156121af5760405162461bcd60e51b8152600401610ca4906142b9565b6121e5828a8a868181106121c5576121c5613d32565b90506020028101906121d79190614005565b61198090606081019061419c565b9150806121f181613dfe565b915050611d51565b5061220661110085612545565b6122225760405162461bcd60e51b8152600401610ca49061432a565b5061222c81613dfe565b9050611afa565b505050505050505050565b612246612859565b600061225285806143c8565b90506001600160401b0381111561226b5761226b612948565b604051908082528060200260200182016040528015612294578160200160208202803683370190505b50905060005b6122a486806143c8565b9050811015612324576122f76122ba87806143c8565b838181106122ca576122ca613d32565b9050604002018036038101906122e09190614411565b805160009081526020918201519091526040902090565b82828151811061230957612309613d32565b602090810291909101015261231d81613dfe565b905061229a565b5060006001600160a01b038816634f739f74886123496101408a016101208b0161388a565b8888876040518663ffffffff1660e01b815260040161236c95949392919061442d565b600060405180830381865afa158015612389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123b19190810190614582565b8051845290506123c186806143c8565b808060200260200160405190810160405280939291908181526020016000905b8282101561240d576123fe60408302860136819003810190614411565b815260200190600101906123e1565b5050505060208086019290925250612427908701876143c8565b808060200260200160405190810160405280939291908181526020016000905b828210156124735761246460408302860136819003810190614411565b81526020019060010190612447565b5050505050604084015261248f3687900387016080880161465a565b60608401526124a636879003870160408801614411565b6080840152602081015160a0840152604081015160c08401526060015160e08301525095945050505050565b6000816040516020016124e59190614676565b604051602081830303815290604052805190602001209050919050565b600083612510868585612756565b1495945050505050565b6000816040516020016124e591908151815260209182015163ffffffff169181019190915260400190565b6000610100825111156125ce5760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a401610ca4565b81516125dc57506000919050565b600080836000815181106125f2576125f2613d32565b0160200151600160f89190911c81901b92505b84518110156126c95784818151811061262057612620613d32565b0160200151600160f89190911c1b91508282116126b55760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a401610ca4565b918117916126c281613dfe565b9050612605565b50909392505050565b600061049782600001516040516020016126ec9190614708565b60408051808303601f1901815282825280516020918201208682015187840151838601929092528484015260e01b6001600160e01b0319166060840152815160448185030181526064909301909152815191012090565b6000816040516020016124e59190614768565b600060208451612766919061480d565b156127ed5760405162461bcd60e51b815260206004820152604b60248201527f4d65726b6c652e70726f63657373496e636c7573696f6e50726f6f664b65636360448201527f616b3a2070726f6f66206c656e6774682073686f756c642062652061206d756c60648201526a3a34b836329037b310199960a91b608482015260a401610ca4565b8260205b855181116128505761280460028561480d565b6128255781600052808601516020526040600020915060028404935061283e565b8086015160005281602052604060002091506002840493505b612849602082614821565b90506127f1565b50949350505050565b6040518061010001604052806060815260200160608152602001606081526020016128826128bf565b81526020016128a4604051806040016040528060008152602001600081525090565b81526020016060815260200160608152602001606081525090565b60405180604001604052806128d26128e4565b81526020016128df6128e4565b905290565b60405180604001604052806002906020820280368337509192915050565b60ff8116811461291157600080fd5b50565b60006020828403121561292657600080fd5b8135610a2a81612902565b803561ffff8116811461294357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561298057612980612948565b60405290565b604051606081016001600160401b038111828210171561298057612980612948565b604051608081016001600160401b038111828210171561298057612980612948565b604051601f8201601f191681016001600160401b03811182821017156129f2576129f2612948565b604052919050565b600060408284031215612a0c57600080fd5b612a1461295e565b90508135612a2181612902565b81526020820135612a3181612902565b602082015292915050565b60008060608385031215612a4f57600080fd5b612a5883612931565b9150612a6784602085016129fa565b90509250929050565b600060408284031215612a8257600080fd5b50919050565b600060608284031215612a8257600080fd5b60006101808284031215612a8257600080fd5b60008083601f840112612abf57600080fd5b5081356001600160401b03811115612ad657600080fd5b602083019150836020828501011115612aee57600080fd5b9250929050565b60008060008060008060e08789031215612b0e57600080fd5b612b188888612a70565b955060408701356001600160401b0380821115612b3457600080fd5b612b408a838b01612a88565b96506060890135915080821115612b5657600080fd5b612b628a838b01612a9a565b9550612b718a60808b016129fa565b945060c0890135915080821115612b8757600080fd5b50612b9489828a01612aad565b979a9699509497509295939492505050565b600060208284031215612bb857600080fd5b610a2a82612931565b600080600080600060a08688031215612bd957600080fd5b612be38787612a70565b945060408601356001600160401b0380821115612bff57600080fd5b612c0b89838a01612a88565b95506060880135915080821115612c2157600080fd5b612c2d89838a01612a9a565b94506080880135915080821115612c4357600080fd5b50612c5088828901612aad565b969995985093965092949392505050565b60006001600160401b03821115612c7a57612c7a612948565b5060051b60200190565b60008060008060008060c08789031215612c9d57600080fd5b612ca78888612a70565b95506040808801356001600160401b0380821115612cc457600080fd5b612cd08b838c01612a88565b975060608a0135915080821115612ce657600080fd5b612cf28b838c01612a9a565b965060808a0135915080821115612d0857600080fd5b818a0191508a601f830112612d1c57600080fd5b81356020612d31612d2c83612c61565b6129ca565b82815260069290921b8401810191818101908e841115612d5057600080fd5b948201945b83861015612d7657612d678f876129fa565b82529486019490820190612d55565b985050505060a08a0135925080831115612d8f57600080fd5b5050612b9489828a01612aad565b60005b83811015612db8578181015183820152602001612da0565b838111156108985750506000910152565b60008151808452612de1816020860160208601612d9d565b601f01601f19169290920160200192915050565b602081526000610a2a6020830184612dc9565b600060808284031215612a8257600080fd5b600060a08284031215612a8257600080fd5b60008060408385031215612e3f57600080fd5b82356001600160401b0380821115612e5657600080fd5b612e6286838701612e08565b93506020850135915080821115612e7857600080fd5b50612e8585828601612e1a565b9150509250929050565b60008060008060608587031215612ea557600080fd5b84356001600160401b0380821115612ebc57600080fd5b612ec888838901612e08565b95506020870135915080821115612ede57600080fd5b612eea88838901612e1a565b94506040870135915080821115612f0057600080fd5b50612f0d87828801612aad565b95989497509550505050565b63ffffffff8116811461291157600080fd5b803561294381612f19565b60008082840360a0811215612f4a57600080fd5b6060811215612f5857600080fd5b50612f61612986565b8335612f6c81612f19565b81526020840135612f7c81612f19565b60208201526040840135612f8f81612902565b60408201529150612a6784606085016129fa565b60008083601f840112612fb557600080fd5b5081356001600160401b03811115612fcc57600080fd5b6020830191508360208260051b8501011115612aee57600080fd5b60008060008060408587031215612ffd57600080fd5b84356001600160401b038082111561301457600080fd5b61302088838901612fa3565b9096509450602087013591508082111561303957600080fd5b50612f0d87828801612fa3565b6000806040838503121561305957600080fd5b82356001600160401b038082111561307057600080fd5b61307c86838701612a88565b9350602085013591508082111561309257600080fd5b5083016101c081860312156130a657600080fd5b809150509250929050565b600081518084526020808501945080840160005b838110156130e757815163ffffffff16875295820195908201906001016130c5565b509495945050505050565b600081518084526020808501945080840160005b838110156130e75761312387835180518252602090810151910152565b6040969096019590820190600101613106565b8060005b600281101561089857815184526020938401939091019060010161313a565b613164828251613136565b6020810151610bee6040840182613136565b600081518084526020808501808196508360051b8101915082860160005b858110156131be5782840389526131ac8483516130b1565b98850198935090840190600101613194565b5091979650505050505050565b60208152600082516101808060208501526131ea6101a08501836130b1565b91506020850151601f198086850301604087015261320884836130f2565b9350604087015191508086850301606087015261322584836130f2565b93506060870151915061323b6080870183613159565b608087015180516101008801526020015161012087015260a08701518685038201610140880152915061326e84836130b1565b935060c08701519150808685030161016087015261328c84836130b1565b935060e08701519150808685030183870152506132a98382613176565b9695505050505050565b600080600080600080606087890312156132cc57600080fd5b86356001600160401b03808211156132e357600080fd5b6132ef8a838b01612fa3565b9098509650602089013591508082111561330857600080fd5b6133148a838b01612fa3565b90965094506040890135915080821115612b8757600080fd5b60008060006080848603121561334257600080fd5b61334c8585612a70565b925060408401356001600160401b038082111561336857600080fd5b61337487838801612a88565b9350606086013591508082111561338a57600080fd5b5061339786828701612a9a565b9150509250925092565b6000602082840312156133b357600080fd5b81518015158114610a2a57600080fd5b6000602082840312156133d557600080fd5b8151610a2a81612902565b600084516133f2818460208901612d9d565b8201838582376000930192835250909392505050565b60006060828403121561341a57600080fd5b604051606081018181106001600160401b038211171561343c5761343c612948565b604052825161344a81612f19565b8152602083015161345a81612f19565b6020820152604083015161346d81612902565b60408201529392505050565b60006001600160401b0382111561349257613492612948565b50601f01601f191660200190565b6000602082840312156134b257600080fd5b81516001600160401b038111156134c857600080fd5b8201601f810184136134d957600080fd5b80516134e7612d2c82613479565b8181528560208385010111156134fc57600080fd5b61350d826020830160208601612d9d565b95945050505050565b6000823561013e1983360301811261352d57600080fd5b9190910192915050565b6000808335601e1984360301811261354e57600080fd5b8301803591506001600160401b0382111561356857600080fd5b602001915036819003821315612aee57600080fd5b60006040828403121561358f57600080fd5b61359761295e565b82516135a281612902565b815260208301516135b281612902565b60208201529392505050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156135ee576135ee6135be565b90039392505050565b634e487b7160e01b600052601260045260246000fd5b60008261361c5761361c6135f7565b500490565b600082821015613633576136336135be565b500390565b6000816000190483118215151615613652576136526135be565b500290565b600063ffffffff8083168185168183048111821515161561367a5761367a6135be565b02949350505050565b60008235605e1983360301811261352d57600080fd5b600082356101be1983360301811261352d57600080fd5b600082601f8301126136c157600080fd5b81356136cf612d2c82613479565b8181528460208386010111156136e457600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121561371357600080fd5b61371b61295e565b9050813581526020820135602082015292915050565b600082601f83011261374257600080fd5b61374a61295e565b80604084018581111561375c57600080fd5b845b8181101561377657803584526020938401930161375e565b509095945050505050565b60006080828403121561379357600080fd5b61379b61295e565b90506137a78383613731565b8152612a318360408401613731565b60008136036101c08112156137ca57600080fd5b6137d26129a8565b6137db84612931565b815260208401356001600160401b038111156137f657600080fd5b613802368287016136b0565b602083015250610160603f198301121561381b57600080fd5b6138236129a8565b91506138323660408601613701565b82526138413660808601613781565b6020830152613854366101008601613781565b604083015261018084013561386881612f19565b806060840152508160408201526101a084013560608201528092505050919050565b60006020828403121561389c57600080fd5b8135610a2a81612f19565b602080825260509082015260008051602061483a83398151915260408201527f72696679426c6f625632466f7251756f72756d733a20696e636c7573696f6e2060608201526f1c1c9bdbd9881a5cc81a5b9d985b1a5960821b608082015260a00190565b60006040828403121561391d57600080fd5b61392561295e565b8235815260208301356135b281612f19565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261397757600080fd5b83016020810192503590506001600160401b0381111561399657600080fd5b8060051b3603831315612aee57600080fd5b8183526000602080850194508260005b858110156130e75781356139cb81612f19565b63ffffffff16875295820195908201906001016139b8565b6000808335601e198436030181126139fa57600080fd5b83016020810192503590506001600160401b03811115613a1957600080fd5b8060061b3603831315612aee57600080fd5b81835260208301925060008160005b84811015613a6257813586526020808301359087015260409586019590910190600101613a3a565b5093949350505050565b604081833760408201600081526040808301823750600060808301525050565b81835260006020808501808196508560051b810191508460005b878110156131be578284038952613abd8288613960565b613ac88682846139a8565b9a87019a9550505090840190600101613aa6565b858152608060208201526000613af6608083018688613937565b63ffffffff851660408401528281036060840152610180613b178586613960565b828452613b2783850182846139a8565b92505050613b3860208601866139e3565b8383036020850152613b4b838284613a2b565b92505050613b5c60408601866139e3565b8383036040850152613b6f838284613a2b565b92505050613b836060830160608701613a6c565b613b9d60e0830160e0870180358252602090810135910152565b610120613bac81870187613960565b84840383860152613bbe8482846139a8565b9350505050610140613bd281870187613960565b84840383860152613be48482846139a8565b9350505050610160613bf881870187613960565b84840383860152613c0a848284613a8c565b9c9b505050505050505050505050565b600082601f830112613c2b57600080fd5b81516020613c3b612d2c83612c61565b82815260059290921b84018101918181019086841115613c5a57600080fd5b8286015b84811015613c8b5780516001600160601b0381168114613c7e5760008081fd5b8352918301918301613c5e565b509695505050505050565b60008060408385031215613ca957600080fd5b82516001600160401b0380821115613cc057600080fd5b9084019060408287031215613cd457600080fd5b613cdc61295e565b825182811115613ceb57600080fd5b613cf788828601613c1a565b825250602083015182811115613d0c57600080fd5b613d1888828601613c1a565b602083015250809450505050602083015190509250929050565b634e487b7160e01b600052603260045260246000fd5b60006001600160601b038083168185168183048111821515161561367a5761367a6135be565b602080825260769082015260008051602061483a83398151915260408201527f72696679426c6f625632466f7251756f72756d733a207369676e61746f72696560608201527f7320646f206e6f74206f776e206174206c65617374207468726573686f6c642060808201527570657263656e74616765206f6620612071756f72756d60501b60a082015260c00190565b6000600019821415613e1257613e126135be565b5060010190565b602080825260709082015260008051602061483a83398151915260408201527f72696679426c6f625632466f7251756f72756d733a207265717569726564207160608201527f756f72756d7320617265206e6f74206120737562736574206f6620746865206360808201526f6f6e6669726d65642071756f72756d7360801b60a082015260c00190565b600060208284031215613eb557600080fd5b5051919050565b600060608236031215613ece57600080fd5b613ed6612986565b82356001600160401b0380821115613eed57600080fd5b818501915060808236031215613f0257600080fd5b613f0a6129a8565b82358152602083013582811115613f2057600080fd5b613f2c368286016136b0565b602083015250604083013582811115613f4457600080fd5b613f50368286016136b0565b60408301525060608301359250613f6683612f19565b82606082015280845250505060208301356020820152613f8860408401612f2b565b604082015292915050565b6020808252606090820181905260008051602061483a83398151915260408301527f72696679426c6f62466f7251756f72756d733a2062617463684d657461646174908201527f6120646f6573206e6f74206d617463682073746f726564206d65746164617461608082015260a00190565b60008235607e1983360301811261352d57600080fd5b6000608080833603121561402e57600080fd5b614036612986565b6140403685613701565b815260408085013561405181612f19565b6020818185015260609150818701356001600160401b0381111561407457600080fd5b870136601f82011261408557600080fd5b8035614093612d2c82612c61565b81815260079190911b820183019083810190368311156140b257600080fd5b928401925b82841015614126578884360312156140cf5760008081fd5b6140d76129a8565b84356140e281612902565b8152848601356140f181612902565b818701528488013561410281612902565b818901528487013561411381612f19565b81880152825292880192908401906140b7565b958701959095525093979650505050505050565b6020808252604e9082015260008051602061483a83398151915260408201527f72696679426c6f62466f7251756f72756d733a20696e636c7573696f6e20707260608201526d1bdbd9881a5cc81a5b9d985b1a5960921b608082015260a00190565b6000808335601e198436030181126141b357600080fd5b8301803591506001600160401b038211156141cd57600080fd5b6020019150600781901b3603821315612aee57600080fd5b6020808252604f9082015260008051602061483a83398151915260408201527f72696679426c6f62466f7251756f72756d733a2071756f72756d4e756d62657260608201526e040c8decae640dcdee840dac2e8c6d608b1b608082015260a00190565b602080825260579082015260008051602061483a83398151915260408201527f72696679426c6f62466f7251756f72756d733a207468726573686f6c6420706560608201527f7263656e746167657320617265206e6f742076616c6964000000000000000000608082015260a00190565b6020808252605e9082015260008051602061483a83398151915260408201527f72696679426c6f62466f7251756f72756d733a20636f6e6669726d6174696f6e60608201527f5468726573686f6c6450657263656e74616765206973206e6f74206d65740000608082015260a00190565b6020808252606e9082015260008051602061483a83398151915260408201527f72696679426c6f62466f7251756f72756d733a2072657175697265642071756f60608201527f72756d7320617265206e6f74206120737562736574206f662074686520636f6e60808201526d6669726d65642071756f72756d7360901b60a082015260c00190565b60008235609e1983360301811261352d57600080fd5b6000808335601e198436030181126143df57600080fd5b8301803591506001600160401b038211156143f957600080fd5b6020019150600681901b3603821315612aee57600080fd5b60006040828403121561442357600080fd5b610a2a8383613701565b60018060a01b03861681526000602063ffffffff8716818401526080604084015261445c608084018688613937565b838103606085015284518082528286019183019060005b8181101561448f57835183529284019291840191600101614473565b50909a9950505050505050505050565b600082601f8301126144b057600080fd5b815160206144c0612d2c83612c61565b82815260059290921b840181019181810190868411156144df57600080fd5b8286015b84811015613c8b5780516144f681612f19565b83529183019183016144e3565b600082601f83011261451457600080fd5b81516020614524612d2c83612c61565b82815260059290921b8401810191818101908684111561454357600080fd5b8286015b84811015613c8b5780516001600160401b038111156145665760008081fd5b6145748986838b010161449f565b845250918301918301614547565b60006020828403121561459457600080fd5b81516001600160401b03808211156145ab57600080fd5b90830190608082860312156145bf57600080fd5b6145c76129a8565b8251828111156145d657600080fd5b6145e28782860161449f565b8252506020830151828111156145f757600080fd5b6146038782860161449f565b60208301525060408301518281111561461b57600080fd5b6146278782860161449f565b60408301525060608301518281111561463f57600080fd5b61464b87828601614503565b60608301525095945050505050565b60006080828403121561466c57600080fd5b610a2a8383613781565b6020815261ffff8251166020820152600060208301516101c08060408501526146a36101e0850183612dc9565b604086015180518051606088015260200151608087015290925060208101516146cf60a0870182613159565b5060408101516146e3610120870182613159565b5060609081015163ffffffff166101a086015294909401519390920192909252919050565b6020815281516020820152600060208301516080604084015261472e60a0840182612dc9565b90506040840151601f1984830301606085015261474b8282612dc9565b91505063ffffffff60608501511660808401528091505092915050565b60208082528251805183830152810151604083015260009060a0830181850151606063ffffffff808316828801526040925082880151608080818a015285825180885260c08b0191508884019750600093505b808410156147fe578751805160ff90811684528a82015181168b8501528882015116888401528601518516868301529688019660019390930192908201906147bb565b509a9950505050505050505050565b60008261481c5761481c6135f7565b500690565b60008219821115614834576148346135be565b50019056fe456967656e4441426c6f62566572696669636174696f6e5574696c732e5f7665a2646970667358221220ef933533d7339fe045defeff0cb8d1b5bdbeb5a2a78af4b2c897d04532eef9fb64736f6c634300080c0033", -} - -// ContractEigenDABlobVerifierABI is the input ABI used to generate the binding from. -// Deprecated: Use ContractEigenDABlobVerifierMetaData.ABI instead. -var ContractEigenDABlobVerifierABI = ContractEigenDABlobVerifierMetaData.ABI - -// ContractEigenDABlobVerifierBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use ContractEigenDABlobVerifierMetaData.Bin instead. -var ContractEigenDABlobVerifierBin = ContractEigenDABlobVerifierMetaData.Bin - -// DeployContractEigenDABlobVerifier deploys a new Ethereum contract, binding an instance of ContractEigenDABlobVerifier to it. -func DeployContractEigenDABlobVerifier(auth *bind.TransactOpts, backend bind.ContractBackend, _eigenDAThresholdRegistry common.Address, _eigenDABatchMetadataStorage common.Address, _eigenDASignatureVerifier common.Address, _operatorStateRetriever common.Address, _registryCoordinator common.Address) (common.Address, *types.Transaction, *ContractEigenDABlobVerifier, error) { - parsed, err := ContractEigenDABlobVerifierMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractEigenDABlobVerifierBin), backend, _eigenDAThresholdRegistry, _eigenDABatchMetadataStorage, _eigenDASignatureVerifier, _operatorStateRetriever, _registryCoordinator) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &ContractEigenDABlobVerifier{ContractEigenDABlobVerifierCaller: ContractEigenDABlobVerifierCaller{contract: contract}, ContractEigenDABlobVerifierTransactor: ContractEigenDABlobVerifierTransactor{contract: contract}, ContractEigenDABlobVerifierFilterer: ContractEigenDABlobVerifierFilterer{contract: contract}}, nil -} - -// ContractEigenDABlobVerifier is an auto generated Go binding around an Ethereum contract. -type ContractEigenDABlobVerifier struct { - ContractEigenDABlobVerifierCaller // Read-only binding to the contract - ContractEigenDABlobVerifierTransactor // Write-only binding to the contract - ContractEigenDABlobVerifierFilterer // Log filterer for contract events -} - -// ContractEigenDABlobVerifierCaller is an auto generated read-only Go binding around an Ethereum contract. -type ContractEigenDABlobVerifierCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ContractEigenDABlobVerifierTransactor is an auto generated write-only Go binding around an Ethereum contract. -type ContractEigenDABlobVerifierTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ContractEigenDABlobVerifierFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type ContractEigenDABlobVerifierFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ContractEigenDABlobVerifierSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type ContractEigenDABlobVerifierSession struct { - Contract *ContractEigenDABlobVerifier // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ContractEigenDABlobVerifierCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type ContractEigenDABlobVerifierCallerSession struct { - Contract *ContractEigenDABlobVerifierCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// ContractEigenDABlobVerifierTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type ContractEigenDABlobVerifierTransactorSession struct { - Contract *ContractEigenDABlobVerifierTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ContractEigenDABlobVerifierRaw is an auto generated low-level Go binding around an Ethereum contract. -type ContractEigenDABlobVerifierRaw struct { - Contract *ContractEigenDABlobVerifier // Generic contract binding to access the raw methods on -} - -// ContractEigenDABlobVerifierCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type ContractEigenDABlobVerifierCallerRaw struct { - Contract *ContractEigenDABlobVerifierCaller // Generic read-only contract binding to access the raw methods on -} - -// ContractEigenDABlobVerifierTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type ContractEigenDABlobVerifierTransactorRaw struct { - Contract *ContractEigenDABlobVerifierTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewContractEigenDABlobVerifier creates a new instance of ContractEigenDABlobVerifier, bound to a specific deployed contract. -func NewContractEigenDABlobVerifier(address common.Address, backend bind.ContractBackend) (*ContractEigenDABlobVerifier, error) { - contract, err := bindContractEigenDABlobVerifier(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &ContractEigenDABlobVerifier{ContractEigenDABlobVerifierCaller: ContractEigenDABlobVerifierCaller{contract: contract}, ContractEigenDABlobVerifierTransactor: ContractEigenDABlobVerifierTransactor{contract: contract}, ContractEigenDABlobVerifierFilterer: ContractEigenDABlobVerifierFilterer{contract: contract}}, nil -} - -// NewContractEigenDABlobVerifierCaller creates a new read-only instance of ContractEigenDABlobVerifier, bound to a specific deployed contract. -func NewContractEigenDABlobVerifierCaller(address common.Address, caller bind.ContractCaller) (*ContractEigenDABlobVerifierCaller, error) { - contract, err := bindContractEigenDABlobVerifier(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &ContractEigenDABlobVerifierCaller{contract: contract}, nil -} - -// NewContractEigenDABlobVerifierTransactor creates a new write-only instance of ContractEigenDABlobVerifier, bound to a specific deployed contract. -func NewContractEigenDABlobVerifierTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractEigenDABlobVerifierTransactor, error) { - contract, err := bindContractEigenDABlobVerifier(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &ContractEigenDABlobVerifierTransactor{contract: contract}, nil -} - -// NewContractEigenDABlobVerifierFilterer creates a new log filterer instance of ContractEigenDABlobVerifier, bound to a specific deployed contract. -func NewContractEigenDABlobVerifierFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractEigenDABlobVerifierFilterer, error) { - contract, err := bindContractEigenDABlobVerifier(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &ContractEigenDABlobVerifierFilterer{contract: contract}, nil -} - -// bindContractEigenDABlobVerifier binds a generic wrapper to an already deployed contract. -func bindContractEigenDABlobVerifier(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := ContractEigenDABlobVerifierMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ContractEigenDABlobVerifier.Contract.ContractEigenDABlobVerifierCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ContractEigenDABlobVerifier.Contract.ContractEigenDABlobVerifierTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ContractEigenDABlobVerifier.Contract.ContractEigenDABlobVerifierTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ContractEigenDABlobVerifier.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ContractEigenDABlobVerifier.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ContractEigenDABlobVerifier.Contract.contract.Transact(opts, method, params...) -} - -// EigenDABatchMetadataStorage is a free data retrieval call binding the contract method 0x640f65d9. -// -// Solidity: function eigenDABatchMetadataStorage() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) EigenDABatchMetadataStorage(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "eigenDABatchMetadataStorage") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EigenDABatchMetadataStorage is a free data retrieval call binding the contract method 0x640f65d9. -// -// Solidity: function eigenDABatchMetadataStorage() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) EigenDABatchMetadataStorage() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.EigenDABatchMetadataStorage(&_ContractEigenDABlobVerifier.CallOpts) -} - -// EigenDABatchMetadataStorage is a free data retrieval call binding the contract method 0x640f65d9. -// -// Solidity: function eigenDABatchMetadataStorage() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) EigenDABatchMetadataStorage() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.EigenDABatchMetadataStorage(&_ContractEigenDABlobVerifier.CallOpts) -} - -// EigenDASignatureVerifier is a free data retrieval call binding the contract method 0xefd4532b. -// -// Solidity: function eigenDASignatureVerifier() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) EigenDASignatureVerifier(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "eigenDASignatureVerifier") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EigenDASignatureVerifier is a free data retrieval call binding the contract method 0xefd4532b. -// -// Solidity: function eigenDASignatureVerifier() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) EigenDASignatureVerifier() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.EigenDASignatureVerifier(&_ContractEigenDABlobVerifier.CallOpts) -} - -// EigenDASignatureVerifier is a free data retrieval call binding the contract method 0xefd4532b. -// -// Solidity: function eigenDASignatureVerifier() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) EigenDASignatureVerifier() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.EigenDASignatureVerifier(&_ContractEigenDABlobVerifier.CallOpts) -} - -// EigenDAThresholdRegistry is a free data retrieval call binding the contract method 0xf8c66814. -// -// Solidity: function eigenDAThresholdRegistry() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) EigenDAThresholdRegistry(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "eigenDAThresholdRegistry") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EigenDAThresholdRegistry is a free data retrieval call binding the contract method 0xf8c66814. -// -// Solidity: function eigenDAThresholdRegistry() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) EigenDAThresholdRegistry() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.EigenDAThresholdRegistry(&_ContractEigenDABlobVerifier.CallOpts) -} - -// EigenDAThresholdRegistry is a free data retrieval call binding the contract method 0xf8c66814. -// -// Solidity: function eigenDAThresholdRegistry() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) EigenDAThresholdRegistry() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.EigenDAThresholdRegistry(&_ContractEigenDABlobVerifier.CallOpts) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetBlobParams(opts *bind.CallOpts, version uint16) (VersionedBlobParams, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getBlobParams", version) - - if err != nil { - return *new(VersionedBlobParams), err - } - - out0 := *abi.ConvertType(out[0], new(VersionedBlobParams)).(*VersionedBlobParams) - - return out0, err - -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractEigenDABlobVerifier.Contract.GetBlobParams(&_ContractEigenDABlobVerifier.CallOpts, version) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractEigenDABlobVerifier.Contract.GetBlobParams(&_ContractEigenDABlobVerifier.CallOpts, version) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetDefaultSecurityThresholdsV2(opts *bind.CallOpts) (SecurityThresholds, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getDefaultSecurityThresholdsV2") - - if err != nil { - return *new(SecurityThresholds), err - } - - out0 := *abi.ConvertType(out[0], new(SecurityThresholds)).(*SecurityThresholds) - - return out0, err - -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractEigenDABlobVerifier.Contract.GetDefaultSecurityThresholdsV2(&_ContractEigenDABlobVerifier.CallOpts) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractEigenDABlobVerifier.Contract.GetDefaultSecurityThresholdsV2(&_ContractEigenDABlobVerifier.CallOpts) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetIsQuorumRequired(opts *bind.CallOpts, quorumNumber uint8) (bool, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getIsQuorumRequired", quorumNumber) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractEigenDABlobVerifier.Contract.GetIsQuorumRequired(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractEigenDABlobVerifier.Contract.GetIsQuorumRequired(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) -} - -// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0xed4d5a47. -// -// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[],uint32)) signedBatch, (uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32) blobHeader) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetNonSignerStakesAndSignature(opts *bind.CallOpts, signedBatch SignedBatch, blobHeader BlobHeaderV2) (NonSignerStakesAndSignature, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getNonSignerStakesAndSignature", signedBatch, blobHeader) - - if err != nil { - return *new(NonSignerStakesAndSignature), err - } - - out0 := *abi.ConvertType(out[0], new(NonSignerStakesAndSignature)).(*NonSignerStakesAndSignature) - - return out0, err - -} - -// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0xed4d5a47. -// -// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[],uint32)) signedBatch, (uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32) blobHeader) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetNonSignerStakesAndSignature(signedBatch SignedBatch, blobHeader BlobHeaderV2) (NonSignerStakesAndSignature, error) { - return _ContractEigenDABlobVerifier.Contract.GetNonSignerStakesAndSignature(&_ContractEigenDABlobVerifier.CallOpts, signedBatch, blobHeader) -} - -// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0xed4d5a47. -// -// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[],uint32)) signedBatch, (uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32) blobHeader) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetNonSignerStakesAndSignature(signedBatch SignedBatch, blobHeader BlobHeaderV2) (NonSignerStakesAndSignature, error) { - return _ContractEigenDABlobVerifier.Contract.GetNonSignerStakesAndSignature(&_ContractEigenDABlobVerifier.CallOpts, signedBatch, blobHeader) -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetQuorumAdversaryThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getQuorumAdversaryThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDABlobVerifier.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDABlobVerifier.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetQuorumConfirmationThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getQuorumConfirmationThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDABlobVerifier.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDABlobVerifier.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) -} - -// OperatorStateRetriever is a free data retrieval call binding the contract method 0x4ca22c3f. -// -// Solidity: function operatorStateRetriever() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) OperatorStateRetriever(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "operatorStateRetriever") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// OperatorStateRetriever is a free data retrieval call binding the contract method 0x4ca22c3f. -// -// Solidity: function operatorStateRetriever() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) OperatorStateRetriever() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.OperatorStateRetriever(&_ContractEigenDABlobVerifier.CallOpts) -} - -// OperatorStateRetriever is a free data retrieval call binding the contract method 0x4ca22c3f. -// -// Solidity: function operatorStateRetriever() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) OperatorStateRetriever() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.OperatorStateRetriever(&_ContractEigenDABlobVerifier.CallOpts) -} - -// QuorumAdversaryThresholdPercentages is a free data retrieval call binding the contract method 0x8687feae. -// -// Solidity: function quorumAdversaryThresholdPercentages() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) QuorumAdversaryThresholdPercentages(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "quorumAdversaryThresholdPercentages") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// QuorumAdversaryThresholdPercentages is a free data retrieval call binding the contract method 0x8687feae. -// -// Solidity: function quorumAdversaryThresholdPercentages() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) QuorumAdversaryThresholdPercentages() ([]byte, error) { - return _ContractEigenDABlobVerifier.Contract.QuorumAdversaryThresholdPercentages(&_ContractEigenDABlobVerifier.CallOpts) -} - -// QuorumAdversaryThresholdPercentages is a free data retrieval call binding the contract method 0x8687feae. -// -// Solidity: function quorumAdversaryThresholdPercentages() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) QuorumAdversaryThresholdPercentages() ([]byte, error) { - return _ContractEigenDABlobVerifier.Contract.QuorumAdversaryThresholdPercentages(&_ContractEigenDABlobVerifier.CallOpts) -} - -// QuorumConfirmationThresholdPercentages is a free data retrieval call binding the contract method 0xbafa9107. -// -// Solidity: function quorumConfirmationThresholdPercentages() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) QuorumConfirmationThresholdPercentages(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "quorumConfirmationThresholdPercentages") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// QuorumConfirmationThresholdPercentages is a free data retrieval call binding the contract method 0xbafa9107. -// -// Solidity: function quorumConfirmationThresholdPercentages() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) QuorumConfirmationThresholdPercentages() ([]byte, error) { - return _ContractEigenDABlobVerifier.Contract.QuorumConfirmationThresholdPercentages(&_ContractEigenDABlobVerifier.CallOpts) -} - -// QuorumConfirmationThresholdPercentages is a free data retrieval call binding the contract method 0xbafa9107. -// -// Solidity: function quorumConfirmationThresholdPercentages() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) QuorumConfirmationThresholdPercentages() ([]byte, error) { - return _ContractEigenDABlobVerifier.Contract.QuorumConfirmationThresholdPercentages(&_ContractEigenDABlobVerifier.CallOpts) -} - -// QuorumNumbersRequired is a free data retrieval call binding the contract method 0xe15234ff. -// -// Solidity: function quorumNumbersRequired() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) QuorumNumbersRequired(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "quorumNumbersRequired") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// QuorumNumbersRequired is a free data retrieval call binding the contract method 0xe15234ff. -// -// Solidity: function quorumNumbersRequired() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) QuorumNumbersRequired() ([]byte, error) { - return _ContractEigenDABlobVerifier.Contract.QuorumNumbersRequired(&_ContractEigenDABlobVerifier.CallOpts) -} - -// QuorumNumbersRequired is a free data retrieval call binding the contract method 0xe15234ff. -// -// Solidity: function quorumNumbersRequired() view returns(bytes) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) QuorumNumbersRequired() ([]byte, error) { - return _ContractEigenDABlobVerifier.Contract.QuorumNumbersRequired(&_ContractEigenDABlobVerifier.CallOpts) -} - -// RegistryCoordinator is a free data retrieval call binding the contract method 0x6d14a987. -// -// Solidity: function registryCoordinator() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) RegistryCoordinator(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "registryCoordinator") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// RegistryCoordinator is a free data retrieval call binding the contract method 0x6d14a987. -// -// Solidity: function registryCoordinator() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) RegistryCoordinator() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.RegistryCoordinator(&_ContractEigenDABlobVerifier.CallOpts) -} - -// RegistryCoordinator is a free data retrieval call binding the contract method 0x6d14a987. -// -// Solidity: function registryCoordinator() view returns(address) -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) RegistryCoordinator() (common.Address, error) { - return _ContractEigenDABlobVerifier.Contract.RegistryCoordinator(&_ContractEigenDABlobVerifier.CallOpts) -} - -// VerifyBlobSecurityParams is a free data retrieval call binding the contract method 0x127af44d. -// -// Solidity: function verifyBlobSecurityParams(uint16 version, (uint8,uint8) securityThresholds) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobSecurityParams(opts *bind.CallOpts, version uint16, securityThresholds SecurityThresholds) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobSecurityParams", version, securityThresholds) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobSecurityParams is a free data retrieval call binding the contract method 0x127af44d. -// -// Solidity: function verifyBlobSecurityParams(uint16 version, (uint8,uint8) securityThresholds) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobSecurityParams(version uint16, securityThresholds SecurityThresholds) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobSecurityParams(&_ContractEigenDABlobVerifier.CallOpts, version, securityThresholds) -} - -// VerifyBlobSecurityParams is a free data retrieval call binding the contract method 0x127af44d. -// -// Solidity: function verifyBlobSecurityParams(uint16 version, (uint8,uint8) securityThresholds) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobSecurityParams(version uint16, securityThresholds SecurityThresholds) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobSecurityParams(&_ContractEigenDABlobVerifier.CallOpts, version, securityThresholds) -} - -// VerifyBlobSecurityParams0 is a free data retrieval call binding the contract method 0x92ce4ab2. -// -// Solidity: function verifyBlobSecurityParams((uint32,uint32,uint8) blobParams, (uint8,uint8) securityThresholds) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobSecurityParams0(opts *bind.CallOpts, blobParams VersionedBlobParams, securityThresholds SecurityThresholds) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobSecurityParams0", blobParams, securityThresholds) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobSecurityParams0 is a free data retrieval call binding the contract method 0x92ce4ab2. -// -// Solidity: function verifyBlobSecurityParams((uint32,uint32,uint8) blobParams, (uint8,uint8) securityThresholds) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobSecurityParams0(blobParams VersionedBlobParams, securityThresholds SecurityThresholds) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobSecurityParams0(&_ContractEigenDABlobVerifier.CallOpts, blobParams, securityThresholds) -} - -// VerifyBlobSecurityParams0 is a free data retrieval call binding the contract method 0x92ce4ab2. -// -// Solidity: function verifyBlobSecurityParams((uint32,uint32,uint8) blobParams, (uint8,uint8) securityThresholds) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobSecurityParams0(blobParams VersionedBlobParams, securityThresholds SecurityThresholds) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobSecurityParams0(&_ContractEigenDABlobVerifier.CallOpts, blobParams, securityThresholds) -} - -// VerifyBlobV1 is a free data retrieval call binding the contract method 0x8d67b909. -// -// Solidity: function verifyBlobV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV1(opts *bind.CallOpts, blobHeader BlobHeader, blobVerificationProof BlobVerificationProof) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV1", blobHeader, blobVerificationProof) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobV1 is a free data retrieval call binding the contract method 0x8d67b909. -// -// Solidity: function verifyBlobV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV1(blobHeader BlobHeader, blobVerificationProof BlobVerificationProof) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV1(&_ContractEigenDABlobVerifier.CallOpts, blobHeader, blobVerificationProof) -} - -// VerifyBlobV1 is a free data retrieval call binding the contract method 0x8d67b909. -// -// Solidity: function verifyBlobV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV1(blobHeader BlobHeader, blobVerificationProof BlobVerificationProof) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV1(&_ContractEigenDABlobVerifier.CallOpts, blobHeader, blobVerificationProof) -} - -// VerifyBlobV10 is a free data retrieval call binding the contract method 0x8f3a8f32. -// -// Solidity: function verifyBlobV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV10(opts *bind.CallOpts, blobHeader BlobHeader, blobVerificationProof BlobVerificationProof, additionalQuorumNumbersRequired []byte) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV10", blobHeader, blobVerificationProof, additionalQuorumNumbersRequired) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobV10 is a free data retrieval call binding the contract method 0x8f3a8f32. -// -// Solidity: function verifyBlobV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV10(blobHeader BlobHeader, blobVerificationProof BlobVerificationProof, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV10(&_ContractEigenDABlobVerifier.CallOpts, blobHeader, blobVerificationProof, additionalQuorumNumbersRequired) -} - -// VerifyBlobV10 is a free data retrieval call binding the contract method 0x8f3a8f32. -// -// Solidity: function verifyBlobV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV10(blobHeader BlobHeader, blobVerificationProof BlobVerificationProof, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV10(&_ContractEigenDABlobVerifier.CallOpts, blobHeader, blobVerificationProof, additionalQuorumNumbersRequired) -} - -// VerifyBlobV2 is a free data retrieval call binding the contract method 0x2229cfdb. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, (uint8,uint8) securityThreshold, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV2(opts *bind.CallOpts, batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, securityThreshold SecurityThresholds, additionalQuorumNumbersRequired []byte) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV2", batchHeader, blobVerificationProof, nonSignerStakesAndSignature, securityThreshold, additionalQuorumNumbersRequired) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobV2 is a free data retrieval call binding the contract method 0x2229cfdb. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, (uint8,uint8) securityThreshold, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV2(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, securityThreshold SecurityThresholds, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV2(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature, securityThreshold, additionalQuorumNumbersRequired) -} - -// VerifyBlobV2 is a free data retrieval call binding the contract method 0x2229cfdb. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, (uint8,uint8) securityThreshold, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV2(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, securityThreshold SecurityThresholds, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV2(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature, securityThreshold, additionalQuorumNumbersRequired) -} - -// VerifyBlobV20 is a free data retrieval call binding the contract method 0x579e958c. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV20(opts *bind.CallOpts, batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, additionalQuorumNumbersRequired []byte) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV20", batchHeader, blobVerificationProof, nonSignerStakesAndSignature, additionalQuorumNumbersRequired) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobV20 is a free data retrieval call binding the contract method 0x579e958c. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV20(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV20(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature, additionalQuorumNumbersRequired) -} - -// VerifyBlobV20 is a free data retrieval call binding the contract method 0x579e958c. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV20(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV20(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature, additionalQuorumNumbersRequired) -} - -// VerifyBlobV21 is a free data retrieval call binding the contract method 0x5f44b418. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, (uint8,uint8)[] securityThresholds, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV21(opts *bind.CallOpts, batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, securityThresholds []SecurityThresholds, additionalQuorumNumbersRequired []byte) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV21", batchHeader, blobVerificationProof, nonSignerStakesAndSignature, securityThresholds, additionalQuorumNumbersRequired) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobV21 is a free data retrieval call binding the contract method 0x5f44b418. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, (uint8,uint8)[] securityThresholds, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV21(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, securityThresholds []SecurityThresholds, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV21(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature, securityThresholds, additionalQuorumNumbersRequired) -} - -// VerifyBlobV21 is a free data retrieval call binding the contract method 0x5f44b418. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature, (uint8,uint8)[] securityThresholds, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV21(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature, securityThresholds []SecurityThresholds, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV21(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature, securityThresholds, additionalQuorumNumbersRequired) -} - -// VerifyBlobV22 is a free data retrieval call binding the contract method 0xfe727205. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV22(opts *bind.CallOpts, batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV22", batchHeader, blobVerificationProof, nonSignerStakesAndSignature) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobV22 is a free data retrieval call binding the contract method 0xfe727205. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV22(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV22(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature) -} - -// VerifyBlobV22 is a free data retrieval call binding the contract method 0xfe727205. -// -// Solidity: function verifyBlobV2((bytes32,uint32) batchHeader, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32,uint32[]),uint32,bytes) blobVerificationProof, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV22(batchHeader BatchHeaderV2, blobVerificationProof BlobVerificationProofV2, nonSignerStakesAndSignature NonSignerStakesAndSignature) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobV22(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature) -} - -// VerifyBlobsV1 is a free data retrieval call binding the contract method 0xb60e9662. -// -// Solidity: function verifyBlobsV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[])[] blobHeaders, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes)[] blobVerificationProofs) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobsV1(opts *bind.CallOpts, blobHeaders []BlobHeader, blobVerificationProofs []BlobVerificationProof) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobsV1", blobHeaders, blobVerificationProofs) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobsV1 is a free data retrieval call binding the contract method 0xb60e9662. -// -// Solidity: function verifyBlobsV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[])[] blobHeaders, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes)[] blobVerificationProofs) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobsV1(blobHeaders []BlobHeader, blobVerificationProofs []BlobVerificationProof) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobsV1(&_ContractEigenDABlobVerifier.CallOpts, blobHeaders, blobVerificationProofs) -} - -// VerifyBlobsV1 is a free data retrieval call binding the contract method 0xb60e9662. -// -// Solidity: function verifyBlobsV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[])[] blobHeaders, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes)[] blobVerificationProofs) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobsV1(blobHeaders []BlobHeader, blobVerificationProofs []BlobVerificationProof) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobsV1(&_ContractEigenDABlobVerifier.CallOpts, blobHeaders, blobVerificationProofs) -} - -// VerifyBlobsV10 is a free data retrieval call binding the contract method 0xf12afea6. -// -// Solidity: function verifyBlobsV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[])[] blobHeaders, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes)[] blobVerificationProofs, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobsV10(opts *bind.CallOpts, blobHeaders []BlobHeader, blobVerificationProofs []BlobVerificationProof, additionalQuorumNumbersRequired []byte) error { - var out []interface{} - err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobsV10", blobHeaders, blobVerificationProofs, additionalQuorumNumbersRequired) - - if err != nil { - return err - } - - return err - -} - -// VerifyBlobsV10 is a free data retrieval call binding the contract method 0xf12afea6. -// -// Solidity: function verifyBlobsV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[])[] blobHeaders, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes)[] blobVerificationProofs, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobsV10(blobHeaders []BlobHeader, blobVerificationProofs []BlobVerificationProof, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobsV10(&_ContractEigenDABlobVerifier.CallOpts, blobHeaders, blobVerificationProofs, additionalQuorumNumbersRequired) -} - -// VerifyBlobsV10 is a free data retrieval call binding the contract method 0xf12afea6. -// -// Solidity: function verifyBlobsV1(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[])[] blobHeaders, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes)[] blobVerificationProofs, bytes additionalQuorumNumbersRequired) view returns() -func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobsV10(blobHeaders []BlobHeader, blobVerificationProofs []BlobVerificationProof, additionalQuorumNumbersRequired []byte) error { - return _ContractEigenDABlobVerifier.Contract.VerifyBlobsV10(&_ContractEigenDABlobVerifier.CallOpts, blobHeaders, blobVerificationProofs, additionalQuorumNumbersRequired) -} diff --git a/contracts/bindings/EigenDAServiceManager/binding.go b/contracts/bindings/EigenDAServiceManager/binding.go index f538475a85..19f8b4be4a 100644 --- a/contracts/bindings/EigenDAServiceManager/binding.go +++ b/contracts/bindings/EigenDAServiceManager/binding.go @@ -41,14 +41,6 @@ type BN254G2Point struct { Y [2]*big.Int } -// BatchHeader is an auto generated low-level Go binding around an user-defined struct. -type BatchHeader struct { - BlobHeadersRoot [32]byte - QuorumNumbers []byte - SignedStakeForQuorums []byte - ReferenceBlockNumber uint32 -} - // IBLSSignatureCheckerNonSignerStakesAndSignature is an auto generated low-level Go binding around an user-defined struct. type IBLSSignatureCheckerNonSignerStakesAndSignature struct { NonSignerQuorumBitmapIndices []uint32 @@ -67,6 +59,14 @@ type IBLSSignatureCheckerQuorumStakeTotals struct { TotalStakeForQuorum []*big.Int } +// IEigenDAServiceManagerBatchHeader is an auto generated low-level Go binding around an user-defined struct. +type IEigenDAServiceManagerBatchHeader struct { + BlobHeadersRoot [32]byte + QuorumNumbers []byte + SignedStakeForQuorums []byte + ReferenceBlockNumber uint32 +} + // IRewardsCoordinatorRewardsSubmission is an auto generated low-level Go binding around an user-defined struct. type IRewardsCoordinatorRewardsSubmission struct { StrategiesAndMultipliers []IRewardsCoordinatorStrategyAndMultiplier @@ -89,23 +89,10 @@ type ISignatureUtilsSignatureWithSaltAndExpiry struct { Expiry *big.Int } -// SecurityThresholds is an auto generated low-level Go binding around an user-defined struct. -type SecurityThresholds struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -} - -// VersionedBlobParams is an auto generated low-level Go binding around an user-defined struct. -type VersionedBlobParams struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -} - // ContractEigenDAServiceManagerMetaData contains all meta data concerning the ContractEigenDAServiceManager contract. var ContractEigenDAServiceManagerMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"__avsDirectory\",\"type\":\"address\",\"internalType\":\"contractIAVSDirectory\"},{\"name\":\"__rewardsCoordinator\",\"type\":\"address\",\"internalType\":\"contractIRewardsCoordinator\"},{\"name\":\"__registryCoordinator\",\"type\":\"address\",\"internalType\":\"contractIRegistryCoordinator\"},{\"name\":\"__stakeRegistry\",\"type\":\"address\",\"internalType\":\"contractIStakeRegistry\"},{\"name\":\"__eigenDAThresholdRegistry\",\"type\":\"address\",\"internalType\":\"contractIEigenDAThresholdRegistry\"},{\"name\":\"__eigenDARelayRegistry\",\"type\":\"address\",\"internalType\":\"contractIEigenDARelayRegistry\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"BLOCK_STALE_MEASURE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"STORE_DURATION_BLOCKS\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"THRESHOLD_DENOMINATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"avsDirectory\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"batchId\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"batchIdToBatchMetadataHash\",\"inputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"blsApkRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIBLSApkRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"checkSignatures\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"params\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.NonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.QuorumStakeTotals\",\"components\":[{\"name\":\"signedStakeForQuorum\",\"type\":\"uint96[]\",\"internalType\":\"uint96[]\"},{\"name\":\"totalStakeForQuorum\",\"type\":\"uint96[]\",\"internalType\":\"uint96[]\"}]},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"confirmBatch\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.NonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createAVSRewardsSubmission\",\"inputs\":[{\"name\":\"rewardsSubmissions\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.RewardsSubmission[]\",\"components\":[{\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.StrategyAndMultiplier[]\",\"components\":[{\"name\":\"strategy\",\"type\":\"address\",\"internalType\":\"contractIStrategy\"},{\"name\":\"multiplier\",\"type\":\"uint96\",\"internalType\":\"uint96\"}]},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"contractIERC20\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"startTimestamp\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"duration\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegation\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIDelegationManager\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"deregisterOperatorFromAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"eigenDARelayRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDARelayRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eigenDAThresholdRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDAThresholdRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getBlobParams\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getDefaultSecurityThresholdsV2\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getIsQuorumRequired\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getOperatorRestakedStrategies\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumAdversaryThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumConfirmationThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getRestakeableStrategies\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"_pauserRegistry\",\"type\":\"address\",\"internalType\":\"contractIPauserRegistry\"},{\"name\":\"_initialPausedStatus\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_initialOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_batchConfirmers\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"_rewardsInitiator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"isBatchConfirmer\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"latestServeUntilBlock\",\"inputs\":[{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pause\",\"inputs\":[{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"pauseAll\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[{\"name\":\"index\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pauserRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIPauserRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumAdversaryThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumConfirmationThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumNumbersRequired\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerOperatorToAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operatorSignature\",\"type\":\"tuple\",\"internalType\":\"structISignatureUtils.SignatureWithSaltAndExpiry\",\"components\":[{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registryCoordinator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIRegistryCoordinator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"rewardsInitiator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"setBatchConfirmer\",\"inputs\":[{\"name\":\"_batchConfirmer\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setPauserRegistry\",\"inputs\":[{\"name\":\"newPauserRegistry\",\"type\":\"address\",\"internalType\":\"contractIPauserRegistry\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setRewardsInitiator\",\"inputs\":[{\"name\":\"newRewardsInitiator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStaleStakesForbidden\",\"inputs\":[{\"name\":\"value\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"stakeRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIStakeRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"staleStakesForbidden\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"taskNumber\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"trySignatureAndApkVerification\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"apk\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[{\"name\":\"pairingSuccessful\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"siganatureIsValid\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"unpause\",\"inputs\":[{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateAVSMetadataURI\",\"inputs\":[{\"name\":\"_metadataURI\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"BatchConfirmed\",\"inputs\":[{\"name\":\"batchHeaderHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"batchId\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BatchConfirmerStatusChanged\",\"inputs\":[{\"name\":\"batchConfirmer\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"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},{\"type\":\"event\",\"name\":\"Paused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"PauserRegistrySet\",\"inputs\":[{\"name\":\"pauserRegistry\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"contractIPauserRegistry\"},{\"name\":\"newPauserRegistry\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"contractIPauserRegistry\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RewardsInitiatorUpdated\",\"inputs\":[{\"name\":\"prevRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StaleStakesForbiddenUpdate\",\"inputs\":[{\"name\":\"value\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unpaused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false}]", - Bin: "0x6101c06040523480156200001257600080fd5b5060405162005f7038038062005f708339810160408190526200003591620002f5565b6001600160a01b0380831660805280821660a05280871660c05280861660e052808516610100528316610120528386868286620000716200021a565b50505050806001600160a01b0316610140816001600160a01b031681525050806001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f5919062000389565b6001600160a01b0316610160816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000174919062000389565b6001600160a01b0316610180816001600160a01b031681525050610160516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f6919062000389565b6001600160a01b03166101a052506200020e6200021a565b505050505050620003b0565b603254610100900460ff1615620002875760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff9081161015620002da576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620002f257600080fd5b50565b60008060008060008060c087890312156200030f57600080fd5b86516200031c81620002dc565b60208801519096506200032f81620002dc565b60408801519095506200034281620002dc565b60608801519094506200035581620002dc565b60808801519093506200036881620002dc565b60a08801519092506200037b81620002dc565b809150509295509295509295565b6000602082840312156200039c57600080fd5b8151620003a981620002dc565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a646200050c600039600081816106280152611a6a0152600081816104340152611c4c01526000818161048601528181611e220152611fe40152600081816104d30152818161118601528181611735015281816118cd0152611b07015260008181610e9e01528181610ff90152818161109001528181612da201528181612f250152612fc4015260008181610cc901528181610d5801528181610dd801528181612a4601528181612b0a01528181612ce00152612e800152600081816134d501528181613591015261367d0152600081816104aa01528181612a9a01528181612b660152612be5015260006105230152600081816106fc0152818161077201528181610a0101528181610c39015281816129b201528181612c1e01528181612c7e015281816130da01526131270152615a646000f3fe608060405234801561001057600080fd5b50600436106102a05760003560e01c80637794965a11610167578063e481af9d116100ce578063f122098311610087578063f1220983146106d1578063f2fde38b146106e4578063f8c66814146106f7578063fabc1cbc1461071e578063fc299dee14610731578063fce36c7d1461074457600080fd5b8063e481af9d14610652578063eaefd27d1461065a578063eccbbfc91461066d578063ee6c3bcf1461068d578063ef024458146106a0578063ef635529146106a857600080fd5b8063a5b7890a11610120578063a5b7890a146105d8578063a98fb355146105fb578063b98d09081461060e578063bafa91071461061b578063df5cf72314610623578063e15234ff1461064a57600080fd5b80637794965a146105665780638687feae14610579578063886f11951461058e5780638da5cb5b146105a15780639926ee7d146105b2578063a364f4da146105c557600080fd5b80635c975abb1161020b5780636d14a987116101c45780636d14a987146104ce5780636efb4636146104f5578063715018a614610516578063722764431461051e57806372d18e8d14610545578063775bbcb51461055357600080fd5b80635c975abb1461041d5780635df459461461042f5780635e0334761461046e5780635e8b3f2d1461047857806368304835146104815780636b3aa72e146104a857600080fd5b806333cfb7b71161025d57806333cfb7b7146103875780633bc28c8c146103a7578063416c7e5e146103ba5780634972134a146103cd578063595c6a67146103f25780635ac86ab7146103fa57600080fd5b8063048886d2146102a557806310d67a2f146102cd578063136439dd146102e25780631429c7c2146102f5578063171f1d5b1461031a5780632ecfe72b14610344575b600080fd5b6102b86102b33660046146b4565b610757565b60405190151581526020015b60405180910390f35b6102e06102db3660046146e6565b6107eb565b005b6102e06102f0366004614703565b6108a7565b6103086103033660046146b4565b6109e6565b60405160ff90911681526020016102c4565b61032d61032836600461486d565b610a75565b6040805192151583529015156020830152016102c4565b6103576103523660046148be565b610bff565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff16908201526060016102c4565b61039a6103953660046146e6565b610ca4565b6040516102c491906148ed565b6102e06103b53660046146e6565b611173565b6102e06103c8366004614948565b611184565b6000546103dd9063ffffffff1681565b60405163ffffffff90911681526020016102c4565b6102e06112bb565b6102b86104083660046146b4565b60fc54600160ff9092169190911b9081161490565b60fc545b6040519081526020016102c4565b6104567f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102c4565b6103dd620189c081565b6103dd61012c81565b6104567f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610456565b6104567f000000000000000000000000000000000000000000000000000000000000000081565b610508610503366004614c26565b611382565b6040516102c4929190614d19565b6102e0612299565b6104567f000000000000000000000000000000000000000000000000000000000000000081565b60005463ffffffff166103dd565b6102e0610561366004614d62565b6122ad565b6102e0610574366004614e3d565b612416565b6105816129ae565b6040516102c49190614f04565b60fb54610456906001600160a01b031681565b6065546001600160a01b0316610456565b6102e06105c0366004614f97565b612a3b565b6102e06105d33660046146e6565b612aff565b6102b86105e63660046146e6565b60026020526000908152604090205460ff1681565b6102e0610609366004615042565b612bc6565b60c9546102b89060ff1681565b610581612c1a565b6104567f000000000000000000000000000000000000000000000000000000000000000081565b610581612c7a565b61039a612cda565b6103dd610668366004615092565b6130a3565b61042161067b366004615092565b60016020526000908152604090205481565b61030861069b3660046146b4565b6130bf565b610421606481565b6106b0613111565b60408051825160ff90811682526020938401511692810192909252016102c4565b6102e06106df3660046146e6565b6131a6565b6102e06106f23660046146e6565b6131b7565b6104567f000000000000000000000000000000000000000000000000000000000000000081565b6102e061072c366004614703565b61322d565b609754610456906001600160a01b031681565b6102e06107523660046150af565b613389565b604051630244436960e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063048886d290602401602060405180830381865afa1580156107c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e59190615123565b92915050565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190615140565b6001600160a01b0316336001600160a01b03161461089b5760405162461bcd60e51b81526004016108929061515d565b60405180910390fd5b6108a4816136b4565b50565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190615123565b61092f5760405162461bcd60e51b8152600401610892906151a7565b60fc54818116146109a85760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610892565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b604051630a14e3e160e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631429c7c2906024015b602060405180830381865afa158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e591906151ef565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110610abd57610abd61520c565b60200201518951600160200201518a60200151600060028110610ae257610ae261520c565b60200201518b60200151600160028110610afe57610afe61520c565b602090810291909101518c518d830151604051610b5b9a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c610b7e9190615222565b9050610bf1610b97610b9088846137ab565b8690613842565b610b9f6138d6565b610be7610bd885610bd2604080518082018252600080825260209182015281518083019092526001825260029082015290565b906137ab565b610be18c613996565b90613842565b886201d4c0613a26565b909890975095505050505050565b60408051606081018252600080825260208201819052818301529051632ecfe72b60e01b815261ffff831660048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ecfe72b90602401606060405180830381865afa158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e59190615244565b6040516309aa152760e11b81526001600160a01b0382811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906313542a4e90602401602060405180830381865afa158015610d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3491906152b5565b60405163871ef04960e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063871ef04990602401602060405180830381865afa158015610d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc391906152ce565b90506001600160c01b0381161580610e5d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5891906151ef565b60ff16155b15610e7957505060408051600081526020810190915292915050565b6000610e8d826001600160c01b0316613c4a565b90506000805b8251811015610f63577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ca5a5f5848381518110610edd57610edd61520c565b01602001516040516001600160e01b031960e084901b16815260f89190911c6004820152602401602060405180830381865afa158015610f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4591906152b5565b610f4f908361530d565b915080610f5b81615325565b915050610e93565b506000816001600160401b03811115610f7e57610f7e61471c565b604051908082528060200260200182016040528015610fa7578160200160208202803683370190505b5090506000805b8451811015611166576000858281518110610fcb57610fcb61520c565b0160200151604051633ca5a5f560e01b815260f89190911c6004820181905291506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633ca5a5f590602401602060405180830381865afa158015611040573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106491906152b5565b905060005b81811015611150576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa1580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190615355565b600001518686815181106111185761111861520c565b6001600160a01b03909216602092830291909101909101528461113a81615325565b955050808061114890615325565b915050611069565b505050808061115e90615325565b915050610fae565b5090979650505050505050565b61117b613d0c565b6108a481613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112069190615140565b6001600160a01b0316336001600160a01b0316146112b25760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a401610892565b6108a481613dcf565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113279190615123565b6113435760405162461bcd60e51b8152600401610892906151a7565b60001960fc81905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60408051808201909152606080825260208201526000846113f95760405162461bcd60e51b81526020600482015260376024820152600080516020615a0f83398151915260448201527f7265733a20656d7074792071756f72756d20696e7075740000000000000000006064820152608401610892565b60408301515185148015611411575060a08301515185145b8015611421575060c08301515185145b8015611431575060e08301515185145b61149b5760405162461bcd60e51b81526020600482015260416024820152600080516020615a0f83398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a401610892565b825151602084015151146115135760405162461bcd60e51b815260206004820152604460248201819052600080516020615a0f833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a401610892565b4363ffffffff168463ffffffff16106115825760405162461bcd60e51b815260206004820152603c6024820152600080516020615a0f83398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b000000006064820152608401610892565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b038111156115c3576115c361471c565b6040519080825280602002602001820160405280156115ec578160200160208202803683370190505b506020820152866001600160401b0381111561160a5761160a61471c565b604051908082528060200260200182016040528015611633578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b038111156116675761166761471c565b604051908082528060200260200182016040528015611690578160200160208202803683370190505b5081526020860151516001600160401b038111156116b0576116b061471c565b6040519080825280602002602001820160405280156116d9578160200160208202803683370190505b50816020018190525060006117ab8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa158015611782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a691906151ef565b613e17565b905060005b876020015151811015611a46576117f5886020015182815181106117d6576117d661520c565b6020026020010151805160009081526020918201519091526040902090565b8360200151828151811061180b5761180b61520c565b602090810291909101015280156118cb57602083015161182c600183615396565b8151811061183c5761183c61520c565b602002602001015160001c8360200151828151811061185d5761185d61520c565b602002602001015160001c116118cb576040805162461bcd60e51b8152602060048201526024810191909152600080516020615a0f83398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f727465646064820152608401610892565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec6351846020015183815181106119105761191061520c565b60200260200101518b8b60000151858151811061192f5761192f61520c565b60200260200101516040518463ffffffff1660e01b815260040161196c9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa158015611989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ad91906152ce565b6001600160c01b0316836000015182815181106119cc576119cc61520c565b602002602001018181525050611a32610b90611a0684866000015185815181106119f8576119f861520c565b602002602001015116613ea8565b8a602001518481518110611a1c57611a1c61520c565b6020026020010151613ed390919063ffffffff16565b945080611a3e81615325565b9150506117b0565b5050611a5183613fb7565b60c95490935060ff16600081611a68576000611aea565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aea91906152b5565b905060005b8a811015612168578215611c4a578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110611b4657611b4661520c565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015611b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611baa91906152b5565b611bb4919061530d565b11611c4a5760405162461bcd60e51b81526020600482015260666024820152600080516020615a0f83398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c401610892565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d84818110611c8b57611c8b61520c565b9050013560f81c60f81b60f81c8c8c60a001518581518110611caf57611caf61520c565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2f91906153ad565b6001600160401b031916611d528a6040015183815181106117d6576117d661520c565b67ffffffffffffffff191614611dee5760405162461bcd60e51b81526020600482015260616024820152600080516020615a0f83398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c401610892565b611e1e89604001518281518110611e0757611e0761520c565b60200260200101518761384290919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d84818110611e6157611e6161520c565b9050013560f81c60f81b60f81c8c8c60c001518581518110611e8557611e8561520c565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0591906153d8565b85602001518281518110611f1b57611f1b61520c565b6001600160601b03909216602092830291909101820152850151805182908110611f4757611f4761520c565b602002602001015185600001518281518110611f6557611f6561520c565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a602001515181101561215357611fdd86600001518281518110611faf57611faf61520c565b60200260200101518f8f86818110611fc957611fc961520c565b600192013560f81c9290921c811614919050565b15612141577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f868181106120235761202361520c565b9050013560f81c60f81b60f81c8e896020015185815181106120475761204761520c565b60200260200101518f60e0015188815181106120655761206561520c565b6020026020010151878151811061207e5761207e61520c565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa1580156120e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210691906153d8565b875180518590811061211a5761211a61520c565b6020026020010181815161212e91906153f5565b6001600160601b03169052506001909101905b8061214b81615325565b915050611f89565b5050808061216090615325565b915050611aef565b5050506000806121828c868a606001518b60800151610a75565b91509150816121f35760405162461bcd60e51b81526020600482015260436024820152600080516020615a0f83398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a401610892565b806122545760405162461bcd60e51b81526020600482015260396024820152600080516020615a0f83398151915260448201527f7265733a207369676e617475726520697320696e76616c6964000000000000006064820152608401610892565b5050600087826020015160405160200161226f92919061541d565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6122a1613d0c565b6122ab6000614052565b565b603254610100900460ff16158080156122cd5750603254600160ff909116105b806122e75750303b1580156122e7575060325460ff166001145b61234a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610892565b6032805460ff19166001179055801561236d576032805461ff0019166101001790555b61237786866140a4565b61238084614052565b61238982613d66565b60005b83518110156123c7576123b78482815181106123aa576123aa61520c565b602002602001015161418e565b6123c081615325565b905061238c565b50801561240e576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b60fc546000906001908116141561246f5760405162461bcd60e51b815260206004820152601960248201527f5061757361626c653a20696e64657820697320706175736564000000000000006044820152606401610892565b3360009081526002602052604090205460ff166124e35760405162461bcd60e51b815260206004820152602c60248201527f6f6e6c794261746368436f6e6669726d65723a206e6f742066726f6d2062617460448201526b31b41031b7b73334b936b2b960a11b6064820152608401610892565b3233146125605760405162461bcd60e51b815260206004820152605160248201526000805160206159ef83398151915260448201527f63683a2068656164657220616e64206e6f6e7369676e65722064617461206d75606482015270737420626520696e2063616c6c6461746160781b608482015260a401610892565b436125716080850160608601615092565b63ffffffff16106125f05760405162461bcd60e51b815260206004820152604f60248201526000805160206159ef83398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d6260648201526e657220697320696e2066757475726560881b608482015260a401610892565b63ffffffff431661012c61260a6080860160608701615092565b6126149190615465565b63ffffffff16101561269a5760405162461bcd60e51b815260206004820152605560248201526000805160206159ef83398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d62606482015274195c881a5cc81d1bdbc819985c881a5b881c185cdd605a1b608482015260a401610892565b6126a7604084018461548d565b90506126b6602085018561548d565b90501461274e5760405162461bcd60e51b815260206004820152606660248201526000805160206159ef83398151915260448201527f63683a2071756f72756d4e756d6265727320616e64207369676e65645374616b60648201527f65466f7251756f72756d73206d757374206265206f66207468652073616d65206084820152650d8cadccee8d60d31b60a482015260c401610892565b600061276161275c856154da565b6141f1565b905060008061278d83612777602089018961548d565b61278760808b0160608c01615092565b89611382565b9150915060005b6127a1604088018861548d565b90508110156128e3576127b7604088018861548d565b828181106127c7576127c761520c565b9050013560f81c60f81b60f81c60ff16836020015182815181106127ed576127ed61520c565b60200260200101516127ff919061557c565b6001600160601b03166064846000015183815181106128205761282061520c565b60200260200101516001600160601b031661283b91906155ab565b10156128d15760405162461bcd60e51b8152602060048201526064602482018190526000805160206159ef83398151915260448301527f63683a207369676e61746f7269657320646f206e6f74206f776e206174206c65908201527f617374207468726573686f6c642070657263656e74616765206f6620612071756084820152636f72756d60e01b60a482015260c401610892565b806128db81615325565b915050612794565b506000805463ffffffff16906128f88861426c565b6040805160208082018490528183018790524360e01b6001600160e01b0319166060830152825160448184030181526064830180855281519183019190912063ffffffff881660008181526001909452928590205552905191925086917fc75557c4ad49697e231449688be13ef11cb6be8ed0d18819d8dde074a5a16f8a9181900360840190a261298a826001615465565b6000805463ffffffff191663ffffffff929092169190911790555050505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a3691908101906155ca565b905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612a835760405162461bcd60e51b815260040161089290615640565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90612ad190859085906004016156b8565b600060405180830381600087803b158015612aeb57600080fd5b505af115801561240e573d6000803e3d6000fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612b475760405162461bcd60e51b815260040161089290615640565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b600060405180830381600087803b158015612bab57600080fd5b505af1158015612bbf573d6000803e3d6000fd5b5050505050565b612bce613d0c565b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb35590612b91908490600401614f04565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a0e573d6000803e3d6000fd5b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a0e573d6000803e3d6000fd5b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6091906151ef565b60ff16905080612d7e57505060408051600081526020810190915290565b6000805b82811015612e3357604051633ca5a5f560e01b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1591906152b5565b612e1f908361530d565b915080612e2b81615325565b915050612d82565b506000816001600160401b03811115612e4e57612e4e61471c565b604051908082528060200260200182016040528015612e77578160200160208202803683370190505b5090506000805b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0091906151ef565b60ff1681101561309957604051633ca5a5f560e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f9891906152b5565b905060005b81811015613084576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015613012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130369190615355565b6000015185858151811061304c5761304c61520c565b6001600160a01b03909216602092830291909101909101528361306e81615325565b945050808061307c90615325565b915050612f9d565b5050808061309190615325565b915050612e7e565b5090949350505050565b600061012c6130b5620189c084615465565b6107e59190615465565b60405163ee6c3bcf60e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ee6c3bcf90602401610a34565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef6355296040518163ffffffff1660e01b81526004016040805180830381865afa158015613182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a369190615703565b6131ae613d0c565b6108a48161418e565b6131bf613d0c565b6001600160a01b0381166132245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610892565b6108a481614052565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132a49190615140565b6001600160a01b0316336001600160a01b0316146132d45760405162461bcd60e51b81526004016108929061515d565b60fc5419811960fc541916146133525760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610892565b60fc81905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c906020016109db565b61339161427f565b60005b81811015613665578282828181106133ae576133ae61520c565b90506020028101906133c09190615738565b6133d19060408101906020016146e6565b6001600160a01b03166323b872dd33308686868181106133f3576133f361520c565b90506020028101906134059190615738565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303816000875af115801561345c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134809190615123565b5060008383838181106134955761349561520c565b90506020028101906134a79190615738565b6134b89060408101906020016146e6565b604051636eb1769f60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e90604401602060405180830381865afa158015613526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354a91906152b5565b905083838381811061355e5761355e61520c565b90506020028101906135709190615738565b6135819060408101906020016146e6565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838787878181106135c3576135c361520c565b90506020028101906135d59190615738565b604001356135e3919061530d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561362e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136529190615123565b50508061365e90615325565b9050613394565b5060405163fce36c7d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fce36c7d90612ad190859085906004016157b3565b6001600160a01b0381166137425760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610892565b60fb54604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a160fb80546001600160a01b0319166001600160a01b0392909216919091179055565b60408051808201909152600080825260208201526137c76145cb565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa90508080156137fa576137fc565bfe5b508061383a5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b6044820152606401610892565b505092915050565b604080518082019091526000808252602082015261385e6145e9565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa90508080156137fa57508061383a5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b6044820152606401610892565b6138de614607565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820190915260008082526020820152600080806139c66000805160206159cf83398151915286615222565b90505b6139d281614314565b90935091506000805160206159cf833981519152828309831415613a0c576040805180820190915290815260208101919091529392505050565b6000805160206159cf8339815191526001820890506139c9565b604080518082018252868152602080820186905282518084019093528683528201849052600091829190613a5861462c565b60005b6002811015613c1d576000613a718260066155ab565b9050848260028110613a8557613a8561520c565b60200201515183613a9783600061530d565b600c8110613aa757613aa761520c565b6020020152848260028110613abe57613abe61520c565b60200201516020015183826001613ad5919061530d565b600c8110613ae557613ae561520c565b6020020152838260028110613afc57613afc61520c565b6020020151515183613b0f83600261530d565b600c8110613b1f57613b1f61520c565b6020020152838260028110613b3657613b3661520c565b6020020151516001602002015183613b4f83600361530d565b600c8110613b5f57613b5f61520c565b6020020152838260028110613b7657613b7661520c565b602002015160200151600060028110613b9157613b9161520c565b602002015183613ba283600461530d565b600c8110613bb257613bb261520c565b6020020152838260028110613bc957613bc961520c565b602002015160200151600160028110613be457613be461520c565b602002015183613bf583600561530d565b600c8110613c0557613c0561520c565b60200201525080613c1581615325565b915050613a5b565b50613c2661464b565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6060600080613c5884613ea8565b61ffff166001600160401b03811115613c7357613c7361471c565b6040519080825280601f01601f191660200182016040528015613c9d576020820181803683370190505b5090506000805b825182108015613cb5575061010081105b15613099576001811b935085841615613cfc578060f81b838381518110613cde57613cde61520c565b60200101906001600160f81b031916908160001a9053508160010191505b613d0581615325565b9050613ca4565b6065546001600160a01b031633146122ab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610892565b609754604080516001600160a01b03928316815291831660208301527fe11cddf1816a43318ca175bbc52cd0185436e9cbead7c83acc54a73e461717e3910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b60c9805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc906020015b60405180910390a150565b600080613e2384614396565b9050808360ff166001901b11613ea15760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c7565006064820152608401610892565b9392505050565b6000805b82156107e557613ebd600184615396565b9092169180613ecb816158c0565b915050613eac565b60408051808201909152600080825260208201526102008261ffff1610613f2f5760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b6044820152606401610892565b8161ffff1660011415613f435750816107e5565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff1610613fac57600161ffff871660ff83161c81161415613f8f57613f8c8484613842565b93505b613f998384613842565b92506201fffe600192831b169101613f5f565b509195945050505050565b60408051808201909152600080825260208201528151158015613fdc57506020820151155b15613ffa575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020016000805160206159cf833981519152846020015161402d9190615222565b614045906000805160206159cf833981519152615396565b905292915050565b919050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60fb546001600160a01b03161580156140c557506001600160a01b03821615155b6141475760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a401610892565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a261418a826136b4565b5050565b6001600160a01b038116600081815260026020908152604091829020805460ff8082161560ff1990921682179092558351948552161515908301527f5c3265f5fb462ef4930fe47beaa183647c97f19ba545b761f41bc8cd4621d4149101613e0c565b600061422e82604080518082019091526000808252602082015250604080518082019091528151815260609091015163ffffffff16602082015290565b6040805182516020808301919091529092015163ffffffff16908201526060015b604051602081830303815290604052805190602001209050919050565b60008160405160200161424f9190615950565b6097546001600160a01b031633146122ab5760405162461bcd60e51b815260206004820152604c60248201527f536572766963654d616e61676572426173652e6f6e6c7952657761726473496e60448201527f69746961746f723a2063616c6c6572206973206e6f742074686520726577617260648201526b32399034b734ba34b0ba37b960a11b608482015260a401610892565b600080806000805160206159cf83398151915260036000805160206159cf833981519152866000805160206159cf83398151915288890909089050600061438a827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f526000805160206159cf833981519152614523565b91959194509092505050565b60006101008251111561441f5760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a401610892565b815161442d57506000919050565b600080836000815181106144435761444361520c565b0160200151600160f89190911c81901b92505b845181101561451a578481815181106144715761447161520c565b0160200151600160f89190911c1b91508282116145065760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a401610892565b9181179161451381615325565b9050614456565b50909392505050565b60008061452e61464b565b614536614669565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa92508280156137fa5750826145c05760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c7572650000000000006044820152606401610892565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061461a614687565b8152602001614627614687565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60ff811681146108a457600080fd5b6000602082840312156146c657600080fd5b8135613ea1816146a5565b6001600160a01b03811681146108a457600080fd5b6000602082840312156146f857600080fd5b8135613ea1816146d1565b60006020828403121561471557600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156147545761475461471c565b60405290565b60405161010081016001600160401b03811182821017156147545761475461471c565b604051601f8201601f191681016001600160401b03811182821017156147a5576147a561471c565b604052919050565b6000604082840312156147bf57600080fd5b6147c7614732565b9050813581526020820135602082015292915050565b600082601f8301126147ee57600080fd5b6147f6614732565b80604084018581111561480857600080fd5b845b8181101561482257803584526020938401930161480a565b509095945050505050565b60006080828403121561483f57600080fd5b614847614732565b905061485383836147dd565b815261486283604084016147dd565b602082015292915050565b600080600080610120858703121561488457600080fd5b8435935061489586602087016147ad565b92506148a4866060870161482d565b91506148b38660e087016147ad565b905092959194509250565b6000602082840312156148d057600080fd5b813561ffff81168114613ea157600080fd5b803561404d816146d1565b6020808252825182820181905260009190848201906040850190845b8181101561492e5783516001600160a01b031683529284019291840191600101614909565b50909695505050505050565b80151581146108a457600080fd5b60006020828403121561495a57600080fd5b8135613ea18161493a565b63ffffffff811681146108a457600080fd5b803561404d81614965565b60006001600160401b0382111561499b5761499b61471c565b5060051b60200190565b600082601f8301126149b657600080fd5b813560206149cb6149c683614982565b61477d565b82815260059290921b840181019181810190868411156149ea57600080fd5b8286015b84811015614a0e578035614a0181614965565b83529183019183016149ee565b509695505050505050565b600082601f830112614a2a57600080fd5b81356020614a3a6149c683614982565b82815260069290921b84018101918181019086841115614a5957600080fd5b8286015b84811015614a0e57614a6f88826147ad565b835291830191604001614a5d565b600082601f830112614a8e57600080fd5b81356020614a9e6149c683614982565b82815260059290921b84018101918181019086841115614abd57600080fd5b8286015b84811015614a0e5780356001600160401b03811115614ae05760008081fd5b614aee8986838b01016149a5565b845250918301918301614ac1565b60006101808284031215614b0f57600080fd5b614b1761475a565b905081356001600160401b0380821115614b3057600080fd5b614b3c858386016149a5565b83526020840135915080821115614b5257600080fd5b614b5e85838601614a19565b60208401526040840135915080821115614b7757600080fd5b614b8385838601614a19565b6040840152614b95856060860161482d565b6060840152614ba78560e086016147ad565b6080840152610120840135915080821115614bc157600080fd5b614bcd858386016149a5565b60a0840152610140840135915080821115614be757600080fd5b614bf3858386016149a5565b60c0840152610160840135915080821115614c0d57600080fd5b50614c1a84828501614a7d565b60e08301525092915050565b600080600080600060808688031215614c3e57600080fd5b8535945060208601356001600160401b0380821115614c5c57600080fd5b818801915088601f830112614c7057600080fd5b813581811115614c7f57600080fd5b896020828501011115614c9157600080fd5b6020830196509450614ca560408901614977565b93506060880135915080821115614cbb57600080fd5b50614cc888828901614afc565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614d0e5781516001600160601b031687529582019590820190600101614ce9565b509495945050505050565b6040815260008351604080840152614d346080840182614cd5565b90506020850151603f19848303016060850152614d518282614cd5565b925050508260208301529392505050565b600080600080600060a08688031215614d7a57600080fd5b8535614d85816146d1565b945060208681013594506040870135614d9d816146d1565b935060608701356001600160401b03811115614db857600080fd5b8701601f81018913614dc957600080fd5b8035614dd76149c682614982565b81815260059190911b8201830190838101908b831115614df657600080fd5b928401925b82841015614e1d578335614e0e816146d1565b82529284019290840190614dfb565b8096505050505050614e31608087016148e2565b90509295509295909350565b60008060408385031215614e5057600080fd5b82356001600160401b0380821115614e6757600080fd5b9084019060808287031215614e7b57600080fd5b90925060208401359080821115614e9157600080fd5b50614e9e85828601614afc565b9150509250929050565b60005b83811015614ec3578181015183820152602001614eab565b83811115614ed2576000848401525b50505050565b60008151808452614ef0816020860160208601614ea8565b601f01601f19169290920160200192915050565b602081526000613ea16020830184614ed8565b60006001600160401b03821115614f3057614f3061471c565b50601f01601f191660200190565b6000614f4c6149c684614f17565b9050828152838383011115614f6057600080fd5b828260208301376000602084830101529392505050565b600082601f830112614f8857600080fd5b613ea183833560208501614f3e565b60008060408385031215614faa57600080fd5b8235614fb5816146d1565b915060208301356001600160401b0380821115614fd157600080fd5b9084019060608287031215614fe557600080fd5b6040516060810181811083821117156150005761500061471c565b60405282358281111561501257600080fd5b61501e88828601614f77565b82525060208301356020820152604083013560408201528093505050509250929050565b60006020828403121561505457600080fd5b81356001600160401b0381111561506a57600080fd5b8201601f8101841361507b57600080fd5b61508a84823560208401614f3e565b949350505050565b6000602082840312156150a457600080fd5b8135613ea181614965565b600080602083850312156150c257600080fd5b82356001600160401b03808211156150d957600080fd5b818501915085601f8301126150ed57600080fd5b8135818111156150fc57600080fd5b8660208260051b850101111561511157600080fd5b60209290920196919550909350505050565b60006020828403121561513557600080fd5b8151613ea18161493a565b60006020828403121561515257600080fd5b8151613ea1816146d1565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b60006020828403121561520157600080fd5b8151613ea1816146a5565b634e487b7160e01b600052603260045260246000fd5b60008261523f57634e487b7160e01b600052601260045260246000fd5b500690565b60006060828403121561525657600080fd5b604051606081018181106001600160401b03821117156152785761527861471c565b604052825161528681614965565b8152602083015161529681614965565b602082015260408301516152a9816146a5565b60408201529392505050565b6000602082840312156152c757600080fd5b5051919050565b6000602082840312156152e057600080fd5b81516001600160c01b0381168114613ea157600080fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115615320576153206152f7565b500190565b6000600019821415615339576153396152f7565b5060010190565b6001600160601b03811681146108a457600080fd5b60006040828403121561536757600080fd5b61536f614732565b825161537a816146d1565b8152602083015161538a81615340565b60208201529392505050565b6000828210156153a8576153a86152f7565b500390565b6000602082840312156153bf57600080fd5b815167ffffffffffffffff1981168114613ea157600080fd5b6000602082840312156153ea57600080fd5b8151613ea181615340565b60006001600160601b0383811690831681811015615415576154156152f7565b039392505050565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b838110156154585781518552938201939082019060010161543c565b5092979650505050505050565b600063ffffffff808316818516808303821115615484576154846152f7565b01949350505050565b6000808335601e198436030181126154a457600080fd5b8301803591506001600160401b038211156154be57600080fd5b6020019150368190038213156154d357600080fd5b9250929050565b6000608082360312156154ec57600080fd5b604051608081016001600160401b03828210818311171561550f5761550f61471c565b8160405284358352602085013591508082111561552b57600080fd5b61553736838701614f77565b6020840152604085013591508082111561555057600080fd5b5061555d36828601614f77565b604083015250606083013561557181614965565b606082015292915050565b60006001600160601b03808316818516818304811182151516156155a2576155a26152f7565b02949350505050565b60008160001904831182151516156155c5576155c56152f7565b500290565b6000602082840312156155dc57600080fd5b81516001600160401b038111156155f257600080fd5b8201601f8101841361560357600080fd5b80516156116149c682614f17565b81815285602083850101111561562657600080fd5b615637826020830160208601614ea8565b95945050505050565b60208082526052908201527f536572766963654d616e61676572426173652e6f6e6c7952656769737472794360408201527f6f6f7264696e61746f723a2063616c6c6572206973206e6f742074686520726560608201527133b4b9ba393c9031b7b7b93234b730ba37b960711b608082015260a00190565b60018060a01b03831681526040602082015260008251606060408401526156e260a0840182614ed8565b90506020840151606084015260408401516080840152809150509392505050565b60006040828403121561571557600080fd5b61571d614732565b8251615728816146a5565b8152602083015161538a816146a5565b60008235609e1983360301811261574e57600080fd5b9190910192915050565b8183526000602080850194508260005b85811015614d0e57813561577b816146d1565b6001600160a01b031687528183013561579381615340565b6001600160601b0316878401526040968701969190910190600101615768565b60208082528181018390526000906040808401600586901b8501820187855b888110156158b257878303603f190184528135368b9003609e190181126157f857600080fd5b8a0160a0813536839003601e1901811261581157600080fd5b820180356001600160401b0381111561582957600080fd5b8060061b360384131561583b57600080fd5b82875261584d838801828c8501615758565b9250505061585c8883016148e2565b6001600160a01b0316888601528187013587860152606061587e818401614977565b63ffffffff16908601526080615895838201614977565b63ffffffff169501949094525092850192908501906001016157d2565b509098975050505050505050565b600061ffff808316818114156158d8576158d86152f7565b6001019392505050565b6000808335601e198436030181126158f957600080fd5b83016020810192503590506001600160401b0381111561591857600080fd5b8036038313156154d357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061596a60208401846158e2565b6080604085015261597f60a085018284615927565b91505061598f60408501856158e2565b848303601f190160608601526159a6838284615927565b9250505060608401356159b881614965565b63ffffffff16608093909301929092525091905056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47456967656e4441536572766963654d616e616765722e636f6e6669726d426174424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220b3e99f5e22bf894ee2d2c2e0156ae098796609de1e06d9ef04dfd6c1e1576fbf64736f6c634300080c0033", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"__avsDirectory\",\"type\":\"address\",\"internalType\":\"contractIAVSDirectory\"},{\"name\":\"__rewardsCoordinator\",\"type\":\"address\",\"internalType\":\"contractIRewardsCoordinator\"},{\"name\":\"__registryCoordinator\",\"type\":\"address\",\"internalType\":\"contractIRegistryCoordinator\"},{\"name\":\"__stakeRegistry\",\"type\":\"address\",\"internalType\":\"contractIStakeRegistry\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"BLOCK_STALE_MEASURE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"STORE_DURATION_BLOCKS\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"THRESHOLD_DENOMINATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"avsDirectory\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"batchId\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"batchIdToBatchMetadataHash\",\"inputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"blsApkRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIBLSApkRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"checkSignatures\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"params\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.NonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.QuorumStakeTotals\",\"components\":[{\"name\":\"signedStakeForQuorum\",\"type\":\"uint96[]\",\"internalType\":\"uint96[]\"},{\"name\":\"totalStakeForQuorum\",\"type\":\"uint96[]\",\"internalType\":\"uint96[]\"}]},{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"confirmBatch\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structIEigenDAServiceManager.BatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.NonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createAVSRewardsSubmission\",\"inputs\":[{\"name\":\"rewardsSubmissions\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.RewardsSubmission[]\",\"components\":[{\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.StrategyAndMultiplier[]\",\"components\":[{\"name\":\"strategy\",\"type\":\"address\",\"internalType\":\"contractIStrategy\"},{\"name\":\"multiplier\",\"type\":\"uint96\",\"internalType\":\"uint96\"}]},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"contractIERC20\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"startTimestamp\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"duration\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegation\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIDelegationManager\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"deregisterOperatorFromAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getOperatorRestakedStrategies\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getRestakeableStrategies\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"_pauserRegistry\",\"type\":\"address\",\"internalType\":\"contractIPauserRegistry\"},{\"name\":\"_initialPausedStatus\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_initialOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_batchConfirmers\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"_rewardsInitiator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"isBatchConfirmer\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"latestServeUntilBlock\",\"inputs\":[{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pause\",\"inputs\":[{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"pauseAll\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[{\"name\":\"index\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pauserRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIPauserRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumAdversaryThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumConfirmationThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumNumbersRequired\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerOperatorToAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operatorSignature\",\"type\":\"tuple\",\"internalType\":\"structISignatureUtils.SignatureWithSaltAndExpiry\",\"components\":[{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registryCoordinator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIRegistryCoordinator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"rewardsInitiator\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"setBatchConfirmer\",\"inputs\":[{\"name\":\"_batchConfirmer\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setPauserRegistry\",\"inputs\":[{\"name\":\"newPauserRegistry\",\"type\":\"address\",\"internalType\":\"contractIPauserRegistry\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setRewardsInitiator\",\"inputs\":[{\"name\":\"newRewardsInitiator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setStaleStakesForbidden\",\"inputs\":[{\"name\":\"value\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"stakeRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIStakeRegistry\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"staleStakesForbidden\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"taskNumber\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"trySignatureAndApkVerification\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"apk\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[{\"name\":\"pairingSuccessful\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"siganatureIsValid\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"unpause\",\"inputs\":[{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateAVSMetadataURI\",\"inputs\":[{\"name\":\"_metadataURI\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"BatchConfirmed\",\"inputs\":[{\"name\":\"batchHeaderHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"batchId\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BatchConfirmerStatusChanged\",\"inputs\":[{\"name\":\"batchConfirmer\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"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},{\"type\":\"event\",\"name\":\"Paused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"PauserRegistrySet\",\"inputs\":[{\"name\":\"pauserRegistry\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"contractIPauserRegistry\"},{\"name\":\"newPauserRegistry\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"contractIPauserRegistry\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RewardsInitiatorUpdated\",\"inputs\":[{\"name\":\"prevRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StaleStakesForbiddenUpdate\",\"inputs\":[{\"name\":\"value\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unpaused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newPausedStatus\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false}]", + Bin: "0x6101806040523480156200001257600080fd5b5060405162005880380380620058808339810160408190526200003591620002e5565b6001600160a01b0380851660805280841660a05280831660c052811660e0528184848284620000636200020a565b50505050806001600160a01b0316610100816001600160a01b031681525050806001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e791906200034d565b6001600160a01b0316610120816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000140573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016691906200034d565b6001600160a01b0316610140816001600160a01b031681525050610120516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e891906200034d565b6001600160a01b03166101605250620002006200020a565b5050505062000374565b603254610100900460ff1615620002775760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff9081161015620002ca576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620002e257600080fd5b50565b60008060008060808587031215620002fc57600080fd5b84516200030981620002cc565b60208601519094506200031c81620002cc565b60408601519093506200032f81620002cc565b60608601519092506200034281620002cc565b939692955090935050565b6000602082840312156200036057600080fd5b81516200036d81620002cc565b9392505050565b60805160a05160c05160e051610100516101205161014051610160516153fe620004826000396000818161056d015261179c01526000818161036c015261197e0152600081816103be01528181611b540152611d1601526000818161040b01528181610eb801528181611467015281816115ff0152611839015260008181610bd001528181610d2b01528181610dc20152818161298701528181612b0a0152612ba90152600081816109fb01528181610a8a01528181610b0a015281816126eb015281816127af015281816128c50152612a65015260008181612fd90152818161309501526131810152600081816103e20152818161273f0152818161280b015261288a01526153fe6000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80637794965a11610146578063df5cf723116100c3578063ef02445811610087578063ef024458146105ea578063f1220983146105f2578063f2fde38b14610605578063fabc1cbc14610618578063fc299dee1461062b578063fce36c7d1461063e57600080fd5b8063df5cf72314610568578063e15234ff1461058f578063e481af9d146105af578063eaefd27d146105b7578063eccbbfc9146105ca57600080fd5b8063a364f4da1161010a578063a364f4da146104f0578063a5b7890a14610503578063a98fb35514610526578063b98d090814610539578063bafa91071461054657600080fd5b80637794965a146104775780638687feae1461048a578063886f1195146104b95780638da5cb5b146104cc5780639926ee7d146104dd57600080fd5b80635df45946116101d45780636d14a987116101985780636d14a987146104065780636efb46361461042d578063715018a61461044e57806372d18e8d14610456578063775bbcb51461046457600080fd5b80635df45946146103675780635e033476146103a65780635e8b3f2d146103b057806368304835146103b95780636b3aa72e146103e057600080fd5b8063416c7e5e1161021b578063416c7e5e146102e25780634972134a146102f5578063595c6a671461031a5780635ac86ab7146103225780635c975abb1461035557600080fd5b806310d67a2f14610258578063136439dd1461026d578063171f1d5b1461028057806333cfb7b7146102af5780633bc28c8c146102cf575b600080fd5b61026b6102663660046141be565b610651565b005b61026b61027b3660046141db565b61070d565b61029361028e366004614345565b61084c565b6040805192151583529015156020830152015b60405180910390f35b6102c26102bd3660046141be565b6109d6565b6040516102a691906143a1565b61026b6102dd3660046141be565b610ea5565b61026b6102f03660046143fc565b610eb6565b6000546103059063ffffffff1681565b60405163ffffffff90911681526020016102a6565b61026b610fed565b610345610330366004614428565b60fc54600160ff9092169190911b9081161490565b60405190151581526020016102a6565b60fc545b6040519081526020016102a6565b61038e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102a6565b610305620189c081565b61030561012c81565b61038e7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061038e565b61038e7f000000000000000000000000000000000000000000000000000000000000000081565b61044061043b3660046146fb565b6110b4565b6040516102a69291906147ee565b61026b611fcb565b60005463ffffffff16610305565b61026b610472366004614837565b611fdf565b61026b610485366004614912565b612148565b6104ac6040518060400160405280600381526020016221212160e81b81525081565b6040516102a691906149ca565b60fb5461038e906001600160a01b031681565b6065546001600160a01b031661038e565b61026b6104eb366004614a54565b6126e0565b61026b6104fe3660046141be565b6127a4565b6103456105113660046141be565b60026020526000908152604090205460ff1681565b61026b610534366004614aff565b61286b565b60c9546103459060ff1681565b6104ac6040518060400160405280600381526020016237373760e81b81525081565b61038e7f000000000000000000000000000000000000000000000000000000000000000081565b6104ac604051806040016040528060028152602001600160f01b81525081565b6102c26128bf565b6103056105c5366004614b4f565b612c88565b6103596105d8366004614b4f565b60016020526000908152604090205481565b610359606481565b61026b6106003660046141be565b612caa565b61026b6106133660046141be565b612cbb565b61026b6106263660046141db565b612d31565b60975461038e906001600160a01b031681565b61026b61064c366004614b6a565b612e8d565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190614bde565b6001600160a01b0316336001600160a01b0316146107015760405162461bcd60e51b81526004016106f890614bfb565b60405180910390fd5b61070a816131b8565b50565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610755573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107799190614c45565b6107955760405162461bcd60e51b81526004016106f890614c62565b60fc548181161461080e5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c697479000000000000000060648201526084016106f8565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018787600001518860200151886000015160006002811061089457610894614caa565b60200201518951600160200201518a602001516000600281106108b9576108b9614caa565b60200201518b602001516001600281106108d5576108d5614caa565b602090810291909101518c518d8301516040516109329a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c6109559190614cc0565b90506109c861096e61096788846132af565b8690613346565b6109766133da565b6109be6109af856109a9604080518082018252600080825260209182015281518083019092526001825260029082015290565b906132af565b6109b88c61349a565b90613346565b886201d4c061352a565b909890975095505050505050565b6040516309aa152760e11b81526001600160a01b0382811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906313542a4e90602401602060405180830381865afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a669190614ce2565b60405163871ef04960e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063871ef04990602401602060405180830381865afa158015610ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af59190614cfb565b90506001600160c01b0381161580610b8f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8a9190614d24565b60ff16155b15610bab57505060408051600081526020810190915292915050565b6000610bbf826001600160c01b031661374e565b90506000805b8251811015610c95577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ca5a5f5848381518110610c0f57610c0f614caa565b01602001516040516001600160e01b031960e084901b16815260f89190911c6004820152602401602060405180830381865afa158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c779190614ce2565b610c819083614d57565b915080610c8d81614d6f565b915050610bc5565b506000816001600160401b03811115610cb057610cb06141f4565b604051908082528060200260200182016040528015610cd9578160200160208202803683370190505b5090506000805b8451811015610e98576000858281518110610cfd57610cfd614caa565b0160200151604051633ca5a5f560e01b815260f89190911c6004820181905291506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633ca5a5f590602401602060405180830381865afa158015610d72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d969190614ce2565b905060005b81811015610e82576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015610e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e349190614d9f565b60000151868681518110610e4a57610e4a614caa565b6001600160a01b039092166020928302919091019091015284610e6c81614d6f565b9550508080610e7a90614d6f565b915050610d9b565b5050508080610e9090614d6f565b915050610ce0565b5090979650505050505050565b610ead613810565b61070a8161386a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f389190614bde565b6001600160a01b0316336001600160a01b031614610fe45760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a4016106f8565b61070a816138d3565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110599190614c45565b6110755760405162461bcd60e51b81526004016106f890614c62565b60001960fc81905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b604080518082019091526060808252602082015260008461112b5760405162461bcd60e51b815260206004820152603760248201526000805160206153a983398151915260448201527f7265733a20656d7074792071756f72756d20696e70757400000000000000000060648201526084016106f8565b60408301515185148015611143575060a08301515185145b8015611153575060c08301515185145b8015611163575060e08301515185145b6111cd5760405162461bcd60e51b815260206004820152604160248201526000805160206153a983398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a4016106f8565b825151602084015151146112455760405162461bcd60e51b8152602060048201526044602482018190526000805160206153a9833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a4016106f8565b4363ffffffff168463ffffffff16106112b45760405162461bcd60e51b815260206004820152603c60248201526000805160206153a983398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b0000000060648201526084016106f8565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b038111156112f5576112f56141f4565b60405190808252806020026020018201604052801561131e578160200160208202803683370190505b506020820152866001600160401b0381111561133c5761133c6141f4565b604051908082528060200260200182016040528015611365578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b03811115611399576113996141f4565b6040519080825280602002602001820160405280156113c2578160200160208202803683370190505b5081526020860151516001600160401b038111156113e2576113e26141f4565b60405190808252806020026020018201604052801561140b578160200160208202803683370190505b50816020018190525060006114dd8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa1580156114b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d89190614d24565b61391b565b905060005b876020015151811015611778576115278860200151828151811061150857611508614caa565b6020026020010151805160009081526020918201519091526040902090565b8360200151828151811061153d5761153d614caa565b602090810291909101015280156115fd57602083015161155e600183614de0565b8151811061156e5761156e614caa565b602002602001015160001c8360200151828151811061158f5761158f614caa565b602002602001015160001c116115fd576040805162461bcd60e51b81526020600482015260248101919091526000805160206153a983398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f7274656460648201526084016106f8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec63518460200151838151811061164257611642614caa565b60200260200101518b8b60000151858151811061166157611661614caa565b60200260200101516040518463ffffffff1660e01b815260040161169e9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156116bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116df9190614cfb565b6001600160c01b0316836000015182815181106116fe576116fe614caa565b602002602001018181525050611764610967611738848660000151858151811061172a5761172a614caa565b6020026020010151166139ac565b8a60200151848151811061174e5761174e614caa565b60200260200101516139d790919063ffffffff16565b94508061177081614d6f565b9150506114e2565b505061178383613abb565b60c95490935060ff1660008161179a57600061181c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190614ce2565b905060005b8a811015611e9a57821561197c578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f8681811061187857611878614caa565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dc9190614ce2565b6118e69190614d57565b1161197c5760405162461bcd60e51b815260206004820152606660248201526000805160206153a983398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c4016106f8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d848181106119bd576119bd614caa565b9050013560f81c60f81b60f81c8c8c60a0015185815181106119e1576119e1614caa565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a619190614df7565b6001600160401b031916611a848a60400151838151811061150857611508614caa565b67ffffffffffffffff191614611b205760405162461bcd60e51b815260206004820152606160248201526000805160206153a983398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c4016106f8565b611b5089604001518281518110611b3957611b39614caa565b60200260200101518761334690919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d84818110611b9357611b93614caa565b9050013560f81c60f81b60f81c8c8c60c001518581518110611bb757611bb7614caa565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c379190614e22565b85602001518281518110611c4d57611c4d614caa565b6001600160601b03909216602092830291909101820152850151805182908110611c7957611c79614caa565b602002602001015185600001518281518110611c9757611c97614caa565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a6020015151811015611e8557611d0f86600001518281518110611ce157611ce1614caa565b60200260200101518f8f86818110611cfb57611cfb614caa565b600192013560f81c9290921c811614919050565b15611e73577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f86818110611d5557611d55614caa565b9050013560f81c60f81b60f81c8e89602001518581518110611d7957611d79614caa565b60200260200101518f60e001518881518110611d9757611d97614caa565b60200260200101518781518110611db057611db0614caa565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015611e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e389190614e22565b8751805185908110611e4c57611e4c614caa565b60200260200101818151611e609190614e3f565b6001600160601b03169052506001909101905b80611e7d81614d6f565b915050611cbb565b50508080611e9290614d6f565b915050611821565b505050600080611eb48c868a606001518b6080015161084c565b9150915081611f255760405162461bcd60e51b815260206004820152604360248201526000805160206153a983398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a4016106f8565b80611f865760405162461bcd60e51b815260206004820152603960248201526000805160206153a983398151915260448201527f7265733a207369676e617475726520697320696e76616c69640000000000000060648201526084016106f8565b50506000878260200151604051602001611fa1929190614e67565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b611fd3613810565b611fdd6000613b56565b565b603254610100900460ff1615808015611fff5750603254600160ff909116105b806120195750303b158015612019575060325460ff166001145b61207c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106f8565b6032805460ff19166001179055801561209f576032805461ff0019166101001790555b6120a98686613ba8565b6120b284613b56565b6120bb8261386a565b60005b83518110156120f9576120e98482815181106120dc576120dc614caa565b6020026020010151613c92565b6120f281614d6f565b90506120be565b508015612140576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b60fc54600090600190811614156121a15760405162461bcd60e51b815260206004820152601960248201527f5061757361626c653a20696e646578206973207061757365640000000000000060448201526064016106f8565b3360009081526002602052604090205460ff166122155760405162461bcd60e51b815260206004820152602c60248201527f6f6e6c794261746368436f6e6669726d65723a206e6f742066726f6d2062617460448201526b31b41031b7b73334b936b2b960a11b60648201526084016106f8565b3233146122925760405162461bcd60e51b8152602060048201526051602482015260008051602061538983398151915260448201527f63683a2068656164657220616e64206e6f6e7369676e65722064617461206d75606482015270737420626520696e2063616c6c6461746160781b608482015260a4016106f8565b436122a36080850160608601614b4f565b63ffffffff16106123225760405162461bcd60e51b815260206004820152604f602482015260008051602061538983398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d6260648201526e657220697320696e2066757475726560881b608482015260a4016106f8565b63ffffffff431661012c61233c6080860160608701614b4f565b6123469190614eaf565b63ffffffff1610156123cc5760405162461bcd60e51b8152602060048201526055602482015260008051602061538983398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d62606482015274195c881a5cc81d1bdbc819985c881a5b881c185cdd605a1b608482015260a4016106f8565b6123d96040840184614ed7565b90506123e86020850185614ed7565b9050146124805760405162461bcd60e51b8152602060048201526066602482015260008051602061538983398151915260448201527f63683a2071756f72756d4e756d6265727320616e64207369676e65645374616b60648201527f65466f7251756f72756d73206d757374206265206f66207468652073616d65206084820152650d8cadccee8d60d31b60a482015260c4016106f8565b600061249361248e85614f24565b613cf5565b90506000806124bf836124a96020890189614ed7565b6124b960808b0160608c01614b4f565b896110b4565b9150915060005b6124d36040880188614ed7565b9050811015612615576124e96040880188614ed7565b828181106124f9576124f9614caa565b9050013560f81c60f81b60f81c60ff168360200151828151811061251f5761251f614caa565b60200260200101516125319190614fc4565b6001600160601b031660648460000151838151811061255257612552614caa565b60200260200101516001600160601b031661256d9190614ff3565b10156126035760405162461bcd60e51b81526020600482015260646024820181905260008051602061538983398151915260448301527f63683a207369676e61746f7269657320646f206e6f74206f776e206174206c65908201527f617374207468726573686f6c642070657263656e74616765206f6620612071756084820152636f72756d60e01b60a482015260c4016106f8565b8061260d81614d6f565b9150506124c6565b506000805463ffffffff169061262a88613d70565b6040805160208082018490528183018790524360e01b6001600160e01b0319166060830152825160448184030181526064830180855281519183019190912063ffffffff881660008181526001909452928590205552905191925086917fc75557c4ad49697e231449688be13ef11cb6be8ed0d18819d8dde074a5a16f8a9181900360840190a26126bc826001614eaf565b6000805463ffffffff191663ffffffff929092169190911790555050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146127285760405162461bcd60e51b81526004016106f890615012565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90612776908590859060040161508a565b600060405180830381600087803b15801561279057600080fd5b505af1158015612140573d6000803e3d6000fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146127ec5760405162461bcd60e51b81526004016106f890615012565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b600060405180830381600087803b15801561285057600080fd5b505af1158015612864573d6000803e3d6000fd5b5050505050565b612873613810565b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb355906128369084906004016149ca565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129459190614d24565b60ff1690508061296357505060408051600081526020810190915290565b6000805b82811015612a1857604051633ca5a5f560e01b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa1580156129d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fa9190614ce2565b612a049083614d57565b915080612a1081614d6f565b915050612967565b506000816001600160401b03811115612a3357612a336141f4565b604051908082528060200260200182016040528015612a5c578160200160208202803683370190505b5090506000805b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae59190614d24565b60ff16811015612c7e57604051633ca5a5f560e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7d9190614ce2565b905060005b81811015612c69576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015612bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1b9190614d9f565b60000151858581518110612c3157612c31614caa565b6001600160a01b039092166020928302919091019091015283612c5381614d6f565b9450508080612c6190614d6f565b915050612b82565b50508080612c7690614d6f565b915050612a63565b5090949350505050565b600061012c612c9a620189c084614eaf565b612ca49190614eaf565b92915050565b612cb2613810565b61070a81613c92565b612cc3613810565b6001600160a01b038116612d285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f8565b61070a81613b56565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da89190614bde565b6001600160a01b0316336001600160a01b031614612dd85760405162461bcd60e51b81526004016106f890614bfb565b60fc5419811960fc54191614612e565760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c697479000000000000000060648201526084016106f8565b60fc81905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610841565b612e95613d83565b60005b8181101561316957828282818110612eb257612eb2614caa565b9050602002810190612ec491906150d5565b612ed59060408101906020016141be565b6001600160a01b03166323b872dd3330868686818110612ef757612ef7614caa565b9050602002810190612f0991906150d5565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303816000875af1158015612f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f849190614c45565b506000838383818110612f9957612f99614caa565b9050602002810190612fab91906150d5565b612fbc9060408101906020016141be565b604051636eb1769f60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e90604401602060405180830381865afa15801561302a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304e9190614ce2565b905083838381811061306257613062614caa565b905060200281019061307491906150d5565b6130859060408101906020016141be565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838787878181106130c7576130c7614caa565b90506020028101906130d991906150d5565b604001356130e79190614d57565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015613132573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131569190614c45565b50508061316290614d6f565b9050612e98565b5060405163fce36c7d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fce36c7d906127769085908590600401615150565b6001600160a01b0381166132465760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a4016106f8565b60fb54604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a160fb80546001600160a01b0319166001600160a01b0392909216919091179055565b60408051808201909152600080825260208201526132cb6140cf565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa90508080156132fe57613300565bfe5b508061333e5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016106f8565b505092915050565b60408051808201909152600080825260208201526133626140ed565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa90508080156132fe57508061333e5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016106f8565b6133e261410b565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820190915260008082526020820152600080806134ca60008051602061536983398151915286614cc0565b90505b6134d681613e18565b9093509150600080516020615369833981519152828309831415613510576040805180820190915290815260208101919091529392505050565b6000805160206153698339815191526001820890506134cd565b60408051808201825286815260208082018690528251808401909352868352820184905260009182919061355c614130565b60005b6002811015613721576000613575826006614ff3565b905084826002811061358957613589614caa565b6020020151518361359b836000614d57565b600c81106135ab576135ab614caa565b60200201528482600281106135c2576135c2614caa565b602002015160200151838260016135d99190614d57565b600c81106135e9576135e9614caa565b602002015283826002811061360057613600614caa565b6020020151515183613613836002614d57565b600c811061362357613623614caa565b602002015283826002811061363a5761363a614caa565b6020020151516001602002015183613653836003614d57565b600c811061366357613663614caa565b602002015283826002811061367a5761367a614caa565b60200201516020015160006002811061369557613695614caa565b6020020151836136a6836004614d57565b600c81106136b6576136b6614caa565b60200201528382600281106136cd576136cd614caa565b6020020151602001516001600281106136e8576136e8614caa565b6020020151836136f9836005614d57565b600c811061370957613709614caa565b6020020152508061371981614d6f565b91505061355f565b5061372a61414f565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b606060008061375c846139ac565b61ffff166001600160401b03811115613777576137776141f4565b6040519080825280601f01601f1916602001820160405280156137a1576020820181803683370190505b5090506000805b8251821080156137b9575061010081105b15612c7e576001811b935085841615613800578060f81b8383815181106137e2576137e2614caa565b60200101906001600160f81b031916908160001a9053508160010191505b61380981614d6f565b90506137a8565b6065546001600160a01b03163314611fdd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f8565b609754604080516001600160a01b03928316815291831660208301527fe11cddf1816a43318ca175bbc52cd0185436e9cbead7c83acc54a73e461717e3910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b60c9805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc906020015b60405180910390a150565b60008061392784613e9a565b9050808360ff166001901b116139a55760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c75650060648201526084016106f8565b9392505050565b6000805b8215612ca4576139c1600184614de0565b90921691806139cf8161525d565b9150506139b0565b60408051808201909152600080825260208201526102008261ffff1610613a335760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b60448201526064016106f8565b8161ffff1660011415613a47575081612ca4565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff1610613ab057600161ffff871660ff83161c81161415613a9357613a908484613346565b93505b613a9d8384613346565b92506201fffe600192831b169101613a63565b509195945050505050565b60408051808201909152600080825260208201528151158015613ae057506020820151155b15613afe575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020016000805160206153698339815191528460200151613b319190614cc0565b613b4990600080516020615369833981519152614de0565b905292915050565b919050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60fb546001600160a01b0316158015613bc957506001600160a01b03821615155b613c4b5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a4016106f8565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2613c8e826131b8565b5050565b6001600160a01b038116600081815260026020908152604091829020805460ff8082161560ff1990921682179092558351948552161515908301527f5c3265f5fb462ef4930fe47beaa183647c97f19ba545b761f41bc8cd4621d4149101613910565b6000613d3282604080518082019091526000808252602082015250604080518082019091528151815260609091015163ffffffff16602082015290565b6040805182516020808301919091529092015163ffffffff16908201526060015b604051602081830303815290604052805190602001209050919050565b600081604051602001613d5391906152ed565b6097546001600160a01b03163314611fdd5760405162461bcd60e51b815260206004820152604c60248201527f536572766963654d616e61676572426173652e6f6e6c7952657761726473496e60448201527f69746961746f723a2063616c6c6572206973206e6f742074686520726577617260648201526b32399034b734ba34b0ba37b960a11b608482015260a4016106f8565b60008080600080516020615369833981519152600360008051602061536983398151915286600080516020615369833981519152888909090890506000613e8e827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52600080516020615369833981519152614027565b91959194509092505050565b600061010082511115613f235760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016106f8565b8151613f3157506000919050565b60008083600081518110613f4757613f47614caa565b0160200151600160f89190911c81901b92505b845181101561401e57848181518110613f7557613f75614caa565b0160200151600160f89190911c1b915082821161400a5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016106f8565b9181179161401781614d6f565b9050613f5a565b50909392505050565b60008061403261414f565b61403a61416d565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa92508280156132fe5750826140c45760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c75726500000000000060448201526064016106f8565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061411e61418b565b815260200161412b61418b565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6001600160a01b038116811461070a57600080fd5b6000602082840312156141d057600080fd5b81356139a5816141a9565b6000602082840312156141ed57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561422c5761422c6141f4565b60405290565b60405161010081016001600160401b038111828210171561422c5761422c6141f4565b604051601f8201601f191681016001600160401b038111828210171561427d5761427d6141f4565b604052919050565b60006040828403121561429757600080fd5b61429f61420a565b9050813581526020820135602082015292915050565b600082601f8301126142c657600080fd5b6142ce61420a565b8060408401858111156142e057600080fd5b845b818110156142fa5780358452602093840193016142e2565b509095945050505050565b60006080828403121561431757600080fd5b61431f61420a565b905061432b83836142b5565b815261433a83604084016142b5565b602082015292915050565b600080600080610120858703121561435c57600080fd5b8435935061436d8660208701614285565b925061437c8660608701614305565b915061438b8660e08701614285565b905092959194509250565b8035613b51816141a9565b6020808252825182820181905260009190848201906040850190845b818110156143e25783516001600160a01b0316835292840192918401916001016143bd565b50909695505050505050565b801515811461070a57600080fd5b60006020828403121561440e57600080fd5b81356139a5816143ee565b60ff8116811461070a57600080fd5b60006020828403121561443a57600080fd5b81356139a581614419565b803563ffffffff81168114613b5157600080fd5b60006001600160401b03821115614472576144726141f4565b5060051b60200190565b600082601f83011261448d57600080fd5b813560206144a261449d83614459565b614255565b82815260059290921b840181019181810190868411156144c157600080fd5b8286015b848110156144e3576144d681614445565b83529183019183016144c5565b509695505050505050565b600082601f8301126144ff57600080fd5b8135602061450f61449d83614459565b82815260069290921b8401810191818101908684111561452e57600080fd5b8286015b848110156144e3576145448882614285565b835291830191604001614532565b600082601f83011261456357600080fd5b8135602061457361449d83614459565b82815260059290921b8401810191818101908684111561459257600080fd5b8286015b848110156144e35780356001600160401b038111156145b55760008081fd5b6145c38986838b010161447c565b845250918301918301614596565b600061018082840312156145e457600080fd5b6145ec614232565b905081356001600160401b038082111561460557600080fd5b6146118583860161447c565b8352602084013591508082111561462757600080fd5b614633858386016144ee565b6020840152604084013591508082111561464c57600080fd5b614658858386016144ee565b604084015261466a8560608601614305565b606084015261467c8560e08601614285565b608084015261012084013591508082111561469657600080fd5b6146a28583860161447c565b60a08401526101408401359150808211156146bc57600080fd5b6146c88583860161447c565b60c08401526101608401359150808211156146e257600080fd5b506146ef84828501614552565b60e08301525092915050565b60008060008060006080868803121561471357600080fd5b8535945060208601356001600160401b038082111561473157600080fd5b818801915088601f83011261474557600080fd5b81358181111561475457600080fd5b89602082850101111561476657600080fd5b602083019650945061477a60408901614445565b9350606088013591508082111561479057600080fd5b5061479d888289016145d1565b9150509295509295909350565b600081518084526020808501945080840160005b838110156147e35781516001600160601b0316875295820195908201906001016147be565b509495945050505050565b604081526000835160408084015261480960808401826147aa565b90506020850151603f1984830301606085015261482682826147aa565b925050508260208301529392505050565b600080600080600060a0868803121561484f57600080fd5b853561485a816141a9565b945060208681013594506040870135614872816141a9565b935060608701356001600160401b0381111561488d57600080fd5b8701601f8101891361489e57600080fd5b80356148ac61449d82614459565b81815260059190911b8201830190838101908b8311156148cb57600080fd5b928401925b828410156148f25783356148e3816141a9565b825292840192908401906148d0565b809650505050505061490660808701614396565b90509295509295909350565b6000806040838503121561492557600080fd5b82356001600160401b038082111561493c57600080fd5b908401906080828703121561495057600080fd5b9092506020840135908082111561496657600080fd5b50614973858286016145d1565b9150509250929050565b6000815180845260005b818110156149a357602081850181015186830182015201614987565b818111156149b5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006139a5602083018461497d565b60006001600160401b038311156149f6576149f66141f4565b614a09601f8401601f1916602001614255565b9050828152838383011115614a1d57600080fd5b828260208301376000602084830101529392505050565b600082601f830112614a4557600080fd5b6139a5838335602085016149dd565b60008060408385031215614a6757600080fd5b8235614a72816141a9565b915060208301356001600160401b0380821115614a8e57600080fd5b9084019060608287031215614aa257600080fd5b604051606081018181108382111715614abd57614abd6141f4565b604052823582811115614acf57600080fd5b614adb88828601614a34565b82525060208301356020820152604083013560408201528093505050509250929050565b600060208284031215614b1157600080fd5b81356001600160401b03811115614b2757600080fd5b8201601f81018413614b3857600080fd5b614b47848235602084016149dd565b949350505050565b600060208284031215614b6157600080fd5b6139a582614445565b60008060208385031215614b7d57600080fd5b82356001600160401b0380821115614b9457600080fd5b818501915085601f830112614ba857600080fd5b813581811115614bb757600080fd5b8660208260051b8501011115614bcc57600080fd5b60209290920196919550909350505050565b600060208284031215614bf057600080fd5b81516139a5816141a9565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b600060208284031215614c5757600080fd5b81516139a5816143ee565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600082614cdd57634e487b7160e01b600052601260045260246000fd5b500690565b600060208284031215614cf457600080fd5b5051919050565b600060208284031215614d0d57600080fd5b81516001600160c01b03811681146139a557600080fd5b600060208284031215614d3657600080fd5b81516139a581614419565b634e487b7160e01b600052601160045260246000fd5b60008219821115614d6a57614d6a614d41565b500190565b6000600019821415614d8357614d83614d41565b5060010190565b6001600160601b038116811461070a57600080fd5b600060408284031215614db157600080fd5b614db961420a565b8251614dc4816141a9565b81526020830151614dd481614d8a565b60208201529392505050565b600082821015614df257614df2614d41565b500390565b600060208284031215614e0957600080fd5b815167ffffffffffffffff19811681146139a557600080fd5b600060208284031215614e3457600080fd5b81516139a581614d8a565b60006001600160601b0383811690831681811015614e5f57614e5f614d41565b039392505050565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b83811015614ea257815185529382019390820190600101614e86565b5092979650505050505050565b600063ffffffff808316818516808303821115614ece57614ece614d41565b01949350505050565b6000808335601e19843603018112614eee57600080fd5b8301803591506001600160401b03821115614f0857600080fd5b602001915036819003821315614f1d57600080fd5b9250929050565b600060808236031215614f3657600080fd5b604051608081016001600160401b038282108183111715614f5957614f596141f4565b81604052843583526020850135915080821115614f7557600080fd5b614f8136838701614a34565b60208401526040850135915080821115614f9a57600080fd5b50614fa736828601614a34565b604083015250614fb960608401614445565b606082015292915050565b60006001600160601b0380831681851681830481118215151615614fea57614fea614d41565b02949350505050565b600081600019048311821515161561500d5761500d614d41565b500290565b60208082526052908201527f536572766963654d616e61676572426173652e6f6e6c7952656769737472794360408201527f6f6f7264696e61746f723a2063616c6c6572206973206e6f742074686520726560608201527133b4b9ba393c9031b7b7b93234b730ba37b960711b608082015260a00190565b60018060a01b03831681526040602082015260008251606060408401526150b460a084018261497d565b90506020840151606084015260408401516080840152809150509392505050565b60008235609e198336030181126150eb57600080fd5b9190910192915050565b8183526000602080850194508260005b858110156147e3578135615118816141a9565b6001600160a01b031687528183013561513081614d8a565b6001600160601b0316878401526040968701969190910190600101615105565b60208082528181018390526000906040808401600586901b8501820187855b8881101561524f57878303603f190184528135368b9003609e1901811261519557600080fd5b8a0160a0813536839003601e190181126151ae57600080fd5b820180356001600160401b038111156151c657600080fd5b8060061b36038413156151d857600080fd5b8287526151ea838801828c85016150f5565b925050506151f9888301614396565b6001600160a01b0316888601528187013587860152606061521b818401614445565b63ffffffff16908601526080615232838201614445565b63ffffffff1695019490945250928501929085019060010161516f565b509098975050505050505050565b600061ffff8083168181141561527557615275614d41565b6001019392505050565b6000808335601e1984360301811261529657600080fd5b83016020810192503590506001600160401b038111156152b557600080fd5b803603831315614f1d57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152813560208201526000615307602084018461527f565b6080604085015261531c60a0850182846152c4565b91505061532c604085018561527f565b848303601f190160608601526153438382846152c4565b9250505063ffffffff61535860608601614445565b166080840152809150509291505056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47456967656e4441536572766963654d616e616765722e636f6e6669726d426174424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220452ee19b9955609d39c81a585dc4955e586c3598344c79cd5cc27124aeab6de964736f6c634300080c0033", } // ContractEigenDAServiceManagerABI is the input ABI used to generate the binding from. @@ -117,7 +104,7 @@ var ContractEigenDAServiceManagerABI = ContractEigenDAServiceManagerMetaData.ABI var ContractEigenDAServiceManagerBin = ContractEigenDAServiceManagerMetaData.Bin // DeployContractEigenDAServiceManager deploys a new Ethereum contract, binding an instance of ContractEigenDAServiceManager to it. -func DeployContractEigenDAServiceManager(auth *bind.TransactOpts, backend bind.ContractBackend, __avsDirectory common.Address, __rewardsCoordinator common.Address, __registryCoordinator common.Address, __stakeRegistry common.Address, __eigenDAThresholdRegistry common.Address, __eigenDARelayRegistry common.Address) (common.Address, *types.Transaction, *ContractEigenDAServiceManager, error) { +func DeployContractEigenDAServiceManager(auth *bind.TransactOpts, backend bind.ContractBackend, __avsDirectory common.Address, __rewardsCoordinator common.Address, __registryCoordinator common.Address, __stakeRegistry common.Address) (common.Address, *types.Transaction, *ContractEigenDAServiceManager, error) { parsed, err := ContractEigenDAServiceManagerMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err @@ -126,7 +113,7 @@ func DeployContractEigenDAServiceManager(auth *bind.TransactOpts, backend bind.C return common.Address{}, nil, nil, errors.New("GetABI returned nil") } - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractEigenDAServiceManagerBin), backend, __avsDirectory, __rewardsCoordinator, __registryCoordinator, __stakeRegistry, __eigenDAThresholdRegistry, __eigenDARelayRegistry) + address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractEigenDAServiceManagerBin), backend, __avsDirectory, __rewardsCoordinator, __registryCoordinator, __stakeRegistry) if err != nil { return common.Address{}, nil, nil, err } @@ -555,161 +542,6 @@ func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession return _ContractEigenDAServiceManager.Contract.Delegation(&_ContractEigenDAServiceManager.CallOpts) } -// EigenDARelayRegistry is a free data retrieval call binding the contract method 0x72276443. -// -// Solidity: function eigenDARelayRegistry() view returns(address) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) EigenDARelayRegistry(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "eigenDARelayRegistry") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EigenDARelayRegistry is a free data retrieval call binding the contract method 0x72276443. -// -// Solidity: function eigenDARelayRegistry() view returns(address) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) EigenDARelayRegistry() (common.Address, error) { - return _ContractEigenDAServiceManager.Contract.EigenDARelayRegistry(&_ContractEigenDAServiceManager.CallOpts) -} - -// EigenDARelayRegistry is a free data retrieval call binding the contract method 0x72276443. -// -// Solidity: function eigenDARelayRegistry() view returns(address) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) EigenDARelayRegistry() (common.Address, error) { - return _ContractEigenDAServiceManager.Contract.EigenDARelayRegistry(&_ContractEigenDAServiceManager.CallOpts) -} - -// EigenDAThresholdRegistry is a free data retrieval call binding the contract method 0xf8c66814. -// -// Solidity: function eigenDAThresholdRegistry() view returns(address) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) EigenDAThresholdRegistry(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "eigenDAThresholdRegistry") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EigenDAThresholdRegistry is a free data retrieval call binding the contract method 0xf8c66814. -// -// Solidity: function eigenDAThresholdRegistry() view returns(address) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) EigenDAThresholdRegistry() (common.Address, error) { - return _ContractEigenDAServiceManager.Contract.EigenDAThresholdRegistry(&_ContractEigenDAServiceManager.CallOpts) -} - -// EigenDAThresholdRegistry is a free data retrieval call binding the contract method 0xf8c66814. -// -// Solidity: function eigenDAThresholdRegistry() view returns(address) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) EigenDAThresholdRegistry() (common.Address, error) { - return _ContractEigenDAServiceManager.Contract.EigenDAThresholdRegistry(&_ContractEigenDAServiceManager.CallOpts) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) GetBlobParams(opts *bind.CallOpts, version uint16) (VersionedBlobParams, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "getBlobParams", version) - - if err != nil { - return *new(VersionedBlobParams), err - } - - out0 := *abi.ConvertType(out[0], new(VersionedBlobParams)).(*VersionedBlobParams) - - return out0, err - -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractEigenDAServiceManager.Contract.GetBlobParams(&_ContractEigenDAServiceManager.CallOpts, version) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractEigenDAServiceManager.Contract.GetBlobParams(&_ContractEigenDAServiceManager.CallOpts, version) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) GetDefaultSecurityThresholdsV2(opts *bind.CallOpts) (SecurityThresholds, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "getDefaultSecurityThresholdsV2") - - if err != nil { - return *new(SecurityThresholds), err - } - - out0 := *abi.ConvertType(out[0], new(SecurityThresholds)).(*SecurityThresholds) - - return out0, err - -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractEigenDAServiceManager.Contract.GetDefaultSecurityThresholdsV2(&_ContractEigenDAServiceManager.CallOpts) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractEigenDAServiceManager.Contract.GetDefaultSecurityThresholdsV2(&_ContractEigenDAServiceManager.CallOpts) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) GetIsQuorumRequired(opts *bind.CallOpts, quorumNumber uint8) (bool, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "getIsQuorumRequired", quorumNumber) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractEigenDAServiceManager.Contract.GetIsQuorumRequired(&_ContractEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractEigenDAServiceManager.Contract.GetIsQuorumRequired(&_ContractEigenDAServiceManager.CallOpts, quorumNumber) -} - // GetOperatorRestakedStrategies is a free data retrieval call binding the contract method 0x33cfb7b7. // // Solidity: function getOperatorRestakedStrategies(address operator) view returns(address[]) @@ -741,68 +573,6 @@ func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession return _ContractEigenDAServiceManager.Contract.GetOperatorRestakedStrategies(&_ContractEigenDAServiceManager.CallOpts, operator) } -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) GetQuorumAdversaryThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "getQuorumAdversaryThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAServiceManager.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAServiceManager.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCaller) GetQuorumConfirmationThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractEigenDAServiceManager.contract.Call(opts, &out, "getQuorumConfirmationThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAServiceManager.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAServiceManager.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractEigenDAServiceManager.CallOpts, quorumNumber) -} - // GetRestakeableStrategies is a free data retrieval call binding the contract method 0xe481af9d. // // Solidity: function getRestakeableStrategies() view returns(address[]) @@ -1316,21 +1086,21 @@ func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerCallerSession // ConfirmBatch is a paid mutator transaction binding the contract method 0x7794965a. // // Solidity: function confirmBatch((bytes32,bytes,bytes,uint32) batchHeader, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) returns() -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerTransactor) ConfirmBatch(opts *bind.TransactOpts, batchHeader BatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { +func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerTransactor) ConfirmBatch(opts *bind.TransactOpts, batchHeader IEigenDAServiceManagerBatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { return _ContractEigenDAServiceManager.contract.Transact(opts, "confirmBatch", batchHeader, nonSignerStakesAndSignature) } // ConfirmBatch is a paid mutator transaction binding the contract method 0x7794965a. // // Solidity: function confirmBatch((bytes32,bytes,bytes,uint32) batchHeader, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) returns() -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) ConfirmBatch(batchHeader BatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { +func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerSession) ConfirmBatch(batchHeader IEigenDAServiceManagerBatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { return _ContractEigenDAServiceManager.Contract.ConfirmBatch(&_ContractEigenDAServiceManager.TransactOpts, batchHeader, nonSignerStakesAndSignature) } // ConfirmBatch is a paid mutator transaction binding the contract method 0x7794965a. // // Solidity: function confirmBatch((bytes32,bytes,bytes,uint32) batchHeader, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) returns() -func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerTransactorSession) ConfirmBatch(batchHeader BatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { +func (_ContractEigenDAServiceManager *ContractEigenDAServiceManagerTransactorSession) ConfirmBatch(batchHeader IEigenDAServiceManagerBatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { return _ContractEigenDAServiceManager.Contract.ConfirmBatch(&_ContractEigenDAServiceManager.TransactOpts, batchHeader, nonSignerStakesAndSignature) } diff --git a/contracts/bindings/EigenDAThresholdRegistry/binding.go b/contracts/bindings/EigenDAThresholdRegistry/binding.go deleted file mode 100644 index 11d522b288..0000000000 --- a/contracts/bindings/EigenDAThresholdRegistry/binding.go +++ /dev/null @@ -1,1024 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package contractEigenDAThresholdRegistry - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// SecurityThresholds is an auto generated low-level Go binding around an user-defined struct. -type SecurityThresholds struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -} - -// VersionedBlobParams is an auto generated low-level Go binding around an user-defined struct. -type VersionedBlobParams struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -} - -// ContractEigenDAThresholdRegistryMetaData contains all meta data concerning the ContractEigenDAThresholdRegistry contract. -var ContractEigenDAThresholdRegistryMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"defaultSecurityThresholdsV2\",\"inputs\":[],\"outputs\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getBlobParams\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getDefaultSecurityThresholdsV2\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getIsQuorumRequired\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumAdversaryThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumConfirmationThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"_initialOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_quorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"_quorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"_quorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"_versions\",\"type\":\"uint16[]\",\"internalType\":\"uint16[]\"},{\"name\":\"_versionedBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structVersionedBlobParams[]\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"_defaultSecurityThresholdsV2\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumAdversaryThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumConfirmationThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumNumbersRequired\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"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\":\"updateQuorumAdversaryThresholdPercentages\",\"inputs\":[{\"name\":\"_quorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateQuorumConfirmationThresholdPercentages\",\"inputs\":[{\"name\":\"_quorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateQuorumNumbersRequired\",\"inputs\":[{\"name\":\"_quorumNumbersRequired\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateVersionedBlobParams\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"_versionedBlobParams\",\"type\":\"tuple\",\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"versionedBlobParams\",\"inputs\":[{\"name\":\"\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"outputs\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"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: "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b603254610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff90811610156100dc576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611224806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c80638da5cb5b116100a2578063e15234ff11610071578063e15234ff146102d8578063ee6c3bcf146102e0578063ef635529146102f3578063f2fde38b1461033e578063f74e363c1461035157600080fd5b80638da5cb5b1461028f578063a5e9b2eb146102aa578063bafa9107146102bd578063d6026dbf146102c557600080fd5b80632ecfe72b116100e95780632ecfe72b146101ac5780634a96aaa01461024c5780634e8695cf1461025f578063715018a6146102725780638687feae1461027a57600080fd5b80623985991461011a578063048886d21461012f5780631429c7c2146101575780631c3970fa1461017c575b600080fd5b61012d610128366004610d40565b6103b6565b005b61014261013d366004610d8e565b6103d5565b60405190151581526020015b60405180910390f35b61016a610165366004610d8e565b61047f565b60405160ff909116815260200161014e565b6004546101929060ff8082169161010090041682565b6040805160ff93841681529290911660208301520161014e565b61021c6101ba366004610dc2565b60408051606080820183526000808352602080840182905292840181905261ffff9490941684526003825292829020825193840183525463ffffffff808216855264010000000082041691840191909152600160401b900460ff169082015290565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff169082015260600161014e565b61012d61025a366004610d40565b6104ed565b61012d61026d366004610fdb565b610508565b61012d6107ce565b6102826107e2565b60405161014e91906110d0565b6065546040516001600160a01b03909116815260200161014e565b61012d6102b8366004610d40565b610870565b61028261088b565b61012d6102d3366004611125565b610898565b610282610905565b61016a6102ee366004610d8e565b610912565b60408051808201825260008082526020918201528151808301835260045460ff808216808452610100909204811692840192835284519182529151909116918101919091520161014e565b61012d61034c366004611159565b61093e565b61039061035f366004610dc2565b60036020526000908152604090205463ffffffff80821691640100000000810490911690600160401b900460ff1683565b6040805163ffffffff948516815293909216602084015260ff169082015260600161014e565b6103be6109b7565b80516103d1906001906020840190610bf0565b5050565b600080600160ff84161b905080610475600280546103f290611174565b80601f016020809104026020016040519081016040528092919081815260200182805461041e90611174565b801561046b5780601f106104405761010080835404028352916020019161046b565b820191906000526020600020905b81548152906001019060200180831161044e57829003601f168201915b5050505050610a11565b9091161492915050565b60008160ff166001805461049290611174565b905011156104e85760018260ff1681546104ab90611174565b81106104b9576104b96111af565b8154600116156104d85790600052602060002090602091828204019190065b9054901a600160f81b0260f81c90505b919050565b6104f56109b7565b80516103d1906000906020840190610bf0565b603254610100900460ff16158080156105285750603254600160ff909116105b806105425750303b158015610542575060325460ff166001145b6105aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6032805460ff1916600117905580156105cd576032805461ff0019166101001790555b6105d688610b9e565b86516105e99060009060208a0190610bf0565b5085516105fd906001906020890190610bf0565b508451610611906002906020880190610bf0565b50815160048054602085015160ff9081166101000261ffff1990921693169290921791909117905582518451146106c55760405162461bcd60e51b815260206004820152604c60248201527f456967656e44415468726573686f6c6452656769737472793a2076657273696f60448201527f6e7320616e642076657273696f6e656420626c6f6220706172616d73206c656e60648201526b0cee8d040dad2e6dac2e8c6d60a31b608482015260a4016105a1565b60005b845181101561077d578381815181106106e3576106e36111af565b602002602001015160036000878481518110610701576107016111af565b60209081029190910181015161ffff1682528181019290925260409081016000208351815493850151949092015160ff16600160401b0260ff60401b1963ffffffff9586166401000000000267ffffffffffffffff1990951695909316949094179290921716919091179055610776816111c5565b90506106c8565b5080156107c4576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6107d66109b7565b6107e06000610b9e565b565b600080546107ef90611174565b80601f016020809104026020016040519081016040528092919081815260200182805461081b90611174565b80156108685780601f1061083d57610100808354040283529160200191610868565b820191906000526020600020905b81548152906001019060200180831161084b57829003601f168201915b505050505081565b6108786109b7565b80516103d1906002906020840190610bf0565b600180546107ef90611174565b6108a06109b7565b61ffff9091166000908152600360209081526040918290208351815492850151939094015160ff16600160401b0260ff60401b1963ffffffff9485166401000000000267ffffffffffffffff1990941694909516939093179190911792909216179055565b600280546107ef90611174565b60008160ff166000805461092590611174565b905011156104e85760008260ff1681546104ab90611174565b6109466109b7565b6001600160a01b0381166109ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a1565b6109b481610b9e565b50565b6065546001600160a01b031633146107e05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a1565b600061010082511115610a9a5760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016105a1565b8151610aa857506000919050565b60008083600081518110610abe57610abe6111af565b0160200151600160f89190911c81901b92505b8451811015610b9557848181518110610aec57610aec6111af565b0160200151600160f89190911c1b9150828211610b815760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016105a1565b91811791610b8e816111c5565b9050610ad1565b50909392505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054610bfc90611174565b90600052602060002090601f016020900481019282610c1e5760008555610c64565b82601f10610c3757805160ff1916838001178555610c64565b82800160010185558215610c64579182015b82811115610c64578251825591602001919060010190610c49565b50610c70929150610c74565b5090565b5b80821115610c705760008155600101610c75565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610cc857610cc8610c89565b604052919050565b600082601f830112610ce157600080fd5b813567ffffffffffffffff811115610cfb57610cfb610c89565b610d0e601f8201601f1916602001610c9f565b818152846020838601011115610d2357600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215610d5257600080fd5b813567ffffffffffffffff811115610d6957600080fd5b610d7584828501610cd0565b949350505050565b803560ff811681146104e857600080fd5b600060208284031215610da057600080fd5b610da982610d7d565b9392505050565b803561ffff811681146104e857600080fd5b600060208284031215610dd457600080fd5b610da982610db0565b80356001600160a01b03811681146104e857600080fd5b600067ffffffffffffffff821115610e0e57610e0e610c89565b5060051b60200190565b600082601f830112610e2957600080fd5b81356020610e3e610e3983610df4565b610c9f565b82815260059290921b84018101918181019086841115610e5d57600080fd5b8286015b84811015610e7f57610e7281610db0565b8352918301918301610e61565b509695505050505050565b803563ffffffff811681146104e857600080fd5b600060608284031215610eb057600080fd5b6040516060810181811067ffffffffffffffff82111715610ed357610ed3610c89565b604052905080610ee283610e8a565b8152610ef060208401610e8a565b6020820152610f0160408401610d7d565b60408201525092915050565b600082601f830112610f1e57600080fd5b81356020610f2e610e3983610df4565b82815260609283028501820192828201919087851115610f4d57600080fd5b8387015b85811015610f7057610f638982610e9e565b8452928401928101610f51565b5090979650505050505050565b600060408284031215610f8f57600080fd5b6040516040810181811067ffffffffffffffff82111715610fb257610fb2610c89565b604052905080610fc183610d7d565b8152610fcf60208401610d7d565b60208201525092915050565b6000806000806000806000610100888a031215610ff757600080fd5b61100088610ddd565b9650602088013567ffffffffffffffff8082111561101d57600080fd5b6110298b838c01610cd0565b975060408a013591508082111561103f57600080fd5b61104b8b838c01610cd0565b965060608a013591508082111561106157600080fd5b61106d8b838c01610cd0565b955060808a013591508082111561108357600080fd5b61108f8b838c01610e18565b945060a08a01359150808211156110a557600080fd5b506110b28a828b01610f0d565b9250506110c28960c08a01610f7d565b905092959891949750929550565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6000806080838503121561113857600080fd5b61114183610db0565b91506111508460208501610e9e565b90509250929050565b60006020828403121561116b57600080fd5b610da982610ddd565b600181811c9082168061118857607f821691505b602082108114156111a957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006000198214156111e757634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212200edb7087c34feba545c673e1ad070c4f2e1767267230856c236c0ee11db85fe164736f6c634300080c0033", -} - -// ContractEigenDAThresholdRegistryABI is the input ABI used to generate the binding from. -// Deprecated: Use ContractEigenDAThresholdRegistryMetaData.ABI instead. -var ContractEigenDAThresholdRegistryABI = ContractEigenDAThresholdRegistryMetaData.ABI - -// ContractEigenDAThresholdRegistryBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use ContractEigenDAThresholdRegistryMetaData.Bin instead. -var ContractEigenDAThresholdRegistryBin = ContractEigenDAThresholdRegistryMetaData.Bin - -// DeployContractEigenDAThresholdRegistry deploys a new Ethereum contract, binding an instance of ContractEigenDAThresholdRegistry to it. -func DeployContractEigenDAThresholdRegistry(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ContractEigenDAThresholdRegistry, error) { - parsed, err := ContractEigenDAThresholdRegistryMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractEigenDAThresholdRegistryBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &ContractEigenDAThresholdRegistry{ContractEigenDAThresholdRegistryCaller: ContractEigenDAThresholdRegistryCaller{contract: contract}, ContractEigenDAThresholdRegistryTransactor: ContractEigenDAThresholdRegistryTransactor{contract: contract}, ContractEigenDAThresholdRegistryFilterer: ContractEigenDAThresholdRegistryFilterer{contract: contract}}, nil -} - -// ContractEigenDAThresholdRegistry is an auto generated Go binding around an Ethereum contract. -type ContractEigenDAThresholdRegistry struct { - ContractEigenDAThresholdRegistryCaller // Read-only binding to the contract - ContractEigenDAThresholdRegistryTransactor // Write-only binding to the contract - ContractEigenDAThresholdRegistryFilterer // Log filterer for contract events -} - -// ContractEigenDAThresholdRegistryCaller is an auto generated read-only Go binding around an Ethereum contract. -type ContractEigenDAThresholdRegistryCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ContractEigenDAThresholdRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract. -type ContractEigenDAThresholdRegistryTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ContractEigenDAThresholdRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type ContractEigenDAThresholdRegistryFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ContractEigenDAThresholdRegistrySession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type ContractEigenDAThresholdRegistrySession struct { - Contract *ContractEigenDAThresholdRegistry // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ContractEigenDAThresholdRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type ContractEigenDAThresholdRegistryCallerSession struct { - Contract *ContractEigenDAThresholdRegistryCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// ContractEigenDAThresholdRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type ContractEigenDAThresholdRegistryTransactorSession struct { - Contract *ContractEigenDAThresholdRegistryTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ContractEigenDAThresholdRegistryRaw is an auto generated low-level Go binding around an Ethereum contract. -type ContractEigenDAThresholdRegistryRaw struct { - Contract *ContractEigenDAThresholdRegistry // Generic contract binding to access the raw methods on -} - -// ContractEigenDAThresholdRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type ContractEigenDAThresholdRegistryCallerRaw struct { - Contract *ContractEigenDAThresholdRegistryCaller // Generic read-only contract binding to access the raw methods on -} - -// ContractEigenDAThresholdRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type ContractEigenDAThresholdRegistryTransactorRaw struct { - Contract *ContractEigenDAThresholdRegistryTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewContractEigenDAThresholdRegistry creates a new instance of ContractEigenDAThresholdRegistry, bound to a specific deployed contract. -func NewContractEigenDAThresholdRegistry(address common.Address, backend bind.ContractBackend) (*ContractEigenDAThresholdRegistry, error) { - contract, err := bindContractEigenDAThresholdRegistry(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &ContractEigenDAThresholdRegistry{ContractEigenDAThresholdRegistryCaller: ContractEigenDAThresholdRegistryCaller{contract: contract}, ContractEigenDAThresholdRegistryTransactor: ContractEigenDAThresholdRegistryTransactor{contract: contract}, ContractEigenDAThresholdRegistryFilterer: ContractEigenDAThresholdRegistryFilterer{contract: contract}}, nil -} - -// NewContractEigenDAThresholdRegistryCaller creates a new read-only instance of ContractEigenDAThresholdRegistry, bound to a specific deployed contract. -func NewContractEigenDAThresholdRegistryCaller(address common.Address, caller bind.ContractCaller) (*ContractEigenDAThresholdRegistryCaller, error) { - contract, err := bindContractEigenDAThresholdRegistry(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &ContractEigenDAThresholdRegistryCaller{contract: contract}, nil -} - -// NewContractEigenDAThresholdRegistryTransactor creates a new write-only instance of ContractEigenDAThresholdRegistry, bound to a specific deployed contract. -func NewContractEigenDAThresholdRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractEigenDAThresholdRegistryTransactor, error) { - contract, err := bindContractEigenDAThresholdRegistry(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &ContractEigenDAThresholdRegistryTransactor{contract: contract}, nil -} - -// NewContractEigenDAThresholdRegistryFilterer creates a new log filterer instance of ContractEigenDAThresholdRegistry, bound to a specific deployed contract. -func NewContractEigenDAThresholdRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractEigenDAThresholdRegistryFilterer, error) { - contract, err := bindContractEigenDAThresholdRegistry(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &ContractEigenDAThresholdRegistryFilterer{contract: contract}, nil -} - -// bindContractEigenDAThresholdRegistry binds a generic wrapper to an already deployed contract. -func bindContractEigenDAThresholdRegistry(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := ContractEigenDAThresholdRegistryMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ContractEigenDAThresholdRegistry.Contract.ContractEigenDAThresholdRegistryCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.ContractEigenDAThresholdRegistryTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.ContractEigenDAThresholdRegistryTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ContractEigenDAThresholdRegistry.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.contract.Transact(opts, method, params...) -} - -// DefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0x1c3970fa. -// -// Solidity: function defaultSecurityThresholdsV2() view returns(uint8 confirmationThreshold, uint8 adversaryThreshold) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) DefaultSecurityThresholdsV2(opts *bind.CallOpts) (struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -}, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "defaultSecurityThresholdsV2") - - outstruct := new(struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 - }) - if err != nil { - return *outstruct, err - } - - outstruct.ConfirmationThreshold = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.AdversaryThreshold = *abi.ConvertType(out[1], new(uint8)).(*uint8) - - return *outstruct, err - -} - -// DefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0x1c3970fa. -// -// Solidity: function defaultSecurityThresholdsV2() view returns(uint8 confirmationThreshold, uint8 adversaryThreshold) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) DefaultSecurityThresholdsV2() (struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -}, error) { - return _ContractEigenDAThresholdRegistry.Contract.DefaultSecurityThresholdsV2(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// DefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0x1c3970fa. -// -// Solidity: function defaultSecurityThresholdsV2() view returns(uint8 confirmationThreshold, uint8 adversaryThreshold) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) DefaultSecurityThresholdsV2() (struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -}, error) { - return _ContractEigenDAThresholdRegistry.Contract.DefaultSecurityThresholdsV2(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) GetBlobParams(opts *bind.CallOpts, version uint16) (VersionedBlobParams, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "getBlobParams", version) - - if err != nil { - return *new(VersionedBlobParams), err - } - - out0 := *abi.ConvertType(out[0], new(VersionedBlobParams)).(*VersionedBlobParams) - - return out0, err - -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetBlobParams(&_ContractEigenDAThresholdRegistry.CallOpts, version) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetBlobParams(&_ContractEigenDAThresholdRegistry.CallOpts, version) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) GetDefaultSecurityThresholdsV2(opts *bind.CallOpts) (SecurityThresholds, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "getDefaultSecurityThresholdsV2") - - if err != nil { - return *new(SecurityThresholds), err - } - - out0 := *abi.ConvertType(out[0], new(SecurityThresholds)).(*SecurityThresholds) - - return out0, err - -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetDefaultSecurityThresholdsV2(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetDefaultSecurityThresholdsV2(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) GetIsQuorumRequired(opts *bind.CallOpts, quorumNumber uint8) (bool, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "getIsQuorumRequired", quorumNumber) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetIsQuorumRequired(&_ContractEigenDAThresholdRegistry.CallOpts, quorumNumber) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetIsQuorumRequired(&_ContractEigenDAThresholdRegistry.CallOpts, quorumNumber) -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8 adversaryThresholdPercentage) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) GetQuorumAdversaryThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "getQuorumAdversaryThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8 adversaryThresholdPercentage) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractEigenDAThresholdRegistry.CallOpts, quorumNumber) -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8 adversaryThresholdPercentage) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractEigenDAThresholdRegistry.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8 confirmationThresholdPercentage) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) GetQuorumConfirmationThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "getQuorumConfirmationThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8 confirmationThresholdPercentage) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractEigenDAThresholdRegistry.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8 confirmationThresholdPercentage) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractEigenDAThresholdRegistry.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractEigenDAThresholdRegistry.CallOpts, quorumNumber) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) Owner(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "owner") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) Owner() (common.Address, error) { - return _ContractEigenDAThresholdRegistry.Contract.Owner(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) Owner() (common.Address, error) { - return _ContractEigenDAThresholdRegistry.Contract.Owner(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// QuorumAdversaryThresholdPercentages is a free data retrieval call binding the contract method 0x8687feae. -// -// Solidity: function quorumAdversaryThresholdPercentages() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) QuorumAdversaryThresholdPercentages(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "quorumAdversaryThresholdPercentages") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// QuorumAdversaryThresholdPercentages is a free data retrieval call binding the contract method 0x8687feae. -// -// Solidity: function quorumAdversaryThresholdPercentages() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) QuorumAdversaryThresholdPercentages() ([]byte, error) { - return _ContractEigenDAThresholdRegistry.Contract.QuorumAdversaryThresholdPercentages(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// QuorumAdversaryThresholdPercentages is a free data retrieval call binding the contract method 0x8687feae. -// -// Solidity: function quorumAdversaryThresholdPercentages() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) QuorumAdversaryThresholdPercentages() ([]byte, error) { - return _ContractEigenDAThresholdRegistry.Contract.QuorumAdversaryThresholdPercentages(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// QuorumConfirmationThresholdPercentages is a free data retrieval call binding the contract method 0xbafa9107. -// -// Solidity: function quorumConfirmationThresholdPercentages() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) QuorumConfirmationThresholdPercentages(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "quorumConfirmationThresholdPercentages") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// QuorumConfirmationThresholdPercentages is a free data retrieval call binding the contract method 0xbafa9107. -// -// Solidity: function quorumConfirmationThresholdPercentages() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) QuorumConfirmationThresholdPercentages() ([]byte, error) { - return _ContractEigenDAThresholdRegistry.Contract.QuorumConfirmationThresholdPercentages(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// QuorumConfirmationThresholdPercentages is a free data retrieval call binding the contract method 0xbafa9107. -// -// Solidity: function quorumConfirmationThresholdPercentages() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) QuorumConfirmationThresholdPercentages() ([]byte, error) { - return _ContractEigenDAThresholdRegistry.Contract.QuorumConfirmationThresholdPercentages(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// QuorumNumbersRequired is a free data retrieval call binding the contract method 0xe15234ff. -// -// Solidity: function quorumNumbersRequired() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) QuorumNumbersRequired(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "quorumNumbersRequired") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// QuorumNumbersRequired is a free data retrieval call binding the contract method 0xe15234ff. -// -// Solidity: function quorumNumbersRequired() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) QuorumNumbersRequired() ([]byte, error) { - return _ContractEigenDAThresholdRegistry.Contract.QuorumNumbersRequired(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// QuorumNumbersRequired is a free data retrieval call binding the contract method 0xe15234ff. -// -// Solidity: function quorumNumbersRequired() view returns(bytes) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) QuorumNumbersRequired() ([]byte, error) { - return _ContractEigenDAThresholdRegistry.Contract.QuorumNumbersRequired(&_ContractEigenDAThresholdRegistry.CallOpts) -} - -// VersionedBlobParams is a free data retrieval call binding the contract method 0xf74e363c. -// -// Solidity: function versionedBlobParams(uint16 ) view returns(uint32 maxNumOperators, uint32 numChunks, uint8 codingRate) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCaller) VersionedBlobParams(opts *bind.CallOpts, arg0 uint16) (struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -}, error) { - var out []interface{} - err := _ContractEigenDAThresholdRegistry.contract.Call(opts, &out, "versionedBlobParams", arg0) - - outstruct := new(struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 - }) - if err != nil { - return *outstruct, err - } - - outstruct.MaxNumOperators = *abi.ConvertType(out[0], new(uint32)).(*uint32) - outstruct.NumChunks = *abi.ConvertType(out[1], new(uint32)).(*uint32) - outstruct.CodingRate = *abi.ConvertType(out[2], new(uint8)).(*uint8) - - return *outstruct, err - -} - -// VersionedBlobParams is a free data retrieval call binding the contract method 0xf74e363c. -// -// Solidity: function versionedBlobParams(uint16 ) view returns(uint32 maxNumOperators, uint32 numChunks, uint8 codingRate) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) VersionedBlobParams(arg0 uint16) (struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -}, error) { - return _ContractEigenDAThresholdRegistry.Contract.VersionedBlobParams(&_ContractEigenDAThresholdRegistry.CallOpts, arg0) -} - -// VersionedBlobParams is a free data retrieval call binding the contract method 0xf74e363c. -// -// Solidity: function versionedBlobParams(uint16 ) view returns(uint32 maxNumOperators, uint32 numChunks, uint8 codingRate) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryCallerSession) VersionedBlobParams(arg0 uint16) (struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -}, error) { - return _ContractEigenDAThresholdRegistry.Contract.VersionedBlobParams(&_ContractEigenDAThresholdRegistry.CallOpts, arg0) -} - -// Initialize is a paid mutator transaction binding the contract method 0x4e8695cf. -// -// Solidity: function initialize(address _initialOwner, bytes _quorumAdversaryThresholdPercentages, bytes _quorumConfirmationThresholdPercentages, bytes _quorumNumbersRequired, uint16[] _versions, (uint32,uint32,uint8)[] _versionedBlobParams, (uint8,uint8) _defaultSecurityThresholdsV2) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) Initialize(opts *bind.TransactOpts, _initialOwner common.Address, _quorumAdversaryThresholdPercentages []byte, _quorumConfirmationThresholdPercentages []byte, _quorumNumbersRequired []byte, _versions []uint16, _versionedBlobParams []VersionedBlobParams, _defaultSecurityThresholdsV2 SecurityThresholds) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "initialize", _initialOwner, _quorumAdversaryThresholdPercentages, _quorumConfirmationThresholdPercentages, _quorumNumbersRequired, _versions, _versionedBlobParams, _defaultSecurityThresholdsV2) -} - -// Initialize is a paid mutator transaction binding the contract method 0x4e8695cf. -// -// Solidity: function initialize(address _initialOwner, bytes _quorumAdversaryThresholdPercentages, bytes _quorumConfirmationThresholdPercentages, bytes _quorumNumbersRequired, uint16[] _versions, (uint32,uint32,uint8)[] _versionedBlobParams, (uint8,uint8) _defaultSecurityThresholdsV2) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) Initialize(_initialOwner common.Address, _quorumAdversaryThresholdPercentages []byte, _quorumConfirmationThresholdPercentages []byte, _quorumNumbersRequired []byte, _versions []uint16, _versionedBlobParams []VersionedBlobParams, _defaultSecurityThresholdsV2 SecurityThresholds) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.Initialize(&_ContractEigenDAThresholdRegistry.TransactOpts, _initialOwner, _quorumAdversaryThresholdPercentages, _quorumConfirmationThresholdPercentages, _quorumNumbersRequired, _versions, _versionedBlobParams, _defaultSecurityThresholdsV2) -} - -// Initialize is a paid mutator transaction binding the contract method 0x4e8695cf. -// -// Solidity: function initialize(address _initialOwner, bytes _quorumAdversaryThresholdPercentages, bytes _quorumConfirmationThresholdPercentages, bytes _quorumNumbersRequired, uint16[] _versions, (uint32,uint32,uint8)[] _versionedBlobParams, (uint8,uint8) _defaultSecurityThresholdsV2) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) Initialize(_initialOwner common.Address, _quorumAdversaryThresholdPercentages []byte, _quorumConfirmationThresholdPercentages []byte, _quorumNumbersRequired []byte, _versions []uint16, _versionedBlobParams []VersionedBlobParams, _defaultSecurityThresholdsV2 SecurityThresholds) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.Initialize(&_ContractEigenDAThresholdRegistry.TransactOpts, _initialOwner, _quorumAdversaryThresholdPercentages, _quorumConfirmationThresholdPercentages, _quorumNumbersRequired, _versions, _versionedBlobParams, _defaultSecurityThresholdsV2) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "renounceOwnership") -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) RenounceOwnership() (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.RenounceOwnership(&_ContractEigenDAThresholdRegistry.TransactOpts) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) RenounceOwnership() (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.RenounceOwnership(&_ContractEigenDAThresholdRegistry.TransactOpts) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "transferOwnership", newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.TransferOwnership(&_ContractEigenDAThresholdRegistry.TransactOpts, newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.TransferOwnership(&_ContractEigenDAThresholdRegistry.TransactOpts, newOwner) -} - -// UpdateQuorumAdversaryThresholdPercentages is a paid mutator transaction binding the contract method 0x4a96aaa0. -// -// Solidity: function updateQuorumAdversaryThresholdPercentages(bytes _quorumAdversaryThresholdPercentages) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) UpdateQuorumAdversaryThresholdPercentages(opts *bind.TransactOpts, _quorumAdversaryThresholdPercentages []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "updateQuorumAdversaryThresholdPercentages", _quorumAdversaryThresholdPercentages) -} - -// UpdateQuorumAdversaryThresholdPercentages is a paid mutator transaction binding the contract method 0x4a96aaa0. -// -// Solidity: function updateQuorumAdversaryThresholdPercentages(bytes _quorumAdversaryThresholdPercentages) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) UpdateQuorumAdversaryThresholdPercentages(_quorumAdversaryThresholdPercentages []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateQuorumAdversaryThresholdPercentages(&_ContractEigenDAThresholdRegistry.TransactOpts, _quorumAdversaryThresholdPercentages) -} - -// UpdateQuorumAdversaryThresholdPercentages is a paid mutator transaction binding the contract method 0x4a96aaa0. -// -// Solidity: function updateQuorumAdversaryThresholdPercentages(bytes _quorumAdversaryThresholdPercentages) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) UpdateQuorumAdversaryThresholdPercentages(_quorumAdversaryThresholdPercentages []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateQuorumAdversaryThresholdPercentages(&_ContractEigenDAThresholdRegistry.TransactOpts, _quorumAdversaryThresholdPercentages) -} - -// UpdateQuorumConfirmationThresholdPercentages is a paid mutator transaction binding the contract method 0x00398599. -// -// Solidity: function updateQuorumConfirmationThresholdPercentages(bytes _quorumConfirmationThresholdPercentages) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) UpdateQuorumConfirmationThresholdPercentages(opts *bind.TransactOpts, _quorumConfirmationThresholdPercentages []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "updateQuorumConfirmationThresholdPercentages", _quorumConfirmationThresholdPercentages) -} - -// UpdateQuorumConfirmationThresholdPercentages is a paid mutator transaction binding the contract method 0x00398599. -// -// Solidity: function updateQuorumConfirmationThresholdPercentages(bytes _quorumConfirmationThresholdPercentages) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) UpdateQuorumConfirmationThresholdPercentages(_quorumConfirmationThresholdPercentages []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateQuorumConfirmationThresholdPercentages(&_ContractEigenDAThresholdRegistry.TransactOpts, _quorumConfirmationThresholdPercentages) -} - -// UpdateQuorumConfirmationThresholdPercentages is a paid mutator transaction binding the contract method 0x00398599. -// -// Solidity: function updateQuorumConfirmationThresholdPercentages(bytes _quorumConfirmationThresholdPercentages) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) UpdateQuorumConfirmationThresholdPercentages(_quorumConfirmationThresholdPercentages []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateQuorumConfirmationThresholdPercentages(&_ContractEigenDAThresholdRegistry.TransactOpts, _quorumConfirmationThresholdPercentages) -} - -// UpdateQuorumNumbersRequired is a paid mutator transaction binding the contract method 0xa5e9b2eb. -// -// Solidity: function updateQuorumNumbersRequired(bytes _quorumNumbersRequired) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) UpdateQuorumNumbersRequired(opts *bind.TransactOpts, _quorumNumbersRequired []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "updateQuorumNumbersRequired", _quorumNumbersRequired) -} - -// UpdateQuorumNumbersRequired is a paid mutator transaction binding the contract method 0xa5e9b2eb. -// -// Solidity: function updateQuorumNumbersRequired(bytes _quorumNumbersRequired) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) UpdateQuorumNumbersRequired(_quorumNumbersRequired []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateQuorumNumbersRequired(&_ContractEigenDAThresholdRegistry.TransactOpts, _quorumNumbersRequired) -} - -// UpdateQuorumNumbersRequired is a paid mutator transaction binding the contract method 0xa5e9b2eb. -// -// Solidity: function updateQuorumNumbersRequired(bytes _quorumNumbersRequired) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) UpdateQuorumNumbersRequired(_quorumNumbersRequired []byte) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateQuorumNumbersRequired(&_ContractEigenDAThresholdRegistry.TransactOpts, _quorumNumbersRequired) -} - -// UpdateVersionedBlobParams is a paid mutator transaction binding the contract method 0xd6026dbf. -// -// Solidity: function updateVersionedBlobParams(uint16 version, (uint32,uint32,uint8) _versionedBlobParams) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactor) UpdateVersionedBlobParams(opts *bind.TransactOpts, version uint16, _versionedBlobParams VersionedBlobParams) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.contract.Transact(opts, "updateVersionedBlobParams", version, _versionedBlobParams) -} - -// UpdateVersionedBlobParams is a paid mutator transaction binding the contract method 0xd6026dbf. -// -// Solidity: function updateVersionedBlobParams(uint16 version, (uint32,uint32,uint8) _versionedBlobParams) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistrySession) UpdateVersionedBlobParams(version uint16, _versionedBlobParams VersionedBlobParams) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateVersionedBlobParams(&_ContractEigenDAThresholdRegistry.TransactOpts, version, _versionedBlobParams) -} - -// UpdateVersionedBlobParams is a paid mutator transaction binding the contract method 0xd6026dbf. -// -// Solidity: function updateVersionedBlobParams(uint16 version, (uint32,uint32,uint8) _versionedBlobParams) returns() -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryTransactorSession) UpdateVersionedBlobParams(version uint16, _versionedBlobParams VersionedBlobParams) (*types.Transaction, error) { - return _ContractEigenDAThresholdRegistry.Contract.UpdateVersionedBlobParams(&_ContractEigenDAThresholdRegistry.TransactOpts, version, _versionedBlobParams) -} - -// ContractEigenDAThresholdRegistryInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the ContractEigenDAThresholdRegistry contract. -type ContractEigenDAThresholdRegistryInitializedIterator struct { - Event *ContractEigenDAThresholdRegistryInitialized // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *ContractEigenDAThresholdRegistryInitializedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(ContractEigenDAThresholdRegistryInitialized) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(ContractEigenDAThresholdRegistryInitialized) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *ContractEigenDAThresholdRegistryInitializedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ContractEigenDAThresholdRegistryInitializedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ContractEigenDAThresholdRegistryInitialized represents a Initialized event raised by the ContractEigenDAThresholdRegistry contract. -type ContractEigenDAThresholdRegistryInitialized struct { - Version uint8 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. -// -// Solidity: event Initialized(uint8 version) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryFilterer) FilterInitialized(opts *bind.FilterOpts) (*ContractEigenDAThresholdRegistryInitializedIterator, error) { - - logs, sub, err := _ContractEigenDAThresholdRegistry.contract.FilterLogs(opts, "Initialized") - if err != nil { - return nil, err - } - return &ContractEigenDAThresholdRegistryInitializedIterator{contract: _ContractEigenDAThresholdRegistry.contract, event: "Initialized", logs: logs, sub: sub}, nil -} - -// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. -// -// Solidity: event Initialized(uint8 version) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *ContractEigenDAThresholdRegistryInitialized) (event.Subscription, error) { - - logs, sub, err := _ContractEigenDAThresholdRegistry.contract.WatchLogs(opts, "Initialized") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(ContractEigenDAThresholdRegistryInitialized) - if err := _ContractEigenDAThresholdRegistry.contract.UnpackLog(event, "Initialized", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. -// -// Solidity: event Initialized(uint8 version) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryFilterer) ParseInitialized(log types.Log) (*ContractEigenDAThresholdRegistryInitialized, error) { - event := new(ContractEigenDAThresholdRegistryInitialized) - if err := _ContractEigenDAThresholdRegistry.contract.UnpackLog(event, "Initialized", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ContractEigenDAThresholdRegistryOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ContractEigenDAThresholdRegistry contract. -type ContractEigenDAThresholdRegistryOwnershipTransferredIterator struct { - Event *ContractEigenDAThresholdRegistryOwnershipTransferred // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *ContractEigenDAThresholdRegistryOwnershipTransferredIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(ContractEigenDAThresholdRegistryOwnershipTransferred) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(ContractEigenDAThresholdRegistryOwnershipTransferred) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *ContractEigenDAThresholdRegistryOwnershipTransferredIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ContractEigenDAThresholdRegistryOwnershipTransferredIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ContractEigenDAThresholdRegistryOwnershipTransferred represents a OwnershipTransferred event raised by the ContractEigenDAThresholdRegistry contract. -type ContractEigenDAThresholdRegistryOwnershipTransferred struct { - PreviousOwner common.Address - NewOwner common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ContractEigenDAThresholdRegistryOwnershipTransferredIterator, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } - - logs, sub, err := _ContractEigenDAThresholdRegistry.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return &ContractEigenDAThresholdRegistryOwnershipTransferredIterator{contract: _ContractEigenDAThresholdRegistry.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil -} - -// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ContractEigenDAThresholdRegistryOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } - - logs, sub, err := _ContractEigenDAThresholdRegistry.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(ContractEigenDAThresholdRegistryOwnershipTransferred) - if err := _ContractEigenDAThresholdRegistry.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. -// -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_ContractEigenDAThresholdRegistry *ContractEigenDAThresholdRegistryFilterer) ParseOwnershipTransferred(log types.Log) (*ContractEigenDAThresholdRegistryOwnershipTransferred, error) { - event := new(ContractEigenDAThresholdRegistryOwnershipTransferred) - if err := _ContractEigenDAThresholdRegistry.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/contracts/bindings/IEigenDAServiceManager/binding.go b/contracts/bindings/IEigenDAServiceManager/binding.go index 3a79aecb6f..24de7a5034 100644 --- a/contracts/bindings/IEigenDAServiceManager/binding.go +++ b/contracts/bindings/IEigenDAServiceManager/binding.go @@ -41,14 +41,6 @@ type BN254G2Point struct { Y [2]*big.Int } -// BatchHeader is an auto generated low-level Go binding around an user-defined struct. -type BatchHeader struct { - BlobHeadersRoot [32]byte - QuorumNumbers []byte - SignedStakeForQuorums []byte - ReferenceBlockNumber uint32 -} - // IBLSSignatureCheckerNonSignerStakesAndSignature is an auto generated low-level Go binding around an user-defined struct. type IBLSSignatureCheckerNonSignerStakesAndSignature struct { NonSignerQuorumBitmapIndices []uint32 @@ -61,6 +53,14 @@ type IBLSSignatureCheckerNonSignerStakesAndSignature struct { NonSignerStakeIndices [][]uint32 } +// IEigenDAServiceManagerBatchHeader is an auto generated low-level Go binding around an user-defined struct. +type IEigenDAServiceManagerBatchHeader struct { + BlobHeadersRoot [32]byte + QuorumNumbers []byte + SignedStakeForQuorums []byte + ReferenceBlockNumber uint32 +} + // IRewardsCoordinatorRewardsSubmission is an auto generated low-level Go binding around an user-defined struct. type IRewardsCoordinatorRewardsSubmission struct { StrategiesAndMultipliers []IRewardsCoordinatorStrategyAndMultiplier @@ -83,22 +83,9 @@ type ISignatureUtilsSignatureWithSaltAndExpiry struct { Expiry *big.Int } -// SecurityThresholds is an auto generated low-level Go binding around an user-defined struct. -type SecurityThresholds struct { - ConfirmationThreshold uint8 - AdversaryThreshold uint8 -} - -// VersionedBlobParams is an auto generated low-level Go binding around an user-defined struct. -type VersionedBlobParams struct { - MaxNumOperators uint32 - NumChunks uint32 - CodingRate uint8 -} - // ContractIEigenDAServiceManagerMetaData contains all meta data concerning the ContractIEigenDAServiceManager contract. var ContractIEigenDAServiceManagerMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"function\",\"name\":\"BLOCK_STALE_MEASURE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"avsDirectory\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"batchIdToBatchMetadataHash\",\"inputs\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"confirmBatch\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.NonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createAVSRewardsSubmission\",\"inputs\":[{\"name\":\"rewardsSubmissions\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.RewardsSubmission[]\",\"components\":[{\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.StrategyAndMultiplier[]\",\"components\":[{\"name\":\"strategy\",\"type\":\"address\",\"internalType\":\"contractIStrategy\"},{\"name\":\"multiplier\",\"type\":\"uint96\",\"internalType\":\"uint96\"}]},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"contractIERC20\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"startTimestamp\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"duration\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deregisterOperatorFromAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getBlobParams\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getDefaultSecurityThresholdsV2\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getIsQuorumRequired\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getOperatorRestakedStrategies\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumAdversaryThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getQuorumConfirmationThresholdPercentage\",\"inputs\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getRestakeableStrategies\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"latestServeUntilBlock\",\"inputs\":[{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumAdversaryThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumConfirmationThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumNumbersRequired\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerOperatorToAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operatorSignature\",\"type\":\"tuple\",\"internalType\":\"structISignatureUtils.SignatureWithSaltAndExpiry\",\"components\":[{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"taskNumber\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"updateAVSMetadataURI\",\"inputs\":[{\"name\":\"_metadataURI\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"BatchConfirmed\",\"inputs\":[{\"name\":\"batchHeaderHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"batchId\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BatchConfirmerStatusChanged\",\"inputs\":[{\"name\":\"batchConfirmer\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RewardsInitiatorUpdated\",\"inputs\":[{\"name\":\"prevRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false}]", + ABI: "[{\"type\":\"function\",\"name\":\"BLOCK_STALE_MEASURE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"avsDirectory\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"batchIdToBatchMetadataHash\",\"inputs\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"confirmBatch\",\"inputs\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structIEigenDAServiceManager.BatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\",\"internalType\":\"structIBLSSignatureChecker.NonSignerStakesAndSignature\",\"components\":[{\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApks\",\"type\":\"tuple[]\",\"internalType\":\"structBN254.G1Point[]\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"apkG2\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"sigma\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"},{\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\",\"internalType\":\"uint32[][]\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createAVSRewardsSubmission\",\"inputs\":[{\"name\":\"rewardsSubmissions\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.RewardsSubmission[]\",\"components\":[{\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\",\"internalType\":\"structIRewardsCoordinator.StrategyAndMultiplier[]\",\"components\":[{\"name\":\"strategy\",\"type\":\"address\",\"internalType\":\"contractIStrategy\"},{\"name\":\"multiplier\",\"type\":\"uint96\",\"internalType\":\"uint96\"}]},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"contractIERC20\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"startTimestamp\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"duration\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deregisterOperatorFromAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getOperatorRestakedStrategies\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getRestakeableStrategies\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"latestServeUntilBlock\",\"inputs\":[{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumAdversaryThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumConfirmationThresholdPercentages\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"quorumNumbersRequired\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registerOperatorToAVS\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operatorSignature\",\"type\":\"tuple\",\"internalType\":\"structISignatureUtils.SignatureWithSaltAndExpiry\",\"components\":[{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setBatchConfirmer\",\"inputs\":[{\"name\":\"_batchConfirmer\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"taskNumber\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"updateAVSMetadataURI\",\"inputs\":[{\"name\":\"_metadataURI\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"BatchConfirmed\",\"inputs\":[{\"name\":\"batchHeaderHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"batchId\",\"type\":\"uint32\",\"indexed\":false,\"internalType\":\"uint32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BatchConfirmerStatusChanged\",\"inputs\":[{\"name\":\"batchConfirmer\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"status\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RewardsInitiatorUpdated\",\"inputs\":[{\"name\":\"prevRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newRewardsInitiator\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false}]", } // ContractIEigenDAServiceManagerABI is the input ABI used to generate the binding from. @@ -340,99 +327,6 @@ func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSessi return _ContractIEigenDAServiceManager.Contract.BatchIdToBatchMetadataHash(&_ContractIEigenDAServiceManager.CallOpts, batchId) } -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCaller) GetBlobParams(opts *bind.CallOpts, version uint16) (VersionedBlobParams, error) { - var out []interface{} - err := _ContractIEigenDAServiceManager.contract.Call(opts, &out, "getBlobParams", version) - - if err != nil { - return *new(VersionedBlobParams), err - } - - out0 := *abi.ConvertType(out[0], new(VersionedBlobParams)).(*VersionedBlobParams) - - return out0, err - -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractIEigenDAServiceManager.Contract.GetBlobParams(&_ContractIEigenDAServiceManager.CallOpts, version) -} - -// GetBlobParams is a free data retrieval call binding the contract method 0x2ecfe72b. -// -// Solidity: function getBlobParams(uint16 version) view returns((uint32,uint32,uint8)) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSession) GetBlobParams(version uint16) (VersionedBlobParams, error) { - return _ContractIEigenDAServiceManager.Contract.GetBlobParams(&_ContractIEigenDAServiceManager.CallOpts, version) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCaller) GetDefaultSecurityThresholdsV2(opts *bind.CallOpts) (SecurityThresholds, error) { - var out []interface{} - err := _ContractIEigenDAServiceManager.contract.Call(opts, &out, "getDefaultSecurityThresholdsV2") - - if err != nil { - return *new(SecurityThresholds), err - } - - out0 := *abi.ConvertType(out[0], new(SecurityThresholds)).(*SecurityThresholds) - - return out0, err - -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractIEigenDAServiceManager.Contract.GetDefaultSecurityThresholdsV2(&_ContractIEigenDAServiceManager.CallOpts) -} - -// GetDefaultSecurityThresholdsV2 is a free data retrieval call binding the contract method 0xef635529. -// -// Solidity: function getDefaultSecurityThresholdsV2() view returns((uint8,uint8)) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSession) GetDefaultSecurityThresholdsV2() (SecurityThresholds, error) { - return _ContractIEigenDAServiceManager.Contract.GetDefaultSecurityThresholdsV2(&_ContractIEigenDAServiceManager.CallOpts) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCaller) GetIsQuorumRequired(opts *bind.CallOpts, quorumNumber uint8) (bool, error) { - var out []interface{} - err := _ContractIEigenDAServiceManager.contract.Call(opts, &out, "getIsQuorumRequired", quorumNumber) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractIEigenDAServiceManager.Contract.GetIsQuorumRequired(&_ContractIEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetIsQuorumRequired is a free data retrieval call binding the contract method 0x048886d2. -// -// Solidity: function getIsQuorumRequired(uint8 quorumNumber) view returns(bool) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSession) GetIsQuorumRequired(quorumNumber uint8) (bool, error) { - return _ContractIEigenDAServiceManager.Contract.GetIsQuorumRequired(&_ContractIEigenDAServiceManager.CallOpts, quorumNumber) -} - // GetOperatorRestakedStrategies is a free data retrieval call binding the contract method 0x33cfb7b7. // // Solidity: function getOperatorRestakedStrategies(address operator) view returns(address[]) @@ -464,68 +358,6 @@ func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSessi return _ContractIEigenDAServiceManager.Contract.GetOperatorRestakedStrategies(&_ContractIEigenDAServiceManager.CallOpts, operator) } -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCaller) GetQuorumAdversaryThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractIEigenDAServiceManager.contract.Call(opts, &out, "getQuorumAdversaryThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractIEigenDAServiceManager.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractIEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetQuorumAdversaryThresholdPercentage is a free data retrieval call binding the contract method 0xee6c3bcf. -// -// Solidity: function getQuorumAdversaryThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSession) GetQuorumAdversaryThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractIEigenDAServiceManager.Contract.GetQuorumAdversaryThresholdPercentage(&_ContractIEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCaller) GetQuorumConfirmationThresholdPercentage(opts *bind.CallOpts, quorumNumber uint8) (uint8, error) { - var out []interface{} - err := _ContractIEigenDAServiceManager.contract.Call(opts, &out, "getQuorumConfirmationThresholdPercentage", quorumNumber) - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractIEigenDAServiceManager.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractIEigenDAServiceManager.CallOpts, quorumNumber) -} - -// GetQuorumConfirmationThresholdPercentage is a free data retrieval call binding the contract method 0x1429c7c2. -// -// Solidity: function getQuorumConfirmationThresholdPercentage(uint8 quorumNumber) view returns(uint8) -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSession) GetQuorumConfirmationThresholdPercentage(quorumNumber uint8) (uint8, error) { - return _ContractIEigenDAServiceManager.Contract.GetQuorumConfirmationThresholdPercentage(&_ContractIEigenDAServiceManager.CallOpts, quorumNumber) -} - // GetRestakeableStrategies is a free data retrieval call binding the contract method 0xe481af9d. // // Solidity: function getRestakeableStrategies() view returns(address[]) @@ -715,21 +547,21 @@ func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerCallerSessi // ConfirmBatch is a paid mutator transaction binding the contract method 0x7794965a. // // Solidity: function confirmBatch((bytes32,bytes,bytes,uint32) batchHeader, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) returns() -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactor) ConfirmBatch(opts *bind.TransactOpts, batchHeader BatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { +func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactor) ConfirmBatch(opts *bind.TransactOpts, batchHeader IEigenDAServiceManagerBatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { return _ContractIEigenDAServiceManager.contract.Transact(opts, "confirmBatch", batchHeader, nonSignerStakesAndSignature) } // ConfirmBatch is a paid mutator transaction binding the contract method 0x7794965a. // // Solidity: function confirmBatch((bytes32,bytes,bytes,uint32) batchHeader, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) returns() -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) ConfirmBatch(batchHeader BatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { +func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) ConfirmBatch(batchHeader IEigenDAServiceManagerBatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { return _ContractIEigenDAServiceManager.Contract.ConfirmBatch(&_ContractIEigenDAServiceManager.TransactOpts, batchHeader, nonSignerStakesAndSignature) } // ConfirmBatch is a paid mutator transaction binding the contract method 0x7794965a. // // Solidity: function confirmBatch((bytes32,bytes,bytes,uint32) batchHeader, (uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]) nonSignerStakesAndSignature) returns() -func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactorSession) ConfirmBatch(batchHeader BatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { +func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactorSession) ConfirmBatch(batchHeader IEigenDAServiceManagerBatchHeader, nonSignerStakesAndSignature IBLSSignatureCheckerNonSignerStakesAndSignature) (*types.Transaction, error) { return _ContractIEigenDAServiceManager.Contract.ConfirmBatch(&_ContractIEigenDAServiceManager.TransactOpts, batchHeader, nonSignerStakesAndSignature) } @@ -796,6 +628,27 @@ func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactorS return _ContractIEigenDAServiceManager.Contract.RegisterOperatorToAVS(&_ContractIEigenDAServiceManager.TransactOpts, operator, operatorSignature) } +// SetBatchConfirmer is a paid mutator transaction binding the contract method 0xf1220983. +// +// Solidity: function setBatchConfirmer(address _batchConfirmer) returns() +func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactor) SetBatchConfirmer(opts *bind.TransactOpts, _batchConfirmer common.Address) (*types.Transaction, error) { + return _ContractIEigenDAServiceManager.contract.Transact(opts, "setBatchConfirmer", _batchConfirmer) +} + +// SetBatchConfirmer is a paid mutator transaction binding the contract method 0xf1220983. +// +// Solidity: function setBatchConfirmer(address _batchConfirmer) returns() +func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerSession) SetBatchConfirmer(_batchConfirmer common.Address) (*types.Transaction, error) { + return _ContractIEigenDAServiceManager.Contract.SetBatchConfirmer(&_ContractIEigenDAServiceManager.TransactOpts, _batchConfirmer) +} + +// SetBatchConfirmer is a paid mutator transaction binding the contract method 0xf1220983. +// +// Solidity: function setBatchConfirmer(address _batchConfirmer) returns() +func (_ContractIEigenDAServiceManager *ContractIEigenDAServiceManagerTransactorSession) SetBatchConfirmer(_batchConfirmer common.Address) (*types.Transaction, error) { + return _ContractIEigenDAServiceManager.Contract.SetBatchConfirmer(&_ContractIEigenDAServiceManager.TransactOpts, _batchConfirmer) +} + // UpdateAVSMetadataURI is a paid mutator transaction binding the contract method 0xa98fb355. // // Solidity: function updateAVSMetadataURI(string _metadataURI) returns() diff --git a/contracts/bindings/MockRollup/binding.go b/contracts/bindings/MockRollup/binding.go index 01f5a0f8d7..25bb588898 100644 --- a/contracts/bindings/MockRollup/binding.go +++ b/contracts/bindings/MockRollup/binding.go @@ -41,39 +41,39 @@ type BN254G2Point struct { Y [2]*big.Int } -// BatchHeader is an auto generated low-level Go binding around an user-defined struct. -type BatchHeader struct { +// EigenDARollupUtilsBlobVerificationProof is an auto generated low-level Go binding around an user-defined struct. +type EigenDARollupUtilsBlobVerificationProof struct { + BatchId uint32 + BlobIndex uint32 + BatchMetadata IEigenDAServiceManagerBatchMetadata + InclusionProof []byte + QuorumIndices []byte +} + +// IEigenDAServiceManagerBatchHeader is an auto generated low-level Go binding around an user-defined struct. +type IEigenDAServiceManagerBatchHeader struct { BlobHeadersRoot [32]byte QuorumNumbers []byte SignedStakeForQuorums []byte ReferenceBlockNumber uint32 } -// BatchMetadata is an auto generated low-level Go binding around an user-defined struct. -type BatchMetadata struct { - BatchHeader BatchHeader +// IEigenDAServiceManagerBatchMetadata is an auto generated low-level Go binding around an user-defined struct. +type IEigenDAServiceManagerBatchMetadata struct { + BatchHeader IEigenDAServiceManagerBatchHeader SignatoryRecordHash [32]byte ConfirmationBlockNumber uint32 } -// BlobHeader is an auto generated low-level Go binding around an user-defined struct. -type BlobHeader struct { +// IEigenDAServiceManagerBlobHeader is an auto generated low-level Go binding around an user-defined struct. +type IEigenDAServiceManagerBlobHeader struct { Commitment BN254G1Point DataLength uint32 - QuorumBlobParams []QuorumBlobParam -} - -// BlobVerificationProof is an auto generated low-level Go binding around an user-defined struct. -type BlobVerificationProof struct { - BatchId uint32 - BlobIndex uint32 - BatchMetadata BatchMetadata - InclusionProof []byte - QuorumIndices []byte + QuorumBlobParams []IEigenDAServiceManagerQuorumBlobParam } -// QuorumBlobParam is an auto generated low-level Go binding around an user-defined struct. -type QuorumBlobParam struct { +// IEigenDAServiceManagerQuorumBlobParam is an auto generated low-level Go binding around an user-defined struct. +type IEigenDAServiceManagerQuorumBlobParam struct { QuorumNumber uint8 AdversaryThresholdPercentage uint8 ConfirmationThresholdPercentage uint8 @@ -82,8 +82,8 @@ type QuorumBlobParam struct { // ContractMockRollupMetaData contains all meta data concerning the ContractMockRollup contract. var ContractMockRollupMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_eigenDABlobVerifier\",\"type\":\"address\",\"internalType\":\"contractIEigenDABlobVerifier\"},{\"name\":\"_tau\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"challengeCommitment\",\"inputs\":[{\"name\":\"timestamp\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"point\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"proof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"challengeValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"commitments\",\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"confirmer\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"polynomialCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eigenDABlobVerifier\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDABlobVerifier\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"postCommitment\",\"inputs\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structBlobHeader\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"quorumBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structQuorumBlobParam[]\",\"components\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"chunkLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structBlobVerificationProof\",\"components\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"batchMetadata\",\"type\":\"tuple\",\"internalType\":\"structBatchMetadata\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structBatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"signatoryRecordHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"confirmationBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"quorumIndices\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"tau\",\"inputs\":[],\"outputs\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"}]", - Bin: "0x608060405234801561001057600080fd5b506040516113cc3803806113cc83398101604081905261002f91610061565b600080546001600160a01b0319166001600160a01b0393909316929092179091558051600155602001516002556100ef565b600080828403606081121561007557600080fd5b83516001600160a01b038116811461008c57600080fd5b92506040601f19820112156100a057600080fd5b50604080519081016001600160401b03811182821017156100d157634e487b7160e01b600052604160045260246000fd5b60409081526020858101518352940151938101939093525092909150565b6112ce806100fe6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806349ce89971461005c578063680c784e146100cf578063b5144c73146100fa578063cfc4af551461010f578063d2d16eb214610132575b600080fd5b6100b761006a366004610a7b565b6003602090815260009182526040918290208054835180850190945260018201548452600290910154918301919091526001600160a01b03811691600160a01b90910463ffffffff169083565b6040516100c693929190610a94565b60405180910390f35b6000546100e2906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b61010d610108366004610dbd565b610155565b005b60015460025461011d919082565b604080519283526020830191909152016100c6565b610145610140366004610f9a565b6102bd565b60405190151581526020016100c6565b426000908152600360205260409020546001600160a01b0316156101dd5760405162461bcd60e51b815260206004820152603460248201527f4d6f636b526f6c6c75702e706f7374436f6d6d69746d656e743a20436f6d6d696044820152731d1b595b9d08185b1c9958591e481c1bdcdd195960621b60648201526084015b60405180910390fd5b600054604051638d67b90960e01b81526001600160a01b0390911690638d67b9099061020f9085908590600401611128565b60006040518083038186803b15801561022757600080fd5b505afa15801561023b573d6000803e3d6000fd5b50506040805160608101825233815260208681015163ffffffff90811682840190815297518385019081524260009081526003845294909420925183549851909116600160a01b026001600160c01b03199098166001600160a01b03919091161796909617815590518051600183015590940151600290940193909355505050565b6000848152600360209081526040808320815160608101835281546001600160a01b038082168352600160a01b90910463ffffffff16828601528351808501855260018401548152600290930154948301949094529182015280519091166103855760405162461bcd60e51b815260206004820152603560248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527410dbdb5b5a5d1b595b9d081b9bdd081c1bdcdd1959605a1b60648201526084016101d4565b806020015163ffffffff1685106104105760405162461bcd60e51b815260206004820152604360248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527f506f696e74206d757374206265206c657373207468616e2064617461206c656e6064820152620cee8d60eb1b608482015260a4016101d4565b6000610446610441604080518082018252600080825260209182015281518083019092526001825260029082015290565b6104a8565b905061049b6104756104588389610567565b6040805180820190915260015481526002546020820152906105fe565b8661048e6104838589610567565b6040870151906105fe565b610496610692565b610752565b925050505b949350505050565b604080518082019091526000808252602082015281511580156104cd57506020820151155b156104eb575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47846020015161053091906111e1565b61055a907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611219565b905292915050565b919050565b60408051808201909152600080825260208201526105836109bf565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa90508080156105b6576105b8565bfe5b50806105f65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016101d4565b505092915050565b604080518082019091526000808252602082015261061a6109dd565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa90508080156105b65750806105f65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016101d4565b61069a6109fb565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b604080518082018252858152602080820185905282518084019093528583528201839052600091610781610a20565b60005b600281101561094657600061079a826006611246565b90508482600281106107ae576107ae611230565b602002015151836107c0836000611265565b600c81106107d0576107d0611230565b60200201528482600281106107e7576107e7611230565b602002015160200151838260016107fe9190611265565b600c811061080e5761080e611230565b602002015283826002811061082557610825611230565b6020020151515183610838836002611265565b600c811061084857610848611230565b602002015283826002811061085f5761085f611230565b6020020151516001602002015183610878836003611265565b600c811061088857610888611230565b602002015283826002811061089f5761089f611230565b6020020151602001516000600281106108ba576108ba611230565b6020020151836108cb836004611265565b600c81106108db576108db611230565b60200201528382600281106108f2576108f2611230565b60200201516020015160016002811061090d5761090d611230565b60200201518361091e836005611265565b600c811061092e5761092e611230565b6020020152508061093e8161127d565b915050610784565b5061094f610a3f565b60006020826101808560086107d05a03fa90508080156105b65750806109af5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b60448201526064016101d4565b5051151598975050505050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b6040518060400160405280610a0e610a5d565b8152602001610a1b610a5d565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b600060208284031215610a8d57600080fd5b5035919050565b6001600160a01b038416815263ffffffff83166020820152608081016104a0604083018480518252602090810151910152565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715610b0057610b00610ac7565b60405290565b6040516080810167ffffffffffffffff81118282101715610b0057610b00610ac7565b60405160a0810167ffffffffffffffff81118282101715610b0057610b00610ac7565b6040805190810167ffffffffffffffff81118282101715610b0057610b00610ac7565b604051601f8201601f1916810167ffffffffffffffff81118282101715610b9857610b98610ac7565b604052919050565b803563ffffffff8116811461056257600080fd5b803560ff8116811461056257600080fd5b600082601f830112610bd657600080fd5b813567ffffffffffffffff811115610bf057610bf0610ac7565b610c03601f8201601f1916602001610b6f565b818152846020838601011115610c1857600080fd5b816020850160208301376000918101602001919091529392505050565b600060608284031215610c4757600080fd5b610c4f610add565b9050813567ffffffffffffffff80821115610c6957600080fd5b9083019060808286031215610c7d57600080fd5b610c85610b06565b82358152602083013582811115610c9b57600080fd5b610ca787828601610bc5565b602083015250604083013582811115610cbf57600080fd5b610ccb87828601610bc5565b604083015250610cdd60608401610ba0565b60608201528352505060208281013590820152610cfc60408301610ba0565b604082015292915050565b600060a08284031215610d1957600080fd5b610d21610b29565b9050610d2c82610ba0565b8152610d3a60208301610ba0565b6020820152604082013567ffffffffffffffff80821115610d5a57600080fd5b610d6685838601610c35565b60408401526060840135915080821115610d7f57600080fd5b610d8b85838601610bc5565b60608401526080840135915080821115610da457600080fd5b50610db184828501610bc5565b60808301525092915050565b6000806040808486031215610dd157600080fd5b833567ffffffffffffffff80821115610de957600080fd5b90850190818703608080821215610dff57600080fd5b610e07610add565b85831215610e1457600080fd5b610e1c610b4c565b92508435835260208086013581850152838252610e3a878701610ba0565b81830152606093508386013585811115610e5357600080fd5b8087019650508a601f870112610e6857600080fd5b853585811115610e7a57610e7a610ac7565b610e88828260051b01610b6f565b81815260079190911b8701820190828101908d831115610ea757600080fd5b978301975b82891015610f135785898f031215610ec45760008081fd5b610ecc610b06565b610ed58a610bb4565b8152610ee2858b01610bb4565b85820152610ef18b8b01610bb4565b8b820152610f00888b01610ba0565b8189015282529785019790830190610eac565b98840198909852509097508801359450505080831115610f3257600080fd5b5050610f4085828601610d07565b9150509250929050565b600082601f830112610f5b57600080fd5b610f63610b4c565b806040840185811115610f7557600080fd5b845b81811015610f8f578035845260209384019301610f77565b509095945050505050565b60008060008084860360e0811215610fb157600080fd5b85359450602086013593506080603f1982011215610fce57600080fd5b50610fd7610b4c565b610fe48760408801610f4a565b8152610ff38760808801610f4a565b60208201529396929550929360c00135925050565b6000815180845260005b8181101561102e57602081850181015186830182015201611012565b81811115611040576000602083870101525b50601f01601f19169290920160200192915050565b600063ffffffff808351168452806020840151166020850152604083015160a060408601528051606060a08701528051610100870152602081015160806101208801526110a6610180880182611008565b9050604082015160ff19888303016101408901526110c48282611008565b91505083606083015116610160880152602083015160c08801528360408401511660e08801526060860151935086810360608801526111038185611008565b93505050506080830151848203608086015261111f8282611008565b95945050505050565b6040808252835180518383015260200151606083015260009060c0830160208681015163ffffffff9081166080878101919091528489015160a088018290528051948590528301936000929060e08901905b808510156111c0578651805160ff90811684528782015181168885015289820151168984015260609081015184169083015295850195600194909401939083019061117a565b50888103858a01526111d2818b611055565b9b9a5050505050505050505050565b6000826111fe57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b60008282101561122b5761122b611203565b500390565b634e487b7160e01b600052603260045260246000fd5b600081600019048311821515161561126057611260611203565b500290565b6000821982111561127857611278611203565b500190565b600060001982141561129157611291611203565b506001019056fea26469706673582212204d21651bd21b977412bc8d61e07b3ce6ef7ad21be9f3a4c6a44275cab45ebe3664736f6c634300080c0033", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_eigenDAServiceManager\",\"type\":\"address\",\"internalType\":\"contractIEigenDAServiceManager\"},{\"name\":\"_tau\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"challengeCommitment\",\"inputs\":[{\"name\":\"timestamp\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"point\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"proof\",\"type\":\"tuple\",\"internalType\":\"structBN254.G2Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"Y\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"}]},{\"name\":\"challengeValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"commitments\",\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"confirmer\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"polynomialCommitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eigenDAServiceManager\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDAServiceManager\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"postCommitment\",\"inputs\":[{\"name\":\"blobHeader\",\"type\":\"tuple\",\"internalType\":\"structIEigenDAServiceManager.BlobHeader\",\"components\":[{\"name\":\"commitment\",\"type\":\"tuple\",\"internalType\":\"structBN254.G1Point\",\"components\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"dataLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"quorumBlobParams\",\"type\":\"tuple[]\",\"internalType\":\"structIEigenDAServiceManager.QuorumBlobParam[]\",\"components\":[{\"name\":\"quorumNumber\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"confirmationThresholdPercentage\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"chunkLength\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]}]},{\"name\":\"blobVerificationProof\",\"type\":\"tuple\",\"internalType\":\"structEigenDARollupUtils.BlobVerificationProof\",\"components\":[{\"name\":\"batchId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"batchMetadata\",\"type\":\"tuple\",\"internalType\":\"structIEigenDAServiceManager.BatchMetadata\",\"components\":[{\"name\":\"batchHeader\",\"type\":\"tuple\",\"internalType\":\"structIEigenDAServiceManager.BatchHeader\",\"components\":[{\"name\":\"blobHeadersRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"quorumNumbers\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signedStakeForQuorums\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"referenceBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"signatoryRecordHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"confirmationBlockNumber\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"inclusionProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"quorumIndices\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"tau\",\"inputs\":[],\"outputs\":[{\"name\":\"X\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"}]", + Bin: "0x608060405234801561001057600080fd5b5060405161140e38038061140e83398101604081905261002f91610061565b600080546001600160a01b0319166001600160a01b0393909316929092179091558051600155602001516002556100ef565b600080828403606081121561007557600080fd5b83516001600160a01b038116811461008c57600080fd5b92506040601f19820112156100a057600080fd5b50604080519081016001600160401b03811182821017156100d157634e487b7160e01b600052604160045260246000fd5b60409081526020858101518352940151938101939093525092909150565b611310806100fe6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806349ce89971461005c578063b5144c73146100cf578063cfc4af55146100e4578063d2d16eb214610107578063fc30cad01461012a575b600080fd5b6100b761006a366004610aab565b6003602090815260009182526040918290208054835180850190945260018201548452600290910154918301919091526001600160a01b03811691600160a01b90910463ffffffff169083565b6040516100c693929190610ac4565b60405180910390f35b6100e26100dd366004610ded565b610155565b005b6001546002546100f2919082565b604080519283526020830191909152016100c6565b61011a610115366004610fca565b6102d3565b60405190151581526020016100c6565b60005461013d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b426000908152600360205260409020546001600160a01b0316156101dd5760405162461bcd60e51b815260206004820152603460248201527f4d6f636b526f6c6c75702e706f7374436f6d6d69746d656e743a20436f6d6d696044820152731d1b595b9d08185b1c9958591e481c1bdcdd195960621b60648201526084015b60405180910390fd5b60005460405163219460e160e21b815273__$32f04d18c688c2c57b0347c20a77f3d6c9$__916386518384916102259186916001600160a01b03909116908690600401611158565b60006040518083038186803b15801561023d57600080fd5b505af4158015610251573d6000803e3d6000fd5b50506040805160608101825233815260208681015163ffffffff90811682840190815297518385019081524260009081526003845294909420925183549851909116600160a01b026001600160c01b03199098166001600160a01b03919091161796909617815590518051600183015590940151600290940193909355505050565b6000848152600360209081526040808320815160608101835281546001600160a01b038082168352600160a01b90910463ffffffff168286015283518085018552600184015481526002909301549483019490945291820152805190911661039b5760405162461bcd60e51b815260206004820152603560248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527410dbdb5b5a5d1b595b9d081b9bdd081c1bdcdd1959605a1b60648201526084016101d4565b806020015163ffffffff1685106104265760405162461bcd60e51b815260206004820152604360248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527f506f696e74206d757374206265206c657373207468616e2064617461206c656e6064820152620cee8d60eb1b608482015260a4016101d4565b604080518082018252600154815260025460208201529082015161044f9187918691908861045b565b9150505b949350505050565b60008061049261048d604080518082018252600080825260209182015281518083019092526001825260029082015290565b6104d8565b90506104cd6104ab6104a4838a610597565b879061062e565b846104c06104b9858b610597565b889061062e565b6104c86106c2565b610782565b979650505050505050565b604080518082019091526000808252602082015281511580156104fd57506020820151155b1561051b575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001516105609190611223565b61058a907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761125b565b905292915050565b919050565b60408051808201909152600080825260208201526105b36109ef565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa90508080156105e6576105e8565bfe5b50806106265760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016101d4565b505092915050565b604080518082019091526000808252602082015261064a610a0d565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa90508080156105e65750806106265760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016101d4565b6106ca610a2b565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820182528581526020808201859052825180840190935285835282018390526000916107b1610a50565b60005b60028110156109765760006107ca826006611288565b90508482600281106107de576107de611272565b602002015151836107f08360006112a7565b600c811061080057610800611272565b602002015284826002811061081757610817611272565b6020020151602001518382600161082e91906112a7565b600c811061083e5761083e611272565b602002015283826002811061085557610855611272565b60200201515151836108688360026112a7565b600c811061087857610878611272565b602002015283826002811061088f5761088f611272565b60200201515160016020020151836108a88360036112a7565b600c81106108b8576108b8611272565b60200201528382600281106108cf576108cf611272565b6020020151602001516000600281106108ea576108ea611272565b6020020151836108fb8360046112a7565b600c811061090b5761090b611272565b602002015283826002811061092257610922611272565b60200201516020015160016002811061093d5761093d611272565b60200201518361094e8360056112a7565b600c811061095e5761095e611272565b6020020152508061096e816112bf565b9150506107b4565b5061097f610a6f565b60006020826101808560086107d05a03fa90508080156105e65750806109df5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b60448201526064016101d4565b5051151598975050505050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b6040518060400160405280610a3e610a8d565b8152602001610a4b610a8d565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b600060208284031215610abd57600080fd5b5035919050565b6001600160a01b038416815263ffffffff8316602082015260808101610453604083018480518252602090810151910152565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715610b3057610b30610af7565b60405290565b6040516080810167ffffffffffffffff81118282101715610b3057610b30610af7565b60405160a0810167ffffffffffffffff81118282101715610b3057610b30610af7565b6040805190810167ffffffffffffffff81118282101715610b3057610b30610af7565b604051601f8201601f1916810167ffffffffffffffff81118282101715610bc857610bc8610af7565b604052919050565b803563ffffffff8116811461059257600080fd5b803560ff8116811461059257600080fd5b600082601f830112610c0657600080fd5b813567ffffffffffffffff811115610c2057610c20610af7565b610c33601f8201601f1916602001610b9f565b818152846020838601011115610c4857600080fd5b816020850160208301376000918101602001919091529392505050565b600060608284031215610c7757600080fd5b610c7f610b0d565b9050813567ffffffffffffffff80821115610c9957600080fd5b9083019060808286031215610cad57600080fd5b610cb5610b36565b82358152602083013582811115610ccb57600080fd5b610cd787828601610bf5565b602083015250604083013582811115610cef57600080fd5b610cfb87828601610bf5565b604083015250610d0d60608401610bd0565b60608201528352505060208281013590820152610d2c60408301610bd0565b604082015292915050565b600060a08284031215610d4957600080fd5b610d51610b59565b9050610d5c82610bd0565b8152610d6a60208301610bd0565b6020820152604082013567ffffffffffffffff80821115610d8a57600080fd5b610d9685838601610c65565b60408401526060840135915080821115610daf57600080fd5b610dbb85838601610bf5565b60608401526080840135915080821115610dd457600080fd5b50610de184828501610bf5565b60808301525092915050565b6000806040808486031215610e0157600080fd5b833567ffffffffffffffff80821115610e1957600080fd5b90850190818703608080821215610e2f57600080fd5b610e37610b0d565b85831215610e4457600080fd5b610e4c610b7c565b92508435835260208086013581850152838252610e6a878701610bd0565b81830152606093508386013585811115610e8357600080fd5b8087019650508a601f870112610e9857600080fd5b853585811115610eaa57610eaa610af7565b610eb8828260051b01610b9f565b81815260079190911b8701820190828101908d831115610ed757600080fd5b978301975b82891015610f435785898f031215610ef45760008081fd5b610efc610b36565b610f058a610be4565b8152610f12858b01610be4565b85820152610f218b8b01610be4565b8b820152610f30888b01610bd0565b8189015282529785019790830190610edc565b98840198909852509097508801359450505080831115610f6257600080fd5b5050610f7085828601610d37565b9150509250929050565b600082601f830112610f8b57600080fd5b610f93610b7c565b806040840185811115610fa557600080fd5b845b81811015610fbf578035845260209384019301610fa7565b509095945050505050565b60008060008084860360e0811215610fe157600080fd5b85359450602086013593506080603f1982011215610ffe57600080fd5b50611007610b7c565b6110148760408801610f7a565b81526110238760808801610f7a565b60208201529396929550929360c00135925050565b6000815180845260005b8181101561105e57602081850181015186830182015201611042565b81811115611070576000602083870101525b50601f01601f19169290920160200192915050565b600063ffffffff808351168452806020840151166020850152604083015160a060408601528051606060a08701528051610100870152602081015160806101208801526110d6610180880182611038565b9050604082015160ff19888303016101408901526110f48282611038565b91505083606083015116610160880152602083015160c08801528360408401511660e08801526060860151935086810360608801526111338185611038565b93505050506080830151848203608086015261114f8282611038565b95945050505050565b6060808252845180518383015260200151608083015260009060e0830160208088015163ffffffff80821660a088015260409150818a015160808060c08a01528582518088526101008b0191508684019750600093505b808410156111f2578751805160ff9081168452888201518116898501528782015116878401528901518516898301529686019660019390930192908201906111af565b506001600160a01b038c168a870152898103858b0152611212818c611085565b9d9c50505050505050505050505050565b60008261124057634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b60008282101561126d5761126d611245565b500390565b634e487b7160e01b600052603260045260246000fd5b60008160001904831182151516156112a2576112a2611245565b500290565b600082198211156112ba576112ba611245565b500190565b60006000198214156112d3576112d3611245565b506001019056fea2646970667358221220ed148c7173dd91988170fe356fbfcaa4f309e8b595bf034cf086ce0a847c2b2064736f6c634300080c0033", } // ContractMockRollupABI is the input ABI used to generate the binding from. @@ -95,7 +95,7 @@ var ContractMockRollupABI = ContractMockRollupMetaData.ABI var ContractMockRollupBin = ContractMockRollupMetaData.Bin // DeployContractMockRollup deploys a new Ethereum contract, binding an instance of ContractMockRollup to it. -func DeployContractMockRollup(auth *bind.TransactOpts, backend bind.ContractBackend, _eigenDABlobVerifier common.Address, _tau BN254G1Point) (common.Address, *types.Transaction, *ContractMockRollup, error) { +func DeployContractMockRollup(auth *bind.TransactOpts, backend bind.ContractBackend, _eigenDAServiceManager common.Address, _tau BN254G1Point) (common.Address, *types.Transaction, *ContractMockRollup, error) { parsed, err := ContractMockRollupMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err @@ -104,7 +104,7 @@ func DeployContractMockRollup(auth *bind.TransactOpts, backend bind.ContractBack return common.Address{}, nil, nil, errors.New("GetABI returned nil") } - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractMockRollupBin), backend, _eigenDABlobVerifier, _tau) + address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractMockRollupBin), backend, _eigenDAServiceManager, _tau) if err != nil { return common.Address{}, nil, nil, err } @@ -303,12 +303,12 @@ func (_ContractMockRollup *ContractMockRollupCallerSession) Commitments(arg0 *bi return _ContractMockRollup.Contract.Commitments(&_ContractMockRollup.CallOpts, arg0) } -// EigenDABlobVerifier is a free data retrieval call binding the contract method 0x680c784e. +// EigenDAServiceManager is a free data retrieval call binding the contract method 0xfc30cad0. // -// Solidity: function eigenDABlobVerifier() view returns(address) -func (_ContractMockRollup *ContractMockRollupCaller) EigenDABlobVerifier(opts *bind.CallOpts) (common.Address, error) { +// Solidity: function eigenDAServiceManager() view returns(address) +func (_ContractMockRollup *ContractMockRollupCaller) EigenDAServiceManager(opts *bind.CallOpts) (common.Address, error) { var out []interface{} - err := _ContractMockRollup.contract.Call(opts, &out, "eigenDABlobVerifier") + err := _ContractMockRollup.contract.Call(opts, &out, "eigenDAServiceManager") if err != nil { return *new(common.Address), err @@ -320,18 +320,18 @@ func (_ContractMockRollup *ContractMockRollupCaller) EigenDABlobVerifier(opts *b } -// EigenDABlobVerifier is a free data retrieval call binding the contract method 0x680c784e. +// EigenDAServiceManager is a free data retrieval call binding the contract method 0xfc30cad0. // -// Solidity: function eigenDABlobVerifier() view returns(address) -func (_ContractMockRollup *ContractMockRollupSession) EigenDABlobVerifier() (common.Address, error) { - return _ContractMockRollup.Contract.EigenDABlobVerifier(&_ContractMockRollup.CallOpts) +// Solidity: function eigenDAServiceManager() view returns(address) +func (_ContractMockRollup *ContractMockRollupSession) EigenDAServiceManager() (common.Address, error) { + return _ContractMockRollup.Contract.EigenDAServiceManager(&_ContractMockRollup.CallOpts) } -// EigenDABlobVerifier is a free data retrieval call binding the contract method 0x680c784e. +// EigenDAServiceManager is a free data retrieval call binding the contract method 0xfc30cad0. // -// Solidity: function eigenDABlobVerifier() view returns(address) -func (_ContractMockRollup *ContractMockRollupCallerSession) EigenDABlobVerifier() (common.Address, error) { - return _ContractMockRollup.Contract.EigenDABlobVerifier(&_ContractMockRollup.CallOpts) +// Solidity: function eigenDAServiceManager() view returns(address) +func (_ContractMockRollup *ContractMockRollupCallerSession) EigenDAServiceManager() (common.Address, error) { + return _ContractMockRollup.Contract.EigenDAServiceManager(&_ContractMockRollup.CallOpts) } // Tau is a free data retrieval call binding the contract method 0xcfc4af55. @@ -403,20 +403,20 @@ func (_ContractMockRollup *ContractMockRollupTransactorSession) ChallengeCommitm // PostCommitment is a paid mutator transaction binding the contract method 0xb5144c73. // // Solidity: function postCommitment(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof) returns() -func (_ContractMockRollup *ContractMockRollupTransactor) PostCommitment(opts *bind.TransactOpts, blobHeader BlobHeader, blobVerificationProof BlobVerificationProof) (*types.Transaction, error) { +func (_ContractMockRollup *ContractMockRollupTransactor) PostCommitment(opts *bind.TransactOpts, blobHeader IEigenDAServiceManagerBlobHeader, blobVerificationProof EigenDARollupUtilsBlobVerificationProof) (*types.Transaction, error) { return _ContractMockRollup.contract.Transact(opts, "postCommitment", blobHeader, blobVerificationProof) } // PostCommitment is a paid mutator transaction binding the contract method 0xb5144c73. // // Solidity: function postCommitment(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof) returns() -func (_ContractMockRollup *ContractMockRollupSession) PostCommitment(blobHeader BlobHeader, blobVerificationProof BlobVerificationProof) (*types.Transaction, error) { +func (_ContractMockRollup *ContractMockRollupSession) PostCommitment(blobHeader IEigenDAServiceManagerBlobHeader, blobVerificationProof EigenDARollupUtilsBlobVerificationProof) (*types.Transaction, error) { return _ContractMockRollup.Contract.PostCommitment(&_ContractMockRollup.TransactOpts, blobHeader, blobVerificationProof) } // PostCommitment is a paid mutator transaction binding the contract method 0xb5144c73. // // Solidity: function postCommitment(((uint256,uint256),uint32,(uint8,uint8,uint8,uint32)[]) blobHeader, (uint32,uint32,((bytes32,bytes,bytes,uint32),bytes32,uint32),bytes,bytes) blobVerificationProof) returns() -func (_ContractMockRollup *ContractMockRollupTransactorSession) PostCommitment(blobHeader BlobHeader, blobVerificationProof BlobVerificationProof) (*types.Transaction, error) { +func (_ContractMockRollup *ContractMockRollupTransactorSession) PostCommitment(blobHeader IEigenDAServiceManagerBlobHeader, blobVerificationProof EigenDARollupUtilsBlobVerificationProof) (*types.Transaction, error) { return _ContractMockRollup.Contract.PostCommitment(&_ContractMockRollup.TransactOpts, blobHeader, blobVerificationProof) } diff --git a/contracts/src/interfaces/IEigenDABlobVerifier.sol b/contracts/src/interfaces/IEigenDABlobVerifier.sol index 88a846e449..b3b179635e 100644 --- a/contracts/src/interfaces/IEigenDABlobVerifier.sol +++ b/contracts/src/interfaces/IEigenDABlobVerifier.sol @@ -1,8 +1,6 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; -import {IEigenDAServiceManager} from "./IEigenDAServiceManager.sol"; -import {EigenDABlobVerificationUtils} from "../libraries/EigenDABlobVerificationUtils.sol"; import {IEigenDAThresholdRegistry} from "./IEigenDAThresholdRegistry.sol"; import "./IEigenDAStructs.sol"; @@ -140,4 +138,4 @@ interface IEigenDABlobVerifier is IEigenDAThresholdRegistry { uint16 version, SecurityThresholds memory securityThresholds ) external view; -} +} \ No newline at end of file diff --git a/contracts/src/interfaces/IEigenDAServiceManager.sol b/contracts/src/interfaces/IEigenDAServiceManager.sol index 973e4b7a5f..5e02f7511e 100644 --- a/contracts/src/interfaces/IEigenDAServiceManager.sol +++ b/contracts/src/interfaces/IEigenDAServiceManager.sol @@ -46,4 +46,4 @@ interface IEigenDAServiceManager is IServiceManager, IEigenDAThresholdRegistry { /// @notice The maximum amount of blocks in the past that the service will consider stake amounts to still be 'valid'. function BLOCK_STALE_MEASURE() external view returns (uint32); -} +} \ No newline at end of file diff --git a/contracts/src/libraries/EigenDAHasher.sol b/contracts/src/libraries/EigenDAHasher.sol index 6a97de8f6b..914e9721bf 100644 --- a/contracts/src/libraries/EigenDAHasher.sol +++ b/contracts/src/libraries/EigenDAHasher.sol @@ -119,4 +119,4 @@ library EigenDAHasher { function hashBlobHeaderV2(BlobHeaderV2 memory blobHeader) internal pure returns(bytes32) { return keccak256(abi.encode(blobHeader)); } -} +} \ No newline at end of file