diff --git a/contracts/bindings/EigenDABlobVerifier/binding.go b/contracts/bindings/EigenDABlobVerifier/binding.go index e009147ff5..03497d104f 100644 --- a/contracts/bindings/EigenDABlobVerifier/binding.go +++ b/contracts/bindings/EigenDABlobVerifier/binding.go @@ -31,12 +31,11 @@ var ( // 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 + NonSignerPubkeys []BN254G1Point + QuorumApks []BN254G1Point + Sigma BN254G1Point + ApkG2 BN254G2Point + QuorumNumbers []uint32 } // BN254G1Point is an auto generated low-level Go binding around an user-defined struct. @@ -158,8 +157,8 @@ type VersionedBlobParams struct { // 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\":\"_eigenDARelayRegistry\",\"type\":\"address\",\"internalType\":\"contractIEigenDARelayRegistry\"},{\"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\":\"eigenDARelayRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDARelayRegistry\"}],\"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\"}]}]}],\"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\":\"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\":\"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\":\"verifyBlobV2FromSignedBatch\",\"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\":\"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\":\"relayKeys\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"}]},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"inclusionProof\",\"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\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"DefaultSecurityThresholdsV2Updated\",\"inputs\":[{\"name\":\"previousDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"newDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumAdversaryThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumConfirmationThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumNumbersRequiredUpdated\",\"inputs\":[{\"name\":\"previousQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"VersionedBlobParamsAdded\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"indexed\":true,\"internalType\":\"uint16\"},{\"name\":\"versionedBlobParams\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false}]", - Bin: "0x6101406040523480156200001257600080fd5b50604051620043853803806200438583398101604081905262000035916200007e565b6001600160a01b0395861660805293851660a05291841660c052831660e052821661010052166101205262000112565b6001600160a01b03811681146200007b57600080fd5b50565b60008060008060008060c087890312156200009857600080fd5b8651620000a58162000065565b6020880151909650620000b88162000065565b6040880151909550620000cb8162000065565b6060880151909450620000de8162000065565b6080880151909350620000f18162000065565b60a0880151909250620001048162000065565b809150509295509295509295565b60805160a05160c05160e0516101005161012051614189620001fc6000396000818161027f015281816105cb01526108da015260008181610219015281816105aa01526108b90152600081816102a60152818161049e015261089801526000818161037a0152818161047d01526108770152600081816102580152818161075d01526107bb0152600081816103a1015281816103de0152818161045c015281816105290152818161063f015281816106ae0152818161073c0152818161079a015281816107f501528181610856015281816109240152818161099b01526109e801526141896000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638687feae116100b8578063cc392c251161007c578063cc392c251461031e578063e15234ff14610331578063ee6c3bcf14610339578063ef6355291461034c578063efd4532b14610375578063f8c668141461039c57600080fd5b80638687feae146102c85780638d67b909146102dd57806392ce4ab2146102f0578063b60e966214610303578063bafa91071461031657600080fd5b80632ecfe72b116100ff5780632ecfe72b146101d15780634ca22c3f14610214578063640f65d9146102535780636d14a9871461027a57806372276443146102a157600080fd5b8063048886d21461013c5780630a4715f414610164578063127af44d146101795780631429c7c21461018c5780632e29ee19146101b1575b600080fd5b61014f61014a36600461259a565b6103c3565b60405190151581526020015b60405180910390f35b6101776101723660046125d6565b610457565b005b6101776101873660046127a9565b6104f8565b61019f61019a36600461259a565b61050e565b60405160ff909116815260200161015b565b6101c46101bf3660046127dd565b61059d565b60405161015b9190612a00565b6101e46101df366004612a13565b610605565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff169082015260600161015b565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161015b565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b6102d06106aa565b60405161015b9190612a86565b6101776102eb366004612a99565b610737565b6101776102fe366004612b28565b61078b565b610177610311366004612be0565b610795565b6102d06107f1565b61017761032c366004612c4b565b610851565b6102d0610920565b61019f61034736600461259a565b610980565b6103546109d2565b60408051825160ff908116825260209384015116928101929092520161015b565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b604051630244436960e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063048886d290602401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190612cae565b92915050565b6104f37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006104cc36889003880188612cfe565b6104d587612ede565b6104de87613147565b6104e66109d2565b6104ee610920565b610a67565b505050565b61050a61050483610605565b82610e84565b5050565b604051630a14e3e160e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631429c7c2906024015b602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610451919061326f565b6105a56124df565b6104517f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105f7604086018661328c565b61060090613378565b611035565b60408051606081018252600080825260208201819052818301529051632ecfe72b60e01b815261ffff831660048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ecfe72b90602401606060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190613384565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561070a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261073291908101906133f5565b905090565b61050a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008484610786610920565b611230565b61050a8282610e84565b6107eb7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868686866107e6610920565b611769565b50505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa15801561070a573d6000803e3d6000fd5b61050a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061090288613462565b61090b88612ede565b6109136109d2565b61091b610920565b611fb7565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561070a573d6000803e3d6000fd5b60405163ee6c3bcf60e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ee6c3bcf9060240161055c565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef6355296040518163ffffffff1660e01b81526004016040805180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073291906134b9565b60408401518551855151610ab8929190610a8090611fea565b604051602001610a9291815260200190565b60405160208183030381529060405280519060200120876020015163ffffffff16612055565b610b365760405162461bcd60e51b8152602060048201526050602482015260008051602061413483398151915260448201527f72696679426c6f625632466f7251756f72756d733a20696e636c7573696f6e2060648201526f1c1c9bdbd9881a5cc81a5b9d985b1a5960821b608482015260a4015b60405180910390fd5b600080886001600160a01b0316636efb4636610b518961206d565b885151602090810151908b01516040516001600160e01b031960e086901b168152610b83939291908b906004016134fa565b600060405180830381865afa158015610ba0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bc891908101906135ad565b91509150610bde88876000015160200151612098565b85515151604051632ecfe72b60e01b815261ffff9091166004820152610c59906001600160a01b038c1690632ecfe72b90602401606060405180830381865afa158015610c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c539190613384565b85610e84565b6000805b8751516020015151811015610dc457856000015160ff1684602001518281518110610c8a57610c8a613649565b6020026020010151610c9c9190613675565b6001600160601b0316606485600001518381518110610cbd57610cbd613649565b60200260200101516001600160601b0316610cd891906136a4565b1015610d7f5760405162461bcd60e51b8152602060048201526076602482015260008051602061413483398151915260448201527f72696679426c6f625632466f7251756f72756d733a207369676e61746f72696560648201527f7320646f206e6f74206f776e206174206c65617374207468726573686f6c642060848201527570657263656e74616765206f6620612071756f72756d60501b60a482015260c401610b2d565b875151602001518051610db091849184908110610d9e57610d9e613649565b0160200151600160f89190911c1b1790565b915080610dbc816136c3565b915050610c5d565b50610dd8610dd1856121cb565b8281161490565b610e775760405162461bcd60e51b8152602060048201526070602482015260008051602061413483398151915260448201527f72696679426c6f625632466f7251756f72756d733a207265717569726564207160648201527f756f72756d7320617265206e6f74206120737562736574206f6620746865206360848201526f6f6e6669726d65642071756f72756d7360801b60a482015260c401610b2d565b5050505050505050505050565b806020015160ff16816000015160ff1611610f395760405162461bcd60e51b8152602060048201526075602482015260008051602061413483398151915260448201527f72696679426c6f625365637572697479506172616d733a20636f6e6669726d6160648201527f74696f6e5468726573686f6c64206d7573742062652067726561746572207468608482015274185b8818591d995c9cd85c9e551a1c995cda1bdb19605a1b60a482015260c401610b2d565b60208101518151600091610f4c916136de565b60ff1690506000836020015163ffffffff16846040015160ff1683620f4240610f759190613717565b610f7f9190613717565b610f8b9061271061372b565b610f9591906136a4565b8451909150610fa690612710613742565b63ffffffff168110156107eb5760405162461bcd60e51b8152602060048201526058602482015260008051602061413483398151915260448201527f72696679426c6f625365637572697479506172616d733a20736563757269747960648201527f20617373756d7074696f6e7320617265206e6f74206d65740000000000000000608482015260a401610b2d565b61103d6124df565b8151516000906001600160401b0381111561105a5761105a612670565b604051908082528060200260200182016040528015611083578160200160208202803683370190505b50905060005b8351518110156110f8576110cb846000015182815181106110ac576110ac613649565b6020026020010151805160009081526020918201519091526040902090565b8282815181106110dd576110dd613649565b60209081029190910101526110f1816136c3565b9050611089565b50606060005b84608001515181101561115d57818560800151828151811061112257611122613649565b602002602001015160405160200161113b929190613765565b604051602081830303815290604052915080611156906136c3565b90506110fe565b5060a08401516040516313dce7dd60e21b81526000916001600160a01b03891691634f739f7491611197918a919087908990600401613797565b600060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111dc91908101906138ea565b80518552855160208087019190915280870151604080880191909152606080890151818901529781015160808801529082015160a087015281015160c0860152949094015160e08401525090949350505050565b6001600160a01b03841663eccbbfc961124c60208501856139c2565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa15801561128e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b291906139df565b6112d06112c260408501856139f8565b6112cb90613a0e565b612358565b146112ed5760405162461bcd60e51b8152600401610b2d90613ae5565b6113a16112fd6060840184613b57565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133f9250505060408501856139f8565b6113499080613b9d565b3561135b61135687613bb3565b6123c9565b60405160200161136d91815260200190565b6040516020818303038152906040528051906020012085602001602081019061139691906139c2565b63ffffffff16612055565b6113bd5760405162461bcd60e51b8152600401610b2d90613cd2565b6000805b6113ce6060860186613d34565b9050811015611738576113e46060860186613d34565b828181106113f4576113f4613649565b61140a926020608090920201908101915061259a565b60ff1661141a60408601866139f8565b6114249080613b9d565b611432906020810190613b57565b61143f6080880188613b57565b8581811061144f5761144f613649565b919091013560f81c905081811061146857611468613649565b9050013560f81c60f81b60f81c60ff16146114955760405162461bcd60e51b8152600401610b2d90613d7d565b6114a26060860186613d34565b828181106114b2576114b2613649565b90506080020160200160208101906114ca919061259a565b60ff166114da6060870187613d34565b838181106114ea576114ea613649565b9050608002016040016020810190611502919061259a565b60ff16116115225760405162461bcd60e51b8152600401610b2d90613de0565b6001600160a01b038716631429c7c261153e6060880188613d34565b8481811061154e5761154e613649565b611564926020608090920201908101915061259a565b6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa1580156115a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c6919061326f565b60ff166115d66060870187613d34565b838181106115e6576115e6613649565b90506080020160400160208101906115fe919061259a565b60ff16101561161f5760405162461bcd60e51b8152600401610b2d90613e51565b61162c6060860186613d34565b8281811061163c5761163c613649565b9050608002016040016020810190611654919061259a565b60ff1661166460408601866139f8565b61166e9080613b9d565b61167c906040810190613b57565b6116896080880188613b57565b8581811061169957611699613649565b919091013560f81c90508181106116b2576116b2613649565b9050013560f81c60f81b60f81c60ff1610156116e05760405162461bcd60e51b8152600401610b2d90613e51565b611724826116f16060880188613d34565b8481811061170157611701613649565b611717926020608090920201908101915061259a565b600160ff919091161b1790565b915080611730816136c3565b9150506113c1565b50611745610dd1836121cb565b6117615760405162461bcd60e51b8152600401610b2d90613ec2565b505050505050565b8382146118065760405162461bcd60e51b815260206004820152606b602482015260008051602061413483398151915260448201527f72696679426c6f6273466f7251756f72756d733a20626c6f624865616465727360648201527f20616e6420626c6f62566572696669636174696f6e50726f6f6673206c656e6760848201526a0e8d040dad2e6dac2e8c6d60ab1b60a482015260c401610b2d565b6000876001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa158015611846573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261186e91908101906133f5565b905060005b85811015611fac57876001600160a01b031663eccbbfc986868481811061189c5761189c613649565b90506020028101906118ae9190613f4a565b6118bc9060208101906139c2565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192291906139df565b61195786868481811061193757611937613649565b90506020028101906119499190613f4a565b6112c29060408101906139f8565b146119745760405162461bcd60e51b8152600401610b2d90613ae5565b611aaa85858381811061198957611989613649565b905060200281019061199b9190613f4a565b6119a9906060810190613b57565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508891508590508181106119f2576119f2613649565b9050602002810190611a049190613f4a565b611a129060408101906139f8565b611a1c9080613b9d565b35611a4d8a8a86818110611a3257611a32613649565b9050602002810190611a449190613b9d565b61135690613bb3565b604051602001611a5f91815260200190565b60405160208183030381529060405280519060200120888886818110611a8757611a87613649565b9050602002810190611a999190613f4a565b6113969060408101906020016139c2565b611ac65760405162461bcd60e51b8152600401610b2d90613cd2565b6000805b888884818110611adc57611adc613649565b9050602002810190611aee9190613b9d565b611afc906060810190613d34565b9050811015611f7257888884818110611b1757611b17613649565b9050602002810190611b299190613b9d565b611b37906060810190613d34565b82818110611b4757611b47613649565b611b5d926020608090920201908101915061259a565b60ff16878785818110611b7257611b72613649565b9050602002810190611b849190613f4a565b611b929060408101906139f8565b611b9c9080613b9d565b611baa906020810190613b57565b898987818110611bbc57611bbc613649565b9050602002810190611bce9190613f4a565b611bdc906080810190613b57565b85818110611bec57611bec613649565b919091013560f81c9050818110611c0557611c05613649565b9050013560f81c60f81b60f81c60ff1614611c325760405162461bcd60e51b8152600401610b2d90613d7d565b888884818110611c4457611c44613649565b9050602002810190611c569190613b9d565b611c64906060810190613d34565b82818110611c7457611c74613649565b9050608002016020016020810190611c8c919061259a565b60ff16898985818110611ca157611ca1613649565b9050602002810190611cb39190613b9d565b611cc1906060810190613d34565b83818110611cd157611cd1613649565b9050608002016040016020810190611ce9919061259a565b60ff1611611d095760405162461bcd60e51b8152600401610b2d90613de0565b83898985818110611d1c57611d1c613649565b9050602002810190611d2e9190613b9d565b611d3c906060810190613d34565b83818110611d4c57611d4c613649565b611d62926020608090920201908101915061259a565b60ff1681518110611d7557611d75613649565b016020015160f81c898985818110611d8f57611d8f613649565b9050602002810190611da19190613b9d565b611daf906060810190613d34565b83818110611dbf57611dbf613649565b9050608002016040016020810190611dd7919061259a565b60ff161015611df85760405162461bcd60e51b8152600401610b2d90613e51565b888884818110611e0a57611e0a613649565b9050602002810190611e1c9190613b9d565b611e2a906060810190613d34565b82818110611e3a57611e3a613649565b9050608002016040016020810190611e52919061259a565b60ff16878785818110611e6757611e67613649565b9050602002810190611e799190613f4a565b611e879060408101906139f8565b611e919080613b9d565b611e9f906040810190613b57565b898987818110611eb157611eb1613649565b9050602002810190611ec39190613f4a565b611ed1906080810190613b57565b85818110611ee157611ee1613649565b919091013560f81c9050818110611efa57611efa613649565b9050013560f81c60f81b60f81c60ff161015611f285760405162461bcd60e51b8152600401610b2d90613e51565b611f5e828a8a86818110611f3e57611f3e613649565b9050602002810190611f509190613b9d565b6116f1906060810190613d34565b915080611f6a816136c3565b915050611aca565b50611f7f610dd1856121cb565b611f9b5760405162461bcd60e51b8152600401610b2d90613ec2565b50611fa5816136c3565b9050611873565b505050505050505050565b6000611fc887878760200151611035565b9050611fde8a8a8a886000015188868989610a67565b50505050505050505050565b600081600001518260200151836040015160405160200161200d93929190613f60565b60408051601f1981840301815282825280516020918201206060808701519285019190915291830152015b604051602081830303815290604052805190602001209050919050565b6000836120638685856123dc565b1495945050505050565b60008160405160200161203891908151815260209182015163ffffffff169181019190915260400190565b60005b81518110156104f35760006001600160a01b0316836001600160a01b031663b5a872da8484815181106120d0576120d0613649565b60200260200101516040518263ffffffff1660e01b8152600401612100919063ffffffff91909116815260200190565b602060405180830381865afa15801561211d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121419190613fd9565b6001600160a01b031614156121bb5760405162461bcd60e51b8152602060048201526046602482015260008051602061413483398151915260448201527f7269667952656c61794b6579735365743a2072656c6179206b6579206973206e6064820152651bdd081cd95d60d21b608482015260a401610b2d565b6121c4816136c3565b905061209b565b6000610100825111156122545760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a401610b2d565b815161226257506000919050565b6000808360008151811061227857612278613649565b0160200151600160f89190911c81901b92505b845181101561234f578481815181106122a6576122a6613649565b0160200151600160f89190911c1b915082821161233b5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a401610b2d565b91811791612348816136c3565b905061228b565b50909392505050565b600061045182600001516040516020016123729190614002565b60408051808303601f1901815282825280516020918201208682015187840151838601929092528484015260e01b6001600160e01b0319166060840152815160448185030181526064909301909152815191012090565b6000816040516020016120389190614062565b6000602084516123ec9190614107565b156124735760405162461bcd60e51b815260206004820152604b60248201527f4d65726b6c652e70726f63657373496e636c7573696f6e50726f6f664b65636360448201527f616b3a2070726f6f66206c656e6774682073686f756c642062652061206d756c60648201526a3a34b836329037b310199960a91b608482015260a401610b2d565b8260205b855181116124d65761248a600285614107565b6124ab578160005280860151602052604060002091506002840493506124c4565b8086015160005281602052604060002091506002840493505b6124cf60208261411b565b9050612477565b50949350505050565b604051806101000160405280606081526020016060815260200160608152602001612508612545565b815260200161252a604051806040016040528060008152602001600081525090565b81526020016060815260200160608152602001606081525090565b604051806040016040528061255861256a565b815260200161256561256a565b905290565b60405180604001604052806002906020820280368337509192915050565b60ff8116811461259757600080fd5b50565b6000602082840312156125ac57600080fd5b81356125b781612588565b9392505050565b6000606082840312156125d057600080fd5b50919050565b600080600083850360808112156125ec57600080fd5b60408112156125fa57600080fd5b5083925060408401356001600160401b038082111561261857600080fd5b612624878388016125be565b9350606086013591508082111561263a57600080fd5b508401610180818703121561264e57600080fd5b809150509250925092565b803561ffff8116811461266b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156126a8576126a8612670565b60405290565b604051606081016001600160401b03811182821017156126a8576126a8612670565b604051608081016001600160401b03811182821017156126a8576126a8612670565b60405161010081016001600160401b03811182821017156126a8576126a8612670565b60405160c081016001600160401b03811182821017156126a8576126a8612670565b604051601f8201601f191681016001600160401b038111828210171561275f5761275f612670565b604052919050565b60006040828403121561277957600080fd5b612781612686565b9050813561278e81612588565b8152602082013561279e81612588565b602082015292915050565b600080606083850312156127bc57600080fd5b6127c583612659565b91506127d48460208501612767565b90509250929050565b6000602082840312156127ef57600080fd5b81356001600160401b0381111561280557600080fd5b612811848285016125be565b949350505050565b600081518084526020808501945080840160005b8381101561284f57815163ffffffff168752958201959082019060010161282d565b509495945050505050565b600081518084526020808501945080840160005b8381101561284f5761288b87835180518252602090810151910152565b604096909601959082019060010161286e565b8060005b60028110156107eb5781518452602093840193909101906001016128a2565b6128cc82825161289e565b60208101516104f3604084018261289e565b600081518084526020808501808196508360051b8101915082860160005b85811015612926578284038952612914848351612819565b988501989350908401906001016128fc565b5091979650505050505050565b6000610180825181855261294982860182612819565b91505060208301518482036020860152612963828261285a565b9150506040830151848203604086015261297d828261285a565b915050606083015161299260608601826128c1565b506080830151805160e08601526020015161010085015260a08301518482036101208601526129c18282612819565b91505060c08301518482036101408601526129dc8282612819565b91505060e08301518482036101608601526129f782826128de565b95945050505050565b6020815260006125b76020830184612933565b600060208284031215612a2557600080fd5b6125b782612659565b60005b83811015612a49578181015183820152602001612a31565b838111156107eb5750506000910152565b60008151808452612a72816020860160208601612a2e565b601f01601f19169290920160200192915050565b6020815260006125b76020830184612a5a565b60008060408385031215612aac57600080fd5b82356001600160401b0380821115612ac357600080fd5b9084019060808287031215612ad757600080fd5b90925060208401359080821115612aed57600080fd5b50830160a08186031215612b0057600080fd5b809150509250929050565b63ffffffff8116811461259757600080fd5b803561266b81612b0b565b60008082840360a0811215612b3c57600080fd5b6060811215612b4a57600080fd5b50612b536126ae565b8335612b5e81612b0b565b81526020840135612b6e81612b0b565b60208201526040840135612b8181612588565b604082015291506127d48460608501612767565b60008083601f840112612ba757600080fd5b5081356001600160401b03811115612bbe57600080fd5b6020830191508360208260051b8501011115612bd957600080fd5b9250929050565b60008060008060408587031215612bf657600080fd5b84356001600160401b0380821115612c0d57600080fd5b612c1988838901612b95565b90965094506020870135915080821115612c3257600080fd5b50612c3f87828801612b95565b95989497509550505050565b60008060408385031215612c5e57600080fd5b82356001600160401b0380821115612c7557600080fd5b612c81868387016125be565b93506020850135915080821115612c9757600080fd5b50612ca4858286016125be565b9150509250929050565b600060208284031215612cc057600080fd5b815180151581146125b757600080fd5b600060408284031215612ce257600080fd5b612cea612686565b905081358152602082013561279e81612b0b565b600060408284031215612d1057600080fd5b6125b78383612cd0565b60006001600160401b03821115612d3357612d33612670565b50601f01601f191660200190565b600082601f830112612d5257600080fd5b8135612d65612d6082612d1a565b612737565b818152846020838601011115612d7a57600080fd5b816020850160208301376000918101602001919091529392505050565b600060408284031215612da957600080fd5b612db1612686565b9050813581526020820135602082015292915050565b600082601f830112612dd857600080fd5b612de0612686565b806040840185811115612df257600080fd5b845b81811015612e0c578035845260209384019301612df4565b509095945050505050565b600060808284031215612e2957600080fd5b612e31612686565b9050612e3d8383612dc7565b815261279e8360408401612dc7565b60006001600160401b03821115612e6557612e65612670565b5060051b60200190565b600082601f830112612e8057600080fd5b81356020612e90612d6083612e4c565b82815260059290921b84018101918181019086841115612eaf57600080fd5b8286015b84811015612ed3578035612ec681612b0b565b8352918301918301612eb3565b509695505050505050565b600060608236031215612ef057600080fd5b612ef86126ae565b82356001600160401b0380821115612f0f57600080fd5b81850191506040808336031215612f2557600080fd5b612f2d612686565b833583811115612f3c57600080fd5b8401368190036101c0811215612f5157600080fd5b612f596126d0565b612f6283612659565b815260208084013587811115612f7757600080fd5b612f8336828701612d41565b8383015250610160603f1984011215612f9b57600080fd5b612fa36126d0565b9250612fb136878601612d97565b8352612fc03660808601612e17565b81840152612fd2366101008601612e17565b86840152610180840135612fe581612b0b565b8060608501525082868301526101a084013560608301528185528088013593508684111561301257600080fd5b61301e36858a01612e6f565b81860152848952613030818c01612b1d565b90890152505050508581013592508183111561304b57600080fd5b61305736848801612d41565b9084015250909392505050565b600082601f83011261307557600080fd5b81356020613085612d6083612e4c565b82815260069290921b840181019181810190868411156130a457600080fd5b8286015b84811015612ed3576130ba8882612d97565b8352918301916040016130a8565b600082601f8301126130d957600080fd5b813560206130e9612d6083612e4c565b82815260059290921b8401810191818101908684111561310857600080fd5b8286015b84811015612ed35780356001600160401b0381111561312b5760008081fd5b6131398986838b0101612e6f565b84525091830191830161310c565b6000610180823603121561315a57600080fd5b6131626126f2565b82356001600160401b038082111561317957600080fd5b61318536838701612e6f565b8352602085013591508082111561319b57600080fd5b6131a736838701613064565b602084015260408501359150808211156131c057600080fd5b6131cc36838701613064565b60408401526131de3660608701612e17565b60608401526131f03660e08701612d97565b608084015261012085013591508082111561320a57600080fd5b61321636838701612e6f565b60a084015261014085013591508082111561323057600080fd5b61323c36838701612e6f565b60c084015261016085013591508082111561325657600080fd5b50613263368286016130c8565b60e08301525092915050565b60006020828403121561328157600080fd5b81516125b781612588565b6000823561013e198336030181126132a357600080fd5b9190910192915050565b600061014082840312156132c057600080fd5b6132c8612715565b905081356001600160401b03808211156132e157600080fd5b6132ed85838601613064565b8352602084013591508082111561330357600080fd5b61330f85838601613064565b60208401526133218560408601612d97565b60408401526133338560808601612e17565b606084015261010084013591508082111561334d57600080fd5b5061335a84828501612e6f565b60808301525061336d6101208301612b1d565b60a082015292915050565b600061045136836132ad565b60006060828403121561339657600080fd5b604051606081018181106001600160401b03821117156133b8576133b8612670565b60405282516133c681612b0b565b815260208301516133d681612b0b565b602082015260408301516133e981612588565b60408201529392505050565b60006020828403121561340757600080fd5b81516001600160401b0381111561341d57600080fd5b8201601f8101841361342e57600080fd5b805161343c612d6082612d1a565b81815285602083850101111561345157600080fd5b6129f7826020830160208601612a2e565b60006060823603121561347457600080fd5b61347c612686565b6134863684612cd0565b815260408301356001600160401b038111156134a157600080fd5b6134ad368286016132ad565b60208301525092915050565b6000604082840312156134cb57600080fd5b6134d3612686565b82516134de81612588565b815260208301516134ee81612588565b60208201529392505050565b8481526080602082015260006135136080830186612a5a565b63ffffffff8516604084015282810360608401526135318185612933565b979650505050505050565b600082601f83011261354d57600080fd5b8151602061355d612d6083612e4c565b82815260059290921b8401810191818101908684111561357c57600080fd5b8286015b84811015612ed35780516001600160601b03811681146135a05760008081fd5b8352918301918301613580565b600080604083850312156135c057600080fd5b82516001600160401b03808211156135d757600080fd5b90840190604082870312156135eb57600080fd5b6135f3612686565b82518281111561360257600080fd5b61360e8882860161353c565b82525060208301518281111561362357600080fd5b61362f8882860161353c565b602083015250809450505050602083015190509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160601b038083168185168183048111821515161561369b5761369b61365f565b02949350505050565b60008160001904831182151516156136be576136be61365f565b500290565b60006000198214156136d7576136d761365f565b5060010190565b600060ff821660ff8416808210156136f8576136f861365f565b90039392505050565b634e487b7160e01b600052601260045260246000fd5b60008261372657613726613701565b500490565b60008282101561373d5761373d61365f565b500390565b600063ffffffff8083168185168183048111821515161561369b5761369b61365f565b60008351613777818460208801612a2e565b60f89390931b6001600160f81b0319169190920190815260010192915050565b60018060a01b03851681526000602063ffffffff861681840152608060408401526137c56080840186612a5a565b838103606085015284518082528286019183019060005b818110156137f8578351835292840192918401916001016137dc565b50909998505050505050505050565b600082601f83011261381857600080fd5b81516020613828612d6083612e4c565b82815260059290921b8401810191818101908684111561384757600080fd5b8286015b84811015612ed357805161385e81612b0b565b835291830191830161384b565b600082601f83011261387c57600080fd5b8151602061388c612d6083612e4c565b82815260059290921b840181019181810190868411156138ab57600080fd5b8286015b84811015612ed35780516001600160401b038111156138ce5760008081fd5b6138dc8986838b0101613807565b8452509183019183016138af565b6000602082840312156138fc57600080fd5b81516001600160401b038082111561391357600080fd5b908301906080828603121561392757600080fd5b61392f6126d0565b82518281111561393e57600080fd5b61394a87828601613807565b82525060208301518281111561395f57600080fd5b61396b87828601613807565b60208301525060408301518281111561398357600080fd5b61398f87828601613807565b6040830152506060830151828111156139a757600080fd5b6139b38782860161386b565b60608301525095945050505050565b6000602082840312156139d457600080fd5b81356125b781612b0b565b6000602082840312156139f157600080fd5b5051919050565b60008235605e198336030181126132a357600080fd5b600060608236031215613a2057600080fd5b613a286126ae565b82356001600160401b0380821115613a3f57600080fd5b818501915060808236031215613a5457600080fd5b613a5c6126d0565b82358152602083013582811115613a7257600080fd5b613a7e36828601612d41565b602083015250604083013582811115613a9657600080fd5b613aa236828601612d41565b60408301525060608301359250613ab883612b0b565b82606082015280845250505060208301356020820152613ada60408401612b1d565b604082015292915050565b6020808252606090820181905260008051602061413483398151915260408301527f72696679426c6f62466f7251756f72756d733a2062617463684d657461646174908201527f6120646f6573206e6f74206d617463682073746f726564206d65746164617461608082015260a00190565b6000808335601e19843603018112613b6e57600080fd5b8301803591506001600160401b03821115613b8857600080fd5b602001915036819003821315612bd957600080fd5b60008235607e198336030181126132a357600080fd5b60006080808336031215613bc657600080fd5b613bce6126ae565b613bd83685612d97565b8152604080850135613be981612b0b565b6020818185015260609150818701356001600160401b03811115613c0c57600080fd5b870136601f820112613c1d57600080fd5b8035613c2b612d6082612e4c565b81815260079190911b82018301908381019036831115613c4a57600080fd5b928401925b82841015613cbe57888436031215613c675760008081fd5b613c6f6126d0565b8435613c7a81612588565b815284860135613c8981612588565b8187015284880135613c9a81612588565b8189015284870135613cab81612b0b565b8188015282529288019290840190613c4f565b958701959095525093979650505050505050565b6020808252604e9082015260008051602061413483398151915260408201527f72696679426c6f62466f7251756f72756d733a20696e636c7573696f6e20707260608201526d1bdbd9881a5cc81a5b9d985b1a5960921b608082015260a00190565b6000808335601e19843603018112613d4b57600080fd5b8301803591506001600160401b03821115613d6557600080fd5b6020019150600781901b3603821315612bd957600080fd5b6020808252604f9082015260008051602061413483398151915260408201527f72696679426c6f62466f7251756f72756d733a2071756f72756d4e756d62657260608201526e040c8decae640dcdee840dac2e8c6d608b1b608082015260a00190565b602080825260579082015260008051602061413483398151915260408201527f72696679426c6f62466f7251756f72756d733a207468726573686f6c6420706560608201527f7263656e746167657320617265206e6f742076616c6964000000000000000000608082015260a00190565b6020808252605e9082015260008051602061413483398151915260408201527f72696679426c6f62466f7251756f72756d733a20636f6e6669726d6174696f6e60608201527f5468726573686f6c6450657263656e74616765206973206e6f74206d65740000608082015260a00190565b6020808252606e9082015260008051602061413483398151915260408201527f72696679426c6f62466f7251756f72756d733a2072657175697265642071756f60608201527f72756d7320617265206e6f74206120737562736574206f662074686520636f6e60808201526d6669726d65642071756f72756d7360901b60a082015260c00190565b60008235609e198336030181126132a357600080fd5b60006101a061ffff86168352806020840152613f7e81840186612a5a565b8451805160408601526020015160608501529150613f999050565b6020830151613fab60808401826128c1565b506040830151613fbf6101008401826128c1565b5063ffffffff606084015116610180830152949350505050565b600060208284031215613feb57600080fd5b81516001600160a01b03811681146125b757600080fd5b6020815281516020820152600060208301516080604084015261402860a0840182612a5a565b90506040840151601f198483030160608501526140458282612a5a565b91505063ffffffff60608501511660808401528091505092915050565b60208082528251805183830152810151604083015260009060a0830181850151606063ffffffff808316828801526040925082880151608080818a015285825180885260c08b0191508884019750600093505b808410156140f8578751805160ff90811684528a82015181168b8501528882015116888401528601518516868301529688019660019390930192908201906140b5565b509a9950505050505050505050565b60008261411657614116613701565b500690565b6000821982111561412e5761412e61365f565b50019056fe456967656e4441426c6f62566572696669636174696f6e5574696c732e5f7665a2646970667358221220d7ca5d1839a0cbbd77a4e2f2f1f3ddc3b0172168ff2052c6cd2b0b89ba3ce09564736f6c634300080c0033", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_eigenDAThresholdRegistry\",\"type\":\"address\",\"internalType\":\"contractIEigenDAThresholdRegistry\"},{\"name\":\"_eigenDABatchMetadataStorage\",\"type\":\"address\",\"internalType\":\"contractIEigenDABatchMetadataStorage\"},{\"name\":\"_eigenDASignatureVerifier\",\"type\":\"address\",\"internalType\":\"contractIEigenDASignatureVerifier\"},{\"name\":\"_eigenDARelayRegistry\",\"type\":\"address\",\"internalType\":\"contractIEigenDARelayRegistry\"},{\"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\":\"eigenDARelayRegistry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIEigenDARelayRegistry\"}],\"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[]\"}]}]}],\"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\":\"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\":\"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\":\"verifyBlobV2FromSignedBatch\",\"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\":\"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\":\"relayKeys\",\"type\":\"uint32[]\",\"internalType\":\"uint32[]\"}]},{\"name\":\"blobIndex\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"inclusionProof\",\"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\"}]}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"DefaultSecurityThresholdsV2Updated\",\"inputs\":[{\"name\":\"previousDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"newDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumAdversaryThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumConfirmationThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumNumbersRequiredUpdated\",\"inputs\":[{\"name\":\"previousQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"VersionedBlobParamsAdded\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"indexed\":true,\"internalType\":\"uint16\"},{\"name\":\"versionedBlobParams\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false}]", + Bin: "0x6101406040523480156200001257600080fd5b50604051620043823803806200438283398101604081905262000035916200007e565b6001600160a01b0395861660805293851660a05291841660c052831660e052821661010052166101205262000112565b6001600160a01b03811681146200007b57600080fd5b50565b60008060008060008060c087890312156200009857600080fd5b8651620000a58162000065565b6020880151909650620000b88162000065565b6040880151909550620000cb8162000065565b6060880151909450620000de8162000065565b6080880151909350620000f18162000065565b60a0880151909250620001048162000065565b809150509295509295509295565b60805160a05160c05160e0516101005161012051614186620001fc6000396000818161025f015281816108720152610a2d0152600081816101f9015281816108510152610a0c0152600081816102860152818161049e015261083001526000818161035a0152818161047d015261080f015260008181610238015281816106f501526107530152600081816103a1015281816103de0152818161045c01528181610529015281816105d701528181610646015281816106d4015281816107320152818161078d015281816107ee015281816108bc01528181610933015261098001526141866000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638d67b909116100b8578063e15234ff1161007c578063e15234ff14610311578063ee6c3bcf14610319578063ef6355291461032c578063efd4532b14610355578063f25de3f81461037c578063f8c668141461039c57600080fd5b80638d67b909146102bd57806392ce4ab2146102d0578063b60e9662146102e3578063bafa9107146102f6578063ca7fd71d146102fe57600080fd5b80634ca22c3f116100ff5780634ca22c3f146101f4578063640f65d9146102335780636d14a9871461025a57806372276443146102815780638687feae146102a857600080fd5b8063048886d21461013c5780630a4715f414610164578063127af44d146101795780631429c7c21461018c5780632ecfe72b146101b1575b600080fd5b61014f61014a3660046125cc565b6103c3565b60405190151581526020015b60405180910390f35b610177610172366004612608565b610457565b005b6101776101873660046127db565b6104f8565b61019f61019a3660046125cc565b61050e565b60405160ff909116815260200161015b565b6101c46101bf36600461280f565b61059d565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff169082015260600161015b565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161015b565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b6102b0610642565b60405161015b9190612882565b6101776102cb366004612895565b6106cf565b6101776102de366004612924565b610723565b6101776102f13660046129dc565b61072d565b6102b0610789565b61017761030c366004612a47565b6107e9565b6102b06108b8565b61019f6103273660046125cc565b610918565b61033461096a565b60408051825160ff908116825260209384015116928101929092520161015b565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b61038f61038a366004612aaa565b6109ff565b60405161015b9190612ccd565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b604051630244436960e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063048886d290602401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190612ce0565b92915050565b6104f37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006104cc36889003880188612d30565b6104d587612f10565b6104de87613179565b6104e661096a565b6104ee6108b8565b610a5a565b505050565b61050a6105048361059d565b82610e78565b5050565b604051630a14e3e160e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631429c7c2906024015b602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906132a1565b60408051606081018252600080825260208201819052818301529051632ecfe72b60e01b815261ffff831660048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ecfe72b90602401606060405180830381865afa15801561061e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906132be565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106ca919081019061332f565b905090565b61050a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000848461071e6108b8565b611029565b61050a8282610e78565b6107837f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008686868661077e6108b8565b611562565b50505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106a2573d6000803e3d6000fd5b61050a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061089a8861339c565b6108a388612f10565b6108ab61096a565b6108b36108b8565b611db0565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106a2573d6000803e3d6000fd5b60405163ee6c3bcf60e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ee6c3bcf9060240161055c565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef6355296040518163ffffffff1660e01b81526004016040805180830381865afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ca9190613493565b610a07612511565b6104517f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610a558561339c565b611ddf565b610aac84604001518660000151610a748760000151611ff5565b604051602001610a8691815260200190565b60405160208183030381529060405280519060200120876020015163ffffffff16612035565b610b2a5760405162461bcd60e51b8152602060048201526050602482015260008051602061413183398151915260448201527f72696679426c6f625632466f7251756f72756d733a20696e636c7573696f6e2060648201526f1c1c9bdbd9881a5cc81a5b9d985b1a5960821b608482015260a4015b60405180910390fd5b600080886001600160a01b0316636efb4636610b458961204d565b885151602090810151908b01516040516001600160e01b031960e086901b168152610b77939291908b906004016134d4565b600060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bbc9190810190613587565b91509150610bd288876000015160200151612078565b85515151604051632ecfe72b60e01b815261ffff9091166004820152610c4d906001600160a01b038c1690632ecfe72b90602401606060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4791906132be565b85610e78565b6000805b8751516020015151811015610db857856000015160ff1684602001518281518110610c7e57610c7e613623565b6020026020010151610c90919061364f565b6001600160601b0316606485600001518381518110610cb157610cb1613623565b60200260200101516001600160601b0316610ccc919061367e565b1015610d735760405162461bcd60e51b8152602060048201526076602482015260008051602061413183398151915260448201527f72696679426c6f625632466f7251756f72756d733a207369676e61746f72696560648201527f7320646f206e6f74206f776e206174206c65617374207468726573686f6c642060848201527570657263656e74616765206f6620612071756f72756d60501b60a482015260c401610b21565b875151602001518051610da491849184908110610d9257610d92613623565b0160200151600160f89190911c1b1790565b915080610db08161369d565b915050610c51565b50610dcc610dc5856121ab565b8281161490565b610e6b5760405162461bcd60e51b8152602060048201526070602482015260008051602061413183398151915260448201527f72696679426c6f625632466f7251756f72756d733a207265717569726564207160648201527f756f72756d7320617265206e6f74206120737562736574206f6620746865206360848201526f6f6e6669726d65642071756f72756d7360801b60a482015260c401610b21565b5050505050505050505050565b806020015160ff16816000015160ff1611610f2d5760405162461bcd60e51b8152602060048201526075602482015260008051602061413183398151915260448201527f72696679426c6f625365637572697479506172616d733a20636f6e6669726d6160648201527f74696f6e5468726573686f6c64206d7573742062652067726561746572207468608482015274185b8818591d995c9cd85c9e551a1c995cda1bdb19605a1b60a482015260c401610b21565b60208101518151600091610f40916136b8565b60ff1690506000836020015163ffffffff16846040015160ff1683620f4240610f6991906136f1565b610f7391906136f1565b610f7f90612710613705565b610f89919061367e565b8451909150610f9a9061271061371c565b63ffffffff168110156107835760405162461bcd60e51b8152602060048201526058602482015260008051602061413183398151915260448201527f72696679426c6f625365637572697479506172616d733a20736563757269747960648201527f20617373756d7074696f6e7320617265206e6f74206d65740000000000000000608482015260a401610b21565b6001600160a01b03841663eccbbfc9611045602085018561373f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab919061375c565b6110c96110bb6040850185613775565b6110c490613795565b612338565b146110e65760405162461bcd60e51b8152600401610b219061386c565b61119a6110f660608401846138de565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611138925050506040850185613775565b6111429080613924565b3561115461114f8761393a565b6123a9565b60405160200161116691815260200190565b6040516020818303038152906040528051906020012085602001602081019061118f919061373f565b63ffffffff16612035565b6111b65760405162461bcd60e51b8152600401610b2190613a59565b6000805b6111c76060860186613abb565b9050811015611531576111dd6060860186613abb565b828181106111ed576111ed613623565b61120392602060809092020190810191506125cc565b60ff166112136040860186613775565b61121d9080613924565b61122b9060208101906138de565b61123860808801886138de565b8581811061124857611248613623565b919091013560f81c905081811061126157611261613623565b9050013560f81c60f81b60f81c60ff161461128e5760405162461bcd60e51b8152600401610b2190613b04565b61129b6060860186613abb565b828181106112ab576112ab613623565b90506080020160200160208101906112c391906125cc565b60ff166112d36060870187613abb565b838181106112e3576112e3613623565b90506080020160400160208101906112fb91906125cc565b60ff161161131b5760405162461bcd60e51b8152600401610b2190613b67565b6001600160a01b038716631429c7c26113376060880188613abb565b8481811061134757611347613623565b61135d92602060809092020190810191506125cc565b6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa15801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf91906132a1565b60ff166113cf6060870187613abb565b838181106113df576113df613623565b90506080020160400160208101906113f791906125cc565b60ff1610156114185760405162461bcd60e51b8152600401610b2190613bd8565b6114256060860186613abb565b8281811061143557611435613623565b905060800201604001602081019061144d91906125cc565b60ff1661145d6040860186613775565b6114679080613924565b6114759060408101906138de565b61148260808801886138de565b8581811061149257611492613623565b919091013560f81c90508181106114ab576114ab613623565b9050013560f81c60f81b60f81c60ff1610156114d95760405162461bcd60e51b8152600401610b2190613bd8565b61151d826114ea6060880188613abb565b848181106114fa576114fa613623565b61151092602060809092020190810191506125cc565b600160ff919091161b1790565b9150806115298161369d565b9150506111ba565b5061153e610dc5836121ab565b61155a5760405162461bcd60e51b8152600401610b2190613c49565b505050505050565b8382146115ff5760405162461bcd60e51b815260206004820152606b602482015260008051602061413183398151915260448201527f72696679426c6f6273466f7251756f72756d733a20626c6f624865616465727360648201527f20616e6420626c6f62566572696669636174696f6e50726f6f6673206c656e6760848201526a0e8d040dad2e6dac2e8c6d60ab1b60a482015260c401610b21565b6000876001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa15801561163f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611667919081019061332f565b905060005b85811015611da557876001600160a01b031663eccbbfc986868481811061169557611695613623565b90506020028101906116a79190613cd1565b6116b590602081019061373f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b919061375c565b61175086868481811061173057611730613623565b90506020028101906117429190613cd1565b6110bb906040810190613775565b1461176d5760405162461bcd60e51b8152600401610b219061386c565b6118a385858381811061178257611782613623565b90506020028101906117949190613cd1565b6117a29060608101906138de565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508891508590508181106117eb576117eb613623565b90506020028101906117fd9190613cd1565b61180b906040810190613775565b6118159080613924565b356118468a8a8681811061182b5761182b613623565b905060200281019061183d9190613924565b61114f9061393a565b60405160200161185891815260200190565b6040516020818303038152906040528051906020012088888681811061188057611880613623565b90506020028101906118929190613cd1565b61118f90604081019060200161373f565b6118bf5760405162461bcd60e51b8152600401610b2190613a59565b6000805b8888848181106118d5576118d5613623565b90506020028101906118e79190613924565b6118f5906060810190613abb565b9050811015611d6b5788888481811061191057611910613623565b90506020028101906119229190613924565b611930906060810190613abb565b8281811061194057611940613623565b61195692602060809092020190810191506125cc565b60ff1687878581811061196b5761196b613623565b905060200281019061197d9190613cd1565b61198b906040810190613775565b6119959080613924565b6119a39060208101906138de565b8989878181106119b5576119b5613623565b90506020028101906119c79190613cd1565b6119d59060808101906138de565b858181106119e5576119e5613623565b919091013560f81c90508181106119fe576119fe613623565b9050013560f81c60f81b60f81c60ff1614611a2b5760405162461bcd60e51b8152600401610b2190613b04565b888884818110611a3d57611a3d613623565b9050602002810190611a4f9190613924565b611a5d906060810190613abb565b82818110611a6d57611a6d613623565b9050608002016020016020810190611a8591906125cc565b60ff16898985818110611a9a57611a9a613623565b9050602002810190611aac9190613924565b611aba906060810190613abb565b83818110611aca57611aca613623565b9050608002016040016020810190611ae291906125cc565b60ff1611611b025760405162461bcd60e51b8152600401610b2190613b67565b83898985818110611b1557611b15613623565b9050602002810190611b279190613924565b611b35906060810190613abb565b83818110611b4557611b45613623565b611b5b92602060809092020190810191506125cc565b60ff1681518110611b6e57611b6e613623565b016020015160f81c898985818110611b8857611b88613623565b9050602002810190611b9a9190613924565b611ba8906060810190613abb565b83818110611bb857611bb8613623565b9050608002016040016020810190611bd091906125cc565b60ff161015611bf15760405162461bcd60e51b8152600401610b2190613bd8565b888884818110611c0357611c03613623565b9050602002810190611c159190613924565b611c23906060810190613abb565b82818110611c3357611c33613623565b9050608002016040016020810190611c4b91906125cc565b60ff16878785818110611c6057611c60613623565b9050602002810190611c729190613cd1565b611c80906040810190613775565b611c8a9080613924565b611c989060408101906138de565b898987818110611caa57611caa613623565b9050602002810190611cbc9190613cd1565b611cca9060808101906138de565b85818110611cda57611cda613623565b919091013560f81c9050818110611cf357611cf3613623565b9050013560f81c60f81b60f81c60ff161015611d215760405162461bcd60e51b8152600401610b2190613bd8565b611d57828a8a86818110611d3757611d37613623565b9050602002810190611d499190613924565b6114ea906060810190613abb565b915080611d638161369d565b9150506118c3565b50611d78610dc5856121ab565b611d945760405162461bcd60e51b8152600401610b2190613c49565b50611d9e8161369d565b905061166c565b505050505050505050565b6000611dbd878787611ddf565b9050611dd38a8a8a886000015188868989610a5a565b50505050505050505050565b611de7612511565b602082015151516000906001600160401b03811115611e0857611e086126a2565b604051908082528060200260200182016040528015611e31578160200160208202803683370190505b50905060005b60208401515151811015611eae57611e818460200151600001518281518110611e6257611e62613623565b6020026020010151805160009081526020918201519091526040902090565b828281518110611e9357611e93613623565b6020908102919091010152611ea78161369d565b9050611e37565b50606060005b84602001516080015151811015611f1b57818560200151608001518281518110611ee057611ee0613623565b6020026020010151604051602001611ef9929190613ce7565b604051602081830303815290604052915080611f149061369d565b9050611eb4565b508351602001516040516313dce7dd60e21b81526000916001600160a01b03891691634f739f7491611f56918a919087908990600401613d19565b600060405180830381865afa158015611f73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f9b9190810190613e6c565b805185526020958601805151878701528051870151604080880191909152815160609081015181890152915181015160808801529682015160a08701529581015160c0860152949094015160e08401525090949350505050565b600061200482600001516123bc565b602080840151604051612018939201613f44565b604051602081830303815290604052805190602001209050919050565b60008361204386858561240e565b1495945050505050565b60008160405160200161201891908151815260209182015163ffffffff169181019190915260400190565b60005b81518110156104f35760006001600160a01b0316836001600160a01b031663b5a872da8484815181106120b0576120b0613623565b60200260200101516040518263ffffffff1660e01b81526004016120e0919063ffffffff91909116815260200190565b602060405180830381865afa1580156120fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121219190613f5d565b6001600160a01b0316141561219b5760405162461bcd60e51b8152602060048201526046602482015260008051602061413183398151915260448201527f7269667952656c61794b6579735365743a2072656c6179206b6579206973206e6064820152651bdd081cd95d60d21b608482015260a401610b21565b6121a48161369d565b905061207b565b6000610100825111156122345760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a401610b21565b815161224257506000919050565b6000808360008151811061225857612258613623565b0160200151600160f89190911c81901b92505b845181101561232f5784818151811061228657612286613623565b0160200151600160f89190911c1b915082821161231b5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a401610b21565b918117916123288161369d565b905061226b565b50909392505050565b600061045182600001516040516020016123529190613f86565b60408051808303601f1901815282825280516020918201208682015187840151838601929092528484015260e01b6001600160e01b0319166060840152815160448185030181526064909301909152815191012090565b6000816040516020016120189190613fe6565b60008160000151826020015183604001516040516020016123df9392919061408b565b60408051601f198184030181528282528051602091820120606080870151928501919091529183015201612018565b60006020845161241e9190614104565b156124a55760405162461bcd60e51b815260206004820152604b60248201527f4d65726b6c652e70726f63657373496e636c7573696f6e50726f6f664b65636360448201527f616b3a2070726f6f66206c656e6774682073686f756c642062652061206d756c60648201526a3a34b836329037b310199960a91b608482015260a401610b21565b8260205b85518111612508576124bc600285614104565b6124dd578160005280860151602052604060002091506002840493506124f6565b8086015160005281602052604060002091506002840493505b612501602082614118565b90506124a9565b50949350505050565b60405180610100016040528060608152602001606081526020016060815260200161253a612577565b815260200161255c604051806040016040528060008152602001600081525090565b81526020016060815260200160608152602001606081525090565b604051806040016040528061258a61259c565b815260200161259761259c565b905290565b60405180604001604052806002906020820280368337509192915050565b60ff811681146125c957600080fd5b50565b6000602082840312156125de57600080fd5b81356125e9816125ba565b9392505050565b60006060828403121561260257600080fd5b50919050565b6000806000838503608081121561261e57600080fd5b604081121561262c57600080fd5b5083925060408401356001600160401b038082111561264a57600080fd5b612656878388016125f0565b9350606086013591508082111561266c57600080fd5b508401610180818703121561268057600080fd5b809150509250925092565b803561ffff8116811461269d57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156126da576126da6126a2565b60405290565b604051606081016001600160401b03811182821017156126da576126da6126a2565b604051608081016001600160401b03811182821017156126da576126da6126a2565b60405161010081016001600160401b03811182821017156126da576126da6126a2565b60405160a081016001600160401b03811182821017156126da576126da6126a2565b604051601f8201601f191681016001600160401b0381118282101715612791576127916126a2565b604052919050565b6000604082840312156127ab57600080fd5b6127b36126b8565b905081356127c0816125ba565b815260208201356127d0816125ba565b602082015292915050565b600080606083850312156127ee57600080fd5b6127f78361268b565b91506128068460208501612799565b90509250929050565b60006020828403121561282157600080fd5b6125e98261268b565b60005b8381101561284557818101518382015260200161282d565b838111156107835750506000910152565b6000815180845261286e81602086016020860161282a565b601f01601f19169290920160200192915050565b6020815260006125e96020830184612856565b600080604083850312156128a857600080fd5b82356001600160401b03808211156128bf57600080fd5b90840190608082870312156128d357600080fd5b909250602084013590808211156128e957600080fd5b50830160a081860312156128fc57600080fd5b809150509250929050565b63ffffffff811681146125c957600080fd5b803561269d81612907565b60008082840360a081121561293857600080fd5b606081121561294657600080fd5b5061294f6126e0565b833561295a81612907565b8152602084013561296a81612907565b6020820152604084013561297d816125ba565b604082015291506128068460608501612799565b60008083601f8401126129a357600080fd5b5081356001600160401b038111156129ba57600080fd5b6020830191508360208260051b85010111156129d557600080fd5b9250929050565b600080600080604085870312156129f257600080fd5b84356001600160401b0380821115612a0957600080fd5b612a1588838901612991565b90965094506020870135915080821115612a2e57600080fd5b50612a3b87828801612991565b95989497509550505050565b60008060408385031215612a5a57600080fd5b82356001600160401b0380821115612a7157600080fd5b612a7d868387016125f0565b93506020850135915080821115612a9357600080fd5b50612aa0858286016125f0565b9150509250929050565b600060208284031215612abc57600080fd5b81356001600160401b03811115612ad257600080fd5b612ade848285016125f0565b949350505050565b600081518084526020808501945080840160005b83811015612b1c57815163ffffffff1687529582019590820190600101612afa565b509495945050505050565b600081518084526020808501945080840160005b83811015612b1c57612b5887835180518252602090810151910152565b6040969096019590820190600101612b3b565b8060005b6002811015610783578151845260209384019390910190600101612b6f565b612b99828251612b6b565b60208101516104f36040840182612b6b565b600081518084526020808501808196508360051b8101915082860160005b85811015612bf3578284038952612be1848351612ae6565b98850198935090840190600101612bc9565b5091979650505050505050565b60006101808251818552612c1682860182612ae6565b91505060208301518482036020860152612c308282612b27565b91505060408301518482036040860152612c4a8282612b27565b9150506060830151612c5f6060860182612b8e565b506080830151805160e08601526020015161010085015260a0830151848203610120860152612c8e8282612ae6565b91505060c0830151848203610140860152612ca98282612ae6565b91505060e0830151848203610160860152612cc48282612bab565b95945050505050565b6020815260006125e96020830184612c00565b600060208284031215612cf257600080fd5b815180151581146125e957600080fd5b600060408284031215612d1457600080fd5b612d1c6126b8565b90508135815260208201356127d081612907565b600060408284031215612d4257600080fd5b6125e98383612d02565b60006001600160401b03821115612d6557612d656126a2565b50601f01601f191660200190565b600082601f830112612d8457600080fd5b8135612d97612d9282612d4c565b612769565b818152846020838601011115612dac57600080fd5b816020850160208301376000918101602001919091529392505050565b600060408284031215612ddb57600080fd5b612de36126b8565b9050813581526020820135602082015292915050565b600082601f830112612e0a57600080fd5b612e126126b8565b806040840185811115612e2457600080fd5b845b81811015612e3e578035845260209384019301612e26565b509095945050505050565b600060808284031215612e5b57600080fd5b612e636126b8565b9050612e6f8383612df9565b81526127d08360408401612df9565b60006001600160401b03821115612e9757612e976126a2565b5060051b60200190565b600082601f830112612eb257600080fd5b81356020612ec2612d9283612e7e565b82815260059290921b84018101918181019086841115612ee157600080fd5b8286015b84811015612f05578035612ef881612907565b8352918301918301612ee5565b509695505050505050565b600060608236031215612f2257600080fd5b612f2a6126e0565b82356001600160401b0380821115612f4157600080fd5b81850191506040808336031215612f5757600080fd5b612f5f6126b8565b833583811115612f6e57600080fd5b8401368190036101c0811215612f8357600080fd5b612f8b612702565b612f948361268b565b815260208084013587811115612fa957600080fd5b612fb536828701612d73565b8383015250610160603f1984011215612fcd57600080fd5b612fd5612702565b9250612fe336878601612dc9565b8352612ff23660808601612e49565b81840152613004366101008601612e49565b8684015261018084013561301781612907565b8060608501525082868301526101a084013560608301528185528088013593508684111561304457600080fd5b61305036858a01612ea1565b81860152848952613062818c01612919565b90890152505050508581013592508183111561307d57600080fd5b61308936848801612d73565b9084015250909392505050565b600082601f8301126130a757600080fd5b813560206130b7612d9283612e7e565b82815260069290921b840181019181810190868411156130d657600080fd5b8286015b84811015612f05576130ec8882612dc9565b8352918301916040016130da565b600082601f83011261310b57600080fd5b8135602061311b612d9283612e7e565b82815260059290921b8401810191818101908684111561313a57600080fd5b8286015b84811015612f055780356001600160401b0381111561315d5760008081fd5b61316b8986838b0101612ea1565b84525091830191830161313e565b6000610180823603121561318c57600080fd5b613194612724565b82356001600160401b03808211156131ab57600080fd5b6131b736838701612ea1565b835260208501359150808211156131cd57600080fd5b6131d936838701613096565b602084015260408501359150808211156131f257600080fd5b6131fe36838701613096565b60408401526132103660608701612e49565b60608401526132223660e08701612dc9565b608084015261012085013591508082111561323c57600080fd5b61324836838701612ea1565b60a084015261014085013591508082111561326257600080fd5b61326e36838701612ea1565b60c084015261016085013591508082111561328857600080fd5b50613295368286016130fa565b60e08301525092915050565b6000602082840312156132b357600080fd5b81516125e9816125ba565b6000606082840312156132d057600080fd5b604051606081018181106001600160401b03821117156132f2576132f26126a2565b604052825161330081612907565b8152602083015161331081612907565b60208201526040830151613323816125ba565b60408201529392505050565b60006020828403121561334157600080fd5b81516001600160401b0381111561335757600080fd5b8201601f8101841361336857600080fd5b8051613376612d9282612d4c565b81815285602083850101111561338b57600080fd5b612cc482602083016020860161282a565b6000606082360312156133ae57600080fd5b6133b66126b8565b6133c03684612d02565b815260408301356001600160401b03808211156133dc57600080fd5b818501915061012082360312156133f257600080fd5b6133fa612747565b82358281111561340957600080fd5b61341536828601613096565b82525060208301358281111561342a57600080fd5b61343636828601613096565b6020830152506134493660408501612dc9565b604082015261345b3660808501612e49565b60608201526101008301358281111561347357600080fd5b61347f36828601612ea1565b608083015250602084015250909392505050565b6000604082840312156134a557600080fd5b6134ad6126b8565b82516134b8816125ba565b815260208301516134c8816125ba565b60208201529392505050565b8481526080602082015260006134ed6080830186612856565b63ffffffff85166040840152828103606084015261350b8185612c00565b979650505050505050565b600082601f83011261352757600080fd5b81516020613537612d9283612e7e565b82815260059290921b8401810191818101908684111561355657600080fd5b8286015b84811015612f055780516001600160601b038116811461357a5760008081fd5b835291830191830161355a565b6000806040838503121561359a57600080fd5b82516001600160401b03808211156135b157600080fd5b90840190604082870312156135c557600080fd5b6135cd6126b8565b8251828111156135dc57600080fd5b6135e888828601613516565b8252506020830151828111156135fd57600080fd5b61360988828601613516565b602083015250809450505050602083015190509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160601b038083168185168183048111821515161561367557613675613639565b02949350505050565b600081600019048311821515161561369857613698613639565b500290565b60006000198214156136b1576136b1613639565b5060010190565b600060ff821660ff8416808210156136d2576136d2613639565b90039392505050565b634e487b7160e01b600052601260045260246000fd5b600082613700576137006136db565b500490565b60008282101561371757613717613639565b500390565b600063ffffffff8083168185168183048111821515161561367557613675613639565b60006020828403121561375157600080fd5b81356125e981612907565b60006020828403121561376e57600080fd5b5051919050565b60008235605e1983360301811261378b57600080fd5b9190910192915050565b6000606082360312156137a757600080fd5b6137af6126e0565b82356001600160401b03808211156137c657600080fd5b8185019150608082360312156137db57600080fd5b6137e3612702565b823581526020830135828111156137f957600080fd5b61380536828601612d73565b60208301525060408301358281111561381d57600080fd5b61382936828601612d73565b6040830152506060830135925061383f83612907565b8260608201528084525050506020830135602082015261386160408401612919565b604082015292915050565b6020808252606090820181905260008051602061413183398151915260408301527f72696679426c6f62466f7251756f72756d733a2062617463684d657461646174908201527f6120646f6573206e6f74206d617463682073746f726564206d65746164617461608082015260a00190565b6000808335601e198436030181126138f557600080fd5b8301803591506001600160401b0382111561390f57600080fd5b6020019150368190038213156129d557600080fd5b60008235607e1983360301811261378b57600080fd5b6000608080833603121561394d57600080fd5b6139556126e0565b61395f3685612dc9565b815260408085013561397081612907565b6020818185015260609150818701356001600160401b0381111561399357600080fd5b870136601f8201126139a457600080fd5b80356139b2612d9282612e7e565b81815260079190911b820183019083810190368311156139d157600080fd5b928401925b82841015613a45578884360312156139ee5760008081fd5b6139f6612702565b8435613a01816125ba565b815284860135613a10816125ba565b8187015284880135613a21816125ba565b8189015284870135613a3281612907565b81880152825292880192908401906139d6565b958701959095525093979650505050505050565b6020808252604e9082015260008051602061413183398151915260408201527f72696679426c6f62466f7251756f72756d733a20696e636c7573696f6e20707260608201526d1bdbd9881a5cc81a5b9d985b1a5960921b608082015260a00190565b6000808335601e19843603018112613ad257600080fd5b8301803591506001600160401b03821115613aec57600080fd5b6020019150600781901b36038213156129d557600080fd5b6020808252604f9082015260008051602061413183398151915260408201527f72696679426c6f62466f7251756f72756d733a2071756f72756d4e756d62657260608201526e040c8decae640dcdee840dac2e8c6d608b1b608082015260a00190565b602080825260579082015260008051602061413183398151915260408201527f72696679426c6f62466f7251756f72756d733a207468726573686f6c6420706560608201527f7263656e746167657320617265206e6f742076616c6964000000000000000000608082015260a00190565b6020808252605e9082015260008051602061413183398151915260408201527f72696679426c6f62466f7251756f72756d733a20636f6e6669726d6174696f6e60608201527f5468726573686f6c6450657263656e74616765206973206e6f74206d65740000608082015260a00190565b6020808252606e9082015260008051602061413183398151915260408201527f72696679426c6f62466f7251756f72756d733a2072657175697265642071756f60608201527f72756d7320617265206e6f74206120737562736574206f662074686520636f6e60808201526d6669726d65642071756f72756d7360901b60a082015260c00190565b60008235609e1983360301811261378b57600080fd5b60008351613cf981846020880161282a565b60f89390931b6001600160f81b0319169190920190815260010192915050565b60018060a01b03851681526000602063ffffffff86168184015260806040840152613d476080840186612856565b838103606085015284518082528286019183019060005b81811015613d7a57835183529284019291840191600101613d5e565b50909998505050505050505050565b600082601f830112613d9a57600080fd5b81516020613daa612d9283612e7e565b82815260059290921b84018101918181019086841115613dc957600080fd5b8286015b84811015612f05578051613de081612907565b8352918301918301613dcd565b600082601f830112613dfe57600080fd5b81516020613e0e612d9283612e7e565b82815260059290921b84018101918181019086841115613e2d57600080fd5b8286015b84811015612f055780516001600160401b03811115613e505760008081fd5b613e5e8986838b0101613d89565b845250918301918301613e31565b600060208284031215613e7e57600080fd5b81516001600160401b0380821115613e9557600080fd5b9083019060808286031215613ea957600080fd5b613eb1612702565b825182811115613ec057600080fd5b613ecc87828601613d89565b825250602083015182811115613ee157600080fd5b613eed87828601613d89565b602083015250604083015182811115613f0557600080fd5b613f1187828601613d89565b604083015250606083015182811115613f2957600080fd5b613f3587828601613ded565b60608301525095945050505050565b828152604060208201526000612ade6040830184612ae6565b600060208284031215613f6f57600080fd5b81516001600160a01b03811681146125e957600080fd5b60208152815160208201526000602083015160806040840152613fac60a0840182612856565b90506040840151601f19848303016060850152613fc98282612856565b91505063ffffffff60608501511660808401528091505092915050565b60208082528251805183830152810151604083015260009060a0830181850151606063ffffffff808316828801526040925082880151608080818a015285825180885260c08b0191508884019750600093505b8084101561407c578751805160ff90811684528a82015181168b850152888201511688840152860151851686830152968801966001939093019290820190614039565b509a9950505050505050505050565b60006101a061ffff861683528060208401526140a981840186612856565b84518051604086015260200151606085015291506140c49050565b60208301516140d66080840182612b8e565b5060408301516140ea610100840182612b8e565b5063ffffffff606084015116610180830152949350505050565b600082614113576141136136db565b500690565b6000821982111561412b5761412b613639565b50019056fe456967656e4441426c6f62566572696669636174696f6e5574696c732e5f7665a2646970667358221220f2d8d8dcde88fd09e446388517640e669d1cb43d60471dc7bf149a871497319764736f6c634300080c0033", } // ContractEigenDABlobVerifierABI is the input ABI used to generate the binding from. @@ -546,9 +545,9 @@ func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) Ge return _ContractEigenDABlobVerifier.Contract.GetIsQuorumRequired(&_ContractEigenDABlobVerifier.CallOpts, quorumNumber) } -// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0x2e29ee19. +// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0xf25de3f8. // -// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[],uint32)) signedBatch) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) +// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[])) signedBatch) 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) (NonSignerStakesAndSignature, error) { var out []interface{} err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "getNonSignerStakesAndSignature", signedBatch) @@ -563,16 +562,16 @@ func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) GetNonSig } -// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0x2e29ee19. +// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0xf25de3f8. // -// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[],uint32)) signedBatch) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) +// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[])) signedBatch) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) GetNonSignerStakesAndSignature(signedBatch SignedBatch) (NonSignerStakesAndSignature, error) { return _ContractEigenDABlobVerifier.Contract.GetNonSignerStakesAndSignature(&_ContractEigenDABlobVerifier.CallOpts, signedBatch) } -// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0x2e29ee19. +// GetNonSignerStakesAndSignature is a free data retrieval call binding the contract method 0xf25de3f8. // -// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[],uint32)) signedBatch) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) +// Solidity: function getNonSignerStakesAndSignature(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[])) signedBatch) view returns((uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][])) func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) GetNonSignerStakesAndSignature(signedBatch SignedBatch) (NonSignerStakesAndSignature, error) { return _ContractEigenDABlobVerifier.Contract.GetNonSignerStakesAndSignature(&_ContractEigenDABlobVerifier.CallOpts, signedBatch) } @@ -910,9 +909,9 @@ func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) Ve return _ContractEigenDABlobVerifier.Contract.VerifyBlobV2(&_ContractEigenDABlobVerifier.CallOpts, batchHeader, blobVerificationProof, nonSignerStakesAndSignature) } -// VerifyBlobV2FromSignedBatch is a free data retrieval call binding the contract method 0xcc392c25. +// VerifyBlobV2FromSignedBatch is a free data retrieval call binding the contract method 0xca7fd71d. // -// Solidity: function verifyBlobV2FromSignedBatch(((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),uint32[]),uint32,bytes) blobVerificationProof) view returns() +// Solidity: function verifyBlobV2FromSignedBatch(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[])) signedBatch, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32[]),uint32,bytes) blobVerificationProof) view returns() func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlobV2FromSignedBatch(opts *bind.CallOpts, signedBatch SignedBatch, blobVerificationProof BlobVerificationProofV2) error { var out []interface{} err := _ContractEigenDABlobVerifier.contract.Call(opts, &out, "verifyBlobV2FromSignedBatch", signedBatch, blobVerificationProof) @@ -925,16 +924,16 @@ func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCaller) VerifyBlo } -// VerifyBlobV2FromSignedBatch is a free data retrieval call binding the contract method 0xcc392c25. +// VerifyBlobV2FromSignedBatch is a free data retrieval call binding the contract method 0xca7fd71d. // -// Solidity: function verifyBlobV2FromSignedBatch(((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),uint32[]),uint32,bytes) blobVerificationProof) view returns() +// Solidity: function verifyBlobV2FromSignedBatch(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[])) signedBatch, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32[]),uint32,bytes) blobVerificationProof) view returns() func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierSession) VerifyBlobV2FromSignedBatch(signedBatch SignedBatch, blobVerificationProof BlobVerificationProofV2) error { return _ContractEigenDABlobVerifier.Contract.VerifyBlobV2FromSignedBatch(&_ContractEigenDABlobVerifier.CallOpts, signedBatch, blobVerificationProof) } -// VerifyBlobV2FromSignedBatch is a free data retrieval call binding the contract method 0xcc392c25. +// VerifyBlobV2FromSignedBatch is a free data retrieval call binding the contract method 0xca7fd71d. // -// Solidity: function verifyBlobV2FromSignedBatch(((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),uint32[]),uint32,bytes) blobVerificationProof) view returns() +// Solidity: function verifyBlobV2FromSignedBatch(((bytes32,uint32),((uint256,uint256)[],(uint256,uint256)[],(uint256,uint256),(uint256[2],uint256[2]),uint32[])) signedBatch, (((uint16,bytes,((uint256,uint256),(uint256[2],uint256[2]),(uint256[2],uint256[2]),uint32),bytes32),uint32[]),uint32,bytes) blobVerificationProof) view returns() func (_ContractEigenDABlobVerifier *ContractEigenDABlobVerifierCallerSession) VerifyBlobV2FromSignedBatch(signedBatch SignedBatch, blobVerificationProof BlobVerificationProofV2) error { return _ContractEigenDABlobVerifier.Contract.VerifyBlobV2FromSignedBatch(&_ContractEigenDABlobVerifier.CallOpts, signedBatch, blobVerificationProof) } diff --git a/contracts/bindings/EigenDARelayRegistry/binding.go b/contracts/bindings/EigenDARelayRegistry/binding.go index a8381aa4df..c4b66a7aae 100644 --- a/contracts/bindings/EigenDARelayRegistry/binding.go +++ b/contracts/bindings/EigenDARelayRegistry/binding.go @@ -38,7 +38,7 @@ type RelayInfo struct { // ContractEigenDARelayRegistryMetaData contains all meta data concerning the ContractEigenDARelayRegistry contract. var ContractEigenDARelayRegistryMetaData = &bind.MetaData{ ABI: "[{\"type\":\"constructor\",\"inputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"addRelayInfo\",\"inputs\":[{\"name\":\"relayInfo\",\"type\":\"tuple\",\"internalType\":\"structRelayInfo\",\"components\":[{\"name\":\"relayAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"relayURL\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"_initialOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"nextRelayKey\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"relayKeyToAddress\",\"inputs\":[{\"name\":\"key\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"relayKeyToInfo\",\"inputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"relayAddress\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"relayURL\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"relayKeyToUrl\",\"inputs\":[{\"name\":\"key\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"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\":\"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\":\"RelayAdded\",\"inputs\":[{\"name\":\"relay\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"key\",\"type\":\"uint32\",\"indexed\":true,\"internalType\":\"uint32\"},{\"name\":\"relayURL\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false}]", - Bin: "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b610998806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063841f6a2e11610066578063841f6a2e146100ff5780638da5cb5b14610120578063b5a872da14610145578063c4d66de814610174578063f2fde38b1461018757600080fd5b806315ddaa5d146100985780632fc35013146100c2578063631eabb8146100d5578063715018a6146100f5575b600080fd5b6066546100a89063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a86100d0366004610753565b61019a565b6100e86100e3366004610821565b610287565b6040516100b9919061089b565b6100fd610333565b005b61011261010d366004610821565b610347565b6040516100b99291906108ae565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016100b9565b61012d610153366004610821565b63ffffffff166000908152606560205260409020546001600160a01b031690565b6100fd6101823660046108da565b6103f6565b6100fd6101953660046108da565b61050e565b60006101a4610587565b60665463ffffffff166000908152606560209081526040909120835181546001600160a01b0319166001600160a01b0390911617815583820151805185936101f3926001850192910190610633565b50506066548351602085015160405163ffffffff90931693506001600160a01b03909116917f01c289e409d41a712a615bf286126433da55c193bbe64fc8e77af5f1ff13db99916102439161089b565b60405180910390a36066805463ffffffff16906000610261836108f5565b91906101000a81548163ffffffff021916908363ffffffff16021790555090505b919050565b63ffffffff811660009081526065602052604090206001018054606091906102ae90610927565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610927565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b50505050509050919050565b61033b610587565b61034560006105e1565b565b606560205260009081526040902080546001820180546001600160a01b03909216929161037390610927565b80601f016020809104026020016040519081016040528092919081815260200182805461039f90610927565b80156103ec5780601f106103c1576101008083540402835291602001916103ec565b820191906000526020600020905b8154815290600101906020018083116103cf57829003601f168201915b5050505050905082565b600054610100900460ff16158080156104165750600054600160ff909116105b806104305750303b158015610430575060005460ff166001145b6104985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bb576000805461ff0019166101001790555b6104c4826105e1565b801561050a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610516610587565b6001600160a01b03811661057b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161048f565b610584816105e1565b50565b6033546001600160a01b031633146103455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161048f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805461063f90610927565b90600052602060002090601f01602090048101928261066157600085556106a7565b82601f1061067a57805160ff19168380011785556106a7565b828001600101855582156106a7579182015b828111156106a757825182559160200191906001019061068c565b506106b39291506106b7565b5090565b5b808211156106b357600081556001016106b8565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610705576107056106cc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610734576107346106cc565b604052919050565b80356001600160a01b038116811461028257600080fd5b6000602080838503121561076657600080fd5b823567ffffffffffffffff8082111561077e57600080fd5b908401906040828703121561079257600080fd5b61079a6106e2565b6107a38361073c565b815283830135828111156107b657600080fd5b80840193505086601f8401126107cb57600080fd5b8235828111156107dd576107dd6106cc565b6107ef601f8201601f1916860161070b565b9250808352878582860101111561080557600080fd5b8085850186850137600090830185015292830152509392505050565b60006020828403121561083357600080fd5b813563ffffffff8116811461084757600080fd5b9392505050565b6000815180845260005b8181101561087457602081850181015186830182015201610858565b81811115610886576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610847602083018461084e565b6001600160a01b03831681526040602082018190526000906108d29083018461084e565b949350505050565b6000602082840312156108ec57600080fd5b6108478261073c565b600063ffffffff8083168181141561091d57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b600181811c9082168061093b57607f821691505b6020821081141561095c57634e487b7160e01b600052602260045260246000fd5b5091905056fea264697066735822122081203e3af352965cbea427d63c743d62ee05fe875c8995e6090ac2efa25ca03a64736f6c634300080c0033", + Bin: "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b610998806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063841f6a2e11610066578063841f6a2e146100ff5780638da5cb5b14610120578063b5a872da14610145578063c4d66de814610174578063f2fde38b1461018757600080fd5b806315ddaa5d146100985780632fc35013146100c2578063631eabb8146100d5578063715018a6146100f5575b600080fd5b6066546100a89063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a86100d0366004610753565b61019a565b6100e86100e3366004610821565b610287565b6040516100b9919061089b565b6100fd610333565b005b61011261010d366004610821565b610347565b6040516100b99291906108ae565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016100b9565b61012d610153366004610821565b63ffffffff166000908152606560205260409020546001600160a01b031690565b6100fd6101823660046108da565b6103f6565b6100fd6101953660046108da565b61050e565b60006101a4610587565b60665463ffffffff166000908152606560209081526040909120835181546001600160a01b0319166001600160a01b0390911617815583820151805185936101f3926001850192910190610633565b50506066548351602085015160405163ffffffff90931693506001600160a01b03909116917f01c289e409d41a712a615bf286126433da55c193bbe64fc8e77af5f1ff13db99916102439161089b565b60405180910390a36066805463ffffffff16906000610261836108f5565b91906101000a81548163ffffffff021916908363ffffffff16021790555090505b919050565b63ffffffff811660009081526065602052604090206001018054606091906102ae90610927565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610927565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b50505050509050919050565b61033b610587565b61034560006105e1565b565b606560205260009081526040902080546001820180546001600160a01b03909216929161037390610927565b80601f016020809104026020016040519081016040528092919081815260200182805461039f90610927565b80156103ec5780601f106103c1576101008083540402835291602001916103ec565b820191906000526020600020905b8154815290600101906020018083116103cf57829003601f168201915b5050505050905082565b600054610100900460ff16158080156104165750600054600160ff909116105b806104305750303b158015610430575060005460ff166001145b6104985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bb576000805461ff0019166101001790555b6104c4826105e1565b801561050a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610516610587565b6001600160a01b03811661057b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161048f565b610584816105e1565b50565b6033546001600160a01b031633146103455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161048f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805461063f90610927565b90600052602060002090601f01602090048101928261066157600085556106a7565b82601f1061067a57805160ff19168380011785556106a7565b828001600101855582156106a7579182015b828111156106a757825182559160200191906001019061068c565b506106b39291506106b7565b5090565b5b808211156106b357600081556001016106b8565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610705576107056106cc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610734576107346106cc565b604052919050565b80356001600160a01b038116811461028257600080fd5b6000602080838503121561076657600080fd5b823567ffffffffffffffff8082111561077e57600080fd5b908401906040828703121561079257600080fd5b61079a6106e2565b6107a38361073c565b815283830135828111156107b657600080fd5b80840193505086601f8401126107cb57600080fd5b8235828111156107dd576107dd6106cc565b6107ef601f8201601f1916860161070b565b9250808352878582860101111561080557600080fd5b8085850186850137600090830185015292830152509392505050565b60006020828403121561083357600080fd5b813563ffffffff8116811461084757600080fd5b9392505050565b6000815180845260005b8181101561087457602081850181015186830182015201610858565b81811115610886576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610847602083018461084e565b6001600160a01b03831681526040602082018190526000906108d29083018461084e565b949350505050565b6000602082840312156108ec57600080fd5b6108478261073c565b600063ffffffff8083168181141561091d57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b600181811c9082168061093b57607f821691505b6020821081141561095c57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220989b58f81a8a48ad639b6c39c5f4b5b006e5fdc60a8c434666caec684f7d2b8964736f6c634300080c0033", } // ContractEigenDARelayRegistryABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/EigenDAServiceManager/binding.go b/contracts/bindings/EigenDAServiceManager/binding.go index 73c59a2122..73d7de782f 100644 --- a/contracts/bindings/EigenDAServiceManager/binding.go +++ b/contracts/bindings/EigenDAServiceManager/binding.go @@ -105,7 +105,7 @@ type VersionedBlobParams struct { // 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\"},{\"name\":\"__paymentVault\",\"type\":\"address\",\"internalType\":\"contractIPaymentVault\"}],\"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\":\"paymentVault\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIPaymentVault\"}],\"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\":\"DefaultSecurityThresholdsV2Updated\",\"inputs\":[{\"name\":\"previousDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"newDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"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\":\"QuorumAdversaryThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumConfirmationThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumNumbersRequiredUpdated\",\"inputs\":[{\"name\":\"previousQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"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},{\"type\":\"event\",\"name\":\"VersionedBlobParamsAdded\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"indexed\":true,\"internalType\":\"uint16\"},{\"name\":\"versionedBlobParams\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false}]", - Bin: "0x6101e06040523480156200001257600080fd5b5060405162005fdc38038062005fdc8339810160408190526200003591620002fd565b6001600160a01b0380841660805280831660a05280821660c05280881660e052808716610100528086166101205284166101405284878782876200007862000222565b50505050806001600160a01b0316610160816001600160a01b031681525050806001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fc9190620003a8565b6001600160a01b0316610180816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017b9190620003a8565b6001600160a01b03166101a0816001600160a01b031681525050610180516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd9190620003a8565b6001600160a01b03166101c052506200021562000222565b50505050505050620003cf565b603254610100900460ff16156200028f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff9081161015620002e2576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620002fa57600080fd5b50565b600080600080600080600060e0888a0312156200031957600080fd5b87516200032681620002e4565b60208901519097506200033981620002e4565b60408901519096506200034c81620002e4565b60608901519095506200035f81620002e4565b60808901519094506200037281620002e4565b60a08901519093506200038581620002e4565b60c08901519092506200039881620002e4565b8091505092959891949750929550565b600060208284031215620003bb57600080fd5b8151620003c881620002e4565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c051615aa662000536600039600081816106430152611aac01526000818161044f0152611c8e0152600081816104a101528181611e6401526120260152600081816104ee015281816111c8015281816117770152818161190f0152611b49015260008181610ee00152818161103b015281816110d201528181612de401528181612f670152613006015260008181610d0b01528181610d9a01528181610e1a01528181612a8801528181612b4c01528181612d220152612ec2015260008181613517015281816135d301526136bf0152600081816104c501528181612adc01528181612ba80152612c27015260006106ad0152600061053e01526000818161073e015281816107b401528181610a4301528181610c7b015281816129f401528181612c6001528181612cc00152818161311c01526131690152615aa66000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c80637794965a11610182578063e481af9d116100e9578063ef635529116100a2578063f8c668141161007c578063f8c6681414610739578063fabc1cbc14610760578063fc299dee14610773578063fce36c7d1461078657600080fd5b8063ef635529146106ea578063f122098314610713578063f2fde38b1461072657600080fd5b8063e481af9d1461066d578063eaefd27d14610675578063eccbbfc914610688578063ed3916f7146106a8578063ee6c3bcf146106cf578063ef024458146106e257600080fd5b8063a5b7890a1161013b578063a5b7890a146105f3578063a98fb35514610616578063b98d090814610629578063bafa910714610636578063df5cf7231461063e578063e15234ff1461066557600080fd5b80637794965a146105815780638687feae14610594578063886f1195146105a95780638da5cb5b146105bc5780639926ee7d146105cd578063a364f4da146105e057600080fd5b80635c975abb116102265780636d14a987116101df5780636d14a987146104e95780636efb463614610510578063715018a614610531578063722764431461053957806372d18e8d14610560578063775bbcb51461056e57600080fd5b80635c975abb146104385780635df459461461044a5780635e033476146104895780635e8b3f2d14610493578063683048351461049c5780636b3aa72e146104c357600080fd5b806333cfb7b71161027857806333cfb7b7146103a25780633bc28c8c146103c2578063416c7e5e146103d55780634972134a146103e8578063595c6a671461040d5780635ac86ab71461041557600080fd5b8063048886d2146102c057806310d67a2f146102e8578063136439dd146102fd5780631429c7c214610310578063171f1d5b146103355780632ecfe72b1461035f575b600080fd5b6102d36102ce3660046146f6565b610799565b60405190151581526020015b60405180910390f35b6102fb6102f6366004614728565b61082d565b005b6102fb61030b366004614745565b6108e9565b61032361031e3660046146f6565b610a28565b60405160ff90911681526020016102df565b6103486103433660046148af565b610ab7565b6040805192151583529015156020830152016102df565b61037261036d366004614900565b610c41565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff16908201526060016102df565b6103b56103b0366004614728565b610ce6565b6040516102df919061492f565b6102fb6103d0366004614728565b6111b5565b6102fb6103e336600461498a565b6111c6565b6000546103f89063ffffffff1681565b60405163ffffffff90911681526020016102df565b6102fb6112fd565b6102d36104233660046146f6565b60fc54600160ff9092169190911b9081161490565b60fc545b6040519081526020016102df565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102df565b6103f8620189c081565b6103f861012c81565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610471565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b61052361051e366004614c68565b6113c4565b6040516102df929190614d5b565b6102fb6122db565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b60005463ffffffff166103f8565b6102fb61057c366004614da4565b6122ef565b6102fb61058f366004614e7f565b612458565b61059c6129f0565b6040516102df9190614f46565b60fb54610471906001600160a01b031681565b6065546001600160a01b0316610471565b6102fb6105db366004614fd9565b612a7d565b6102fb6105ee366004614728565b612b41565b6102d3610601366004614728565b60026020526000908152604090205460ff1681565b6102fb610624366004615084565b612c08565b60c9546102d39060ff1681565b61059c612c5c565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b61059c612cbc565b6103b5612d1c565b6103f86106833660046150d4565b6130e5565b61043c6106963660046150d4565b60016020526000908152604090205481565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b6103236106dd3660046146f6565b613101565b61043c606481565b6106f2613153565b60408051825160ff90811682526020938401511692810192909252016102df565b6102fb610721366004614728565b6131e8565b6102fb610734366004614728565b6131f9565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b6102fb61076e366004614745565b61326f565b609754610471906001600160a01b031681565b6102fb6107943660046150f1565b6133cb565b604051630244436960e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063048886d290602401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190615165565b92915050565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190615182565b6001600160a01b0316336001600160a01b0316146108dd5760405162461bcd60e51b81526004016108d49061519f565b60405180910390fd5b6108e6816136f6565b50565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190615165565b6109715760405162461bcd60e51b81526004016108d4906151e9565b60fc54818116146109ea5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c697479000000000000000060648201526084016108d4565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b604051630a14e3e160e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631429c7c2906024015b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190615231565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110610aff57610aff61524e565b60200201518951600160200201518a60200151600060028110610b2457610b2461524e565b60200201518b60200151600160028110610b4057610b4061524e565b602090810291909101518c518d830151604051610b9d9a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c610bc09190615264565b9050610c33610bd9610bd288846137ed565b8690613884565b610be1613918565b610c29610c1a85610c14604080518082018252600080825260209182015281518083019092526001825260029082015290565b906137ed565b610c238c6139d8565b90613884565b886201d4c0613a68565b909890975095505050505050565b60408051606081018252600080825260208201819052818301529051632ecfe72b60e01b815261ffff831660048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ecfe72b90602401606060405180830381865afa158015610cc2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190615286565b6040516309aa152760e11b81526001600160a01b0382811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906313542a4e90602401602060405180830381865afa158015610d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7691906152f7565b60405163871ef04960e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063871ef04990602401602060405180830381865afa158015610de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e059190615310565b90506001600160c01b0381161580610e9f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9a9190615231565b60ff16155b15610ebb57505060408051600081526020810190915292915050565b6000610ecf826001600160c01b0316613c8c565b90506000805b8251811015610fa5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ca5a5f5848381518110610f1f57610f1f61524e565b01602001516040516001600160e01b031960e084901b16815260f89190911c6004820152602401602060405180830381865afa158015610f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8791906152f7565b610f91908361534f565b915080610f9d81615367565b915050610ed5565b506000816001600160401b03811115610fc057610fc061475e565b604051908082528060200260200182016040528015610fe9578160200160208202803683370190505b5090506000805b84518110156111a857600085828151811061100d5761100d61524e565b0160200151604051633ca5a5f560e01b815260f89190911c6004820181905291506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633ca5a5f590602401602060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a691906152f7565b905060005b81811015611192576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190615397565b6000015186868151811061115a5761115a61524e565b6001600160a01b03909216602092830291909101909101528461117c81615367565b955050808061118a90615367565b9150506110ab565b50505080806111a090615367565b915050610ff0565b5090979650505050505050565b6111bd613d4e565b6108e681613da8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112489190615182565b6001600160a01b0316336001600160a01b0316146112f45760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a4016108d4565b6108e681613e11565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190615165565b6113855760405162461bcd60e51b81526004016108d4906151e9565b60001960fc81905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b604080518082019091526060808252602082015260008461143b5760405162461bcd60e51b81526020600482015260376024820152600080516020615a5183398151915260448201527f7265733a20656d7074792071756f72756d20696e70757400000000000000000060648201526084016108d4565b60408301515185148015611453575060a08301515185145b8015611463575060c08301515185145b8015611473575060e08301515185145b6114dd5760405162461bcd60e51b81526020600482015260416024820152600080516020615a5183398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a4016108d4565b825151602084015151146115555760405162461bcd60e51b815260206004820152604460248201819052600080516020615a51833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a4016108d4565b4363ffffffff168463ffffffff16106115c45760405162461bcd60e51b815260206004820152603c6024820152600080516020615a5183398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b0000000060648201526084016108d4565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b038111156116055761160561475e565b60405190808252806020026020018201604052801561162e578160200160208202803683370190505b506020820152866001600160401b0381111561164c5761164c61475e565b604051908082528060200260200182016040528015611675578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b038111156116a9576116a961475e565b6040519080825280602002602001820160405280156116d2578160200160208202803683370190505b5081526020860151516001600160401b038111156116f2576116f261475e565b60405190808252806020026020018201604052801561171b578160200160208202803683370190505b50816020018190525060006117ed8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa1580156117c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e89190615231565b613e59565b905060005b876020015151811015611a8857611837886020015182815181106118185761181861524e565b6020026020010151805160009081526020918201519091526040902090565b8360200151828151811061184d5761184d61524e565b6020908102919091010152801561190d57602083015161186e6001836153d8565b8151811061187e5761187e61524e565b602002602001015160001c8360200151828151811061189f5761189f61524e565b602002602001015160001c1161190d576040805162461bcd60e51b8152602060048201526024810191909152600080516020615a5183398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f7274656460648201526084016108d4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec6351846020015183815181106119525761195261524e565b60200260200101518b8b6000015185815181106119715761197161524e565b60200260200101516040518463ffffffff1660e01b81526004016119ae9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156119cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ef9190615310565b6001600160c01b031683600001518281518110611a0e57611a0e61524e565b602002602001018181525050611a74610bd2611a488486600001518581518110611a3a57611a3a61524e565b602002602001015116613eea565b8a602001518481518110611a5e57611a5e61524e565b6020026020010151613f1590919063ffffffff16565b945080611a8081615367565b9150506117f2565b5050611a9383613ff9565b60c95490935060ff16600081611aaa576000611b2c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2c91906152f7565b905060005b8a8110156121aa578215611c8c578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110611b8857611b8861524e565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015611bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bec91906152f7565b611bf6919061534f565b11611c8c5760405162461bcd60e51b81526020600482015260666024820152600080516020615a5183398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c4016108d4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d84818110611ccd57611ccd61524e565b9050013560f81c60f81b60f81c8c8c60a001518581518110611cf157611cf161524e565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7191906153ef565b6001600160401b031916611d948a6040015183815181106118185761181861524e565b67ffffffffffffffff191614611e305760405162461bcd60e51b81526020600482015260616024820152600080516020615a5183398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c4016108d4565b611e6089604001518281518110611e4957611e4961524e565b60200260200101518761388490919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d84818110611ea357611ea361524e565b9050013560f81c60f81b60f81c8c8c60c001518581518110611ec757611ec761524e565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f47919061541a565b85602001518281518110611f5d57611f5d61524e565b6001600160601b03909216602092830291909101820152850151805182908110611f8957611f8961524e565b602002602001015185600001518281518110611fa757611fa761524e565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a60200151518110156121955761201f86600001518281518110611ff157611ff161524e565b60200260200101518f8f8681811061200b5761200b61524e565b600192013560f81c9290921c811614919050565b15612183577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f868181106120655761206561524e565b9050013560f81c60f81b60f81c8e896020015185815181106120895761208961524e565b60200260200101518f60e0015188815181106120a7576120a761524e565b602002602001015187815181106120c0576120c061524e565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612148919061541a565b875180518590811061215c5761215c61524e565b602002602001018181516121709190615437565b6001600160601b03169052506001909101905b8061218d81615367565b915050611fcb565b505080806121a290615367565b915050611b31565b5050506000806121c48c868a606001518b60800151610ab7565b91509150816122355760405162461bcd60e51b81526020600482015260436024820152600080516020615a5183398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a4016108d4565b806122965760405162461bcd60e51b81526020600482015260396024820152600080516020615a5183398151915260448201527f7265733a207369676e617475726520697320696e76616c69640000000000000060648201526084016108d4565b505060008782602001516040516020016122b192919061545f565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6122e3613d4e565b6122ed6000614094565b565b603254610100900460ff161580801561230f5750603254600160ff909116105b806123295750303b158015612329575060325460ff166001145b61238c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108d4565b6032805460ff1916600117905580156123af576032805461ff0019166101001790555b6123b986866140e6565b6123c284614094565b6123cb82613da8565b60005b8351811015612409576123f98482815181106123ec576123ec61524e565b60200260200101516141d0565b61240281615367565b90506123ce565b508015612450576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b60fc54600090600190811614156124b15760405162461bcd60e51b815260206004820152601960248201527f5061757361626c653a20696e646578206973207061757365640000000000000060448201526064016108d4565b3360009081526002602052604090205460ff166125255760405162461bcd60e51b815260206004820152602c60248201527f6f6e6c794261746368436f6e6669726d65723a206e6f742066726f6d2062617460448201526b31b41031b7b73334b936b2b960a11b60648201526084016108d4565b3233146125a25760405162461bcd60e51b81526020600482015260516024820152600080516020615a3183398151915260448201527f63683a2068656164657220616e64206e6f6e7369676e65722064617461206d75606482015270737420626520696e2063616c6c6461746160781b608482015260a4016108d4565b436125b360808501606086016150d4565b63ffffffff16106126325760405162461bcd60e51b815260206004820152604f6024820152600080516020615a3183398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d6260648201526e657220697320696e2066757475726560881b608482015260a4016108d4565b63ffffffff431661012c61264c60808601606087016150d4565b61265691906154a7565b63ffffffff1610156126dc5760405162461bcd60e51b81526020600482015260556024820152600080516020615a3183398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d62606482015274195c881a5cc81d1bdbc819985c881a5b881c185cdd605a1b608482015260a4016108d4565b6126e960408401846154cf565b90506126f860208501856154cf565b9050146127905760405162461bcd60e51b81526020600482015260666024820152600080516020615a3183398151915260448201527f63683a2071756f72756d4e756d6265727320616e64207369676e65645374616b60648201527f65466f7251756f72756d73206d757374206265206f66207468652073616d65206084820152650d8cadccee8d60d31b60a482015260c4016108d4565b60006127a361279e8561551c565b614233565b90506000806127cf836127b960208901896154cf565b6127c960808b0160608c016150d4565b896113c4565b9150915060005b6127e360408801886154cf565b9050811015612925576127f960408801886154cf565b828181106128095761280961524e565b9050013560f81c60f81b60f81c60ff168360200151828151811061282f5761282f61524e565b602002602001015161284191906155be565b6001600160601b03166064846000015183815181106128625761286261524e565b60200260200101516001600160601b031661287d91906155ed565b10156129135760405162461bcd60e51b815260206004820152606460248201819052600080516020615a3183398151915260448301527f63683a207369676e61746f7269657320646f206e6f74206f776e206174206c65908201527f617374207468726573686f6c642070657263656e74616765206f6620612071756084820152636f72756d60e01b60a482015260c4016108d4565b8061291d81615367565b9150506127d6565b506000805463ffffffff169061293a886142ae565b6040805160208082018490528183018790524360e01b6001600160e01b0319166060830152825160448184030181526064830180855281519183019190912063ffffffff881660008181526001909452928590205552905191925086917fc75557c4ad49697e231449688be13ef11cb6be8ed0d18819d8dde074a5a16f8a9181900360840190a26129cc8260016154a7565b6000805463ffffffff191663ffffffff929092169190911790555050505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a50573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a78919081019061560c565b905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612ac55760405162461bcd60e51b81526004016108d490615682565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90612b1390859085906004016156fa565b600060405180830381600087803b158015612b2d57600080fd5b505af1158015612450573d6000803e3d6000fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612b895760405162461bcd60e51b81526004016108d490615682565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b600060405180830381600087803b158015612bed57600080fd5b505af1158015612c01573d6000803e3d6000fd5b5050505050565b612c10613d4e565b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb35590612bd3908490600401614f46565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a50573d6000803e3d6000fd5b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a50573d6000803e3d6000fd5b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da29190615231565b60ff16905080612dc057505060408051600081526020810190915290565b6000805b82811015612e7557604051633ca5a5f560e01b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5791906152f7565b612e61908361534f565b915080612e6d81615367565b915050612dc4565b506000816001600160401b03811115612e9057612e9061475e565b604051908082528060200260200182016040528015612eb9578160200160208202803683370190505b5090506000805b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f429190615231565b60ff168110156130db57604051633ca5a5f560e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fda91906152f7565b905060005b818110156130c6576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015613054573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130789190615397565b6000015185858151811061308e5761308e61524e565b6001600160a01b0390921660209283029190910190910152836130b081615367565b94505080806130be90615367565b915050612fdf565b505080806130d390615367565b915050612ec0565b5090949350505050565b600061012c6130f7620189c0846154a7565b61082791906154a7565b60405163ee6c3bcf60e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ee6c3bcf90602401610a76565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef6355296040518163ffffffff1660e01b81526004016040805180830381865afa1580156131c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a789190615745565b6131f0613d4e565b6108e6816141d0565b613201613d4e565b6001600160a01b0381166132665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108d4565b6108e681614094565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e69190615182565b6001600160a01b0316336001600160a01b0316146133165760405162461bcd60e51b81526004016108d49061519f565b60fc5419811960fc541916146133945760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c697479000000000000000060648201526084016108d4565b60fc81905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610a1d565b6133d36142c1565b60005b818110156136a7578282828181106133f0576133f061524e565b9050602002810190613402919061577a565b613413906040810190602001614728565b6001600160a01b03166323b872dd33308686868181106134355761343561524e565b9050602002810190613447919061577a565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303816000875af115801561349e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134c29190615165565b5060008383838181106134d7576134d761524e565b90506020028101906134e9919061577a565b6134fa906040810190602001614728565b604051636eb1769f60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e90604401602060405180830381865afa158015613568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358c91906152f7565b90508383838181106135a0576135a061524e565b90506020028101906135b2919061577a565b6135c3906040810190602001614728565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838787878181106136055761360561524e565b9050602002810190613617919061577a565b60400135613625919061534f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015613670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136949190615165565b5050806136a090615367565b90506133d6565b5060405163fce36c7d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fce36c7d90612b1390859085906004016157f5565b6001600160a01b0381166137845760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a4016108d4565b60fb54604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a160fb80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015261380961460d565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa905080801561383c5761383e565bfe5b508061387c5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016108d4565b505092915050565b60408051808201909152600080825260208201526138a061462b565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa905080801561383c57508061387c5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016108d4565b613920614649565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b604080518082019091526000808252602082015260008080613a08600080516020615a1183398151915286615264565b90505b613a1481614356565b9093509150600080516020615a11833981519152828309831415613a4e576040805180820190915290815260208101919091529392505050565b600080516020615a11833981519152600182089050613a0b565b604080518082018252868152602080820186905282518084019093528683528201849052600091829190613a9a61466e565b60005b6002811015613c5f576000613ab38260066155ed565b9050848260028110613ac757613ac761524e565b60200201515183613ad983600061534f565b600c8110613ae957613ae961524e565b6020020152848260028110613b0057613b0061524e565b60200201516020015183826001613b17919061534f565b600c8110613b2757613b2761524e565b6020020152838260028110613b3e57613b3e61524e565b6020020151515183613b5183600261534f565b600c8110613b6157613b6161524e565b6020020152838260028110613b7857613b7861524e565b6020020151516001602002015183613b9183600361534f565b600c8110613ba157613ba161524e565b6020020152838260028110613bb857613bb861524e565b602002015160200151600060028110613bd357613bd361524e565b602002015183613be483600461534f565b600c8110613bf457613bf461524e565b6020020152838260028110613c0b57613c0b61524e565b602002015160200151600160028110613c2657613c2661524e565b602002015183613c3783600561534f565b600c8110613c4757613c4761524e565b60200201525080613c5781615367565b915050613a9d565b50613c6861468d565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6060600080613c9a84613eea565b61ffff166001600160401b03811115613cb557613cb561475e565b6040519080825280601f01601f191660200182016040528015613cdf576020820181803683370190505b5090506000805b825182108015613cf7575061010081105b156130db576001811b935085841615613d3e578060f81b838381518110613d2057613d2061524e565b60200101906001600160f81b031916908160001a9053508160010191505b613d4781615367565b9050613ce6565b6065546001600160a01b031633146122ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108d4565b609754604080516001600160a01b03928316815291831660208301527fe11cddf1816a43318ca175bbc52cd0185436e9cbead7c83acc54a73e461717e3910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b60c9805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc906020015b60405180910390a150565b600080613e65846143d8565b9050808360ff166001901b11613ee35760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c75650060648201526084016108d4565b9392505050565b6000805b821561082757613eff6001846153d8565b9092169180613f0d81615902565b915050613eee565b60408051808201909152600080825260208201526102008261ffff1610613f715760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b60448201526064016108d4565b8161ffff1660011415613f85575081610827565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff1610613fee57600161ffff871660ff83161c81161415613fd157613fce8484613884565b93505b613fdb8384613884565b92506201fffe600192831b169101613fa1565b509195945050505050565b6040805180820190915260008082526020820152815115801561401e57506020820151155b1561403c575050604080518082019091526000808252602082015290565b604051806040016040528083600001518152602001600080516020615a11833981519152846020015161406f9190615264565b61408790600080516020615a118339815191526153d8565b905292915050565b919050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60fb546001600160a01b031615801561410757506001600160a01b03821615155b6141895760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a4016108d4565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a26141cc826136f6565b5050565b6001600160a01b038116600081815260026020908152604091829020805460ff8082161560ff1990921682179092558351948552161515908301527f5c3265f5fb462ef4930fe47beaa183647c97f19ba545b761f41bc8cd4621d4149101613e4e565b600061427082604080518082019091526000808252602082015250604080518082019091528151815260609091015163ffffffff16602082015290565b6040805182516020808301919091529092015163ffffffff16908201526060015b604051602081830303815290604052805190602001209050919050565b6000816040516020016142919190615992565b6097546001600160a01b031633146122ed5760405162461bcd60e51b815260206004820152604c60248201527f536572766963654d616e61676572426173652e6f6e6c7952657761726473496e60448201527f69746961746f723a2063616c6c6572206973206e6f742074686520726577617260648201526b32399034b734ba34b0ba37b960a11b608482015260a4016108d4565b60008080600080516020615a118339815191526003600080516020615a1183398151915286600080516020615a118339815191528889090908905060006143cc827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52600080516020615a11833981519152614565565b91959194509092505050565b6000610100825111156144615760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016108d4565b815161446f57506000919050565b600080836000815181106144855761448561524e565b0160200151600160f89190911c81901b92505b845181101561455c578481815181106144b3576144b361524e565b0160200151600160f89190911c1b91508282116145485760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016108d4565b9181179161455581615367565b9050614498565b50909392505050565b60008061457061468d565b6145786146ab565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa925082801561383c5750826146025760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c75726500000000000060448201526064016108d4565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061465c6146c9565b81526020016146696146c9565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60ff811681146108e657600080fd5b60006020828403121561470857600080fd5b8135613ee3816146e7565b6001600160a01b03811681146108e657600080fd5b60006020828403121561473a57600080fd5b8135613ee381614713565b60006020828403121561475757600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156147965761479661475e565b60405290565b60405161010081016001600160401b03811182821017156147965761479661475e565b604051601f8201601f191681016001600160401b03811182821017156147e7576147e761475e565b604052919050565b60006040828403121561480157600080fd5b614809614774565b9050813581526020820135602082015292915050565b600082601f83011261483057600080fd5b614838614774565b80604084018581111561484a57600080fd5b845b8181101561486457803584526020938401930161484c565b509095945050505050565b60006080828403121561488157600080fd5b614889614774565b9050614895838361481f565b81526148a4836040840161481f565b602082015292915050565b60008060008061012085870312156148c657600080fd5b843593506148d786602087016147ef565b92506148e6866060870161486f565b91506148f58660e087016147ef565b905092959194509250565b60006020828403121561491257600080fd5b813561ffff81168114613ee357600080fd5b803561408f81614713565b6020808252825182820181905260009190848201906040850190845b818110156149705783516001600160a01b03168352928401929184019160010161494b565b50909695505050505050565b80151581146108e657600080fd5b60006020828403121561499c57600080fd5b8135613ee38161497c565b63ffffffff811681146108e657600080fd5b803561408f816149a7565b60006001600160401b038211156149dd576149dd61475e565b5060051b60200190565b600082601f8301126149f857600080fd5b81356020614a0d614a08836149c4565b6147bf565b82815260059290921b84018101918181019086841115614a2c57600080fd5b8286015b84811015614a50578035614a43816149a7565b8352918301918301614a30565b509695505050505050565b600082601f830112614a6c57600080fd5b81356020614a7c614a08836149c4565b82815260069290921b84018101918181019086841115614a9b57600080fd5b8286015b84811015614a5057614ab188826147ef565b835291830191604001614a9f565b600082601f830112614ad057600080fd5b81356020614ae0614a08836149c4565b82815260059290921b84018101918181019086841115614aff57600080fd5b8286015b84811015614a505780356001600160401b03811115614b225760008081fd5b614b308986838b01016149e7565b845250918301918301614b03565b60006101808284031215614b5157600080fd5b614b5961479c565b905081356001600160401b0380821115614b7257600080fd5b614b7e858386016149e7565b83526020840135915080821115614b9457600080fd5b614ba085838601614a5b565b60208401526040840135915080821115614bb957600080fd5b614bc585838601614a5b565b6040840152614bd7856060860161486f565b6060840152614be98560e086016147ef565b6080840152610120840135915080821115614c0357600080fd5b614c0f858386016149e7565b60a0840152610140840135915080821115614c2957600080fd5b614c35858386016149e7565b60c0840152610160840135915080821115614c4f57600080fd5b50614c5c84828501614abf565b60e08301525092915050565b600080600080600060808688031215614c8057600080fd5b8535945060208601356001600160401b0380821115614c9e57600080fd5b818801915088601f830112614cb257600080fd5b813581811115614cc157600080fd5b896020828501011115614cd357600080fd5b6020830196509450614ce7604089016149b9565b93506060880135915080821115614cfd57600080fd5b50614d0a88828901614b3e565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614d505781516001600160601b031687529582019590820190600101614d2b565b509495945050505050565b6040815260008351604080840152614d766080840182614d17565b90506020850151603f19848303016060850152614d938282614d17565b925050508260208301529392505050565b600080600080600060a08688031215614dbc57600080fd5b8535614dc781614713565b945060208681013594506040870135614ddf81614713565b935060608701356001600160401b03811115614dfa57600080fd5b8701601f81018913614e0b57600080fd5b8035614e19614a08826149c4565b81815260059190911b8201830190838101908b831115614e3857600080fd5b928401925b82841015614e5f578335614e5081614713565b82529284019290840190614e3d565b8096505050505050614e7360808701614924565b90509295509295909350565b60008060408385031215614e9257600080fd5b82356001600160401b0380821115614ea957600080fd5b9084019060808287031215614ebd57600080fd5b90925060208401359080821115614ed357600080fd5b50614ee085828601614b3e565b9150509250929050565b60005b83811015614f05578181015183820152602001614eed565b83811115614f14576000848401525b50505050565b60008151808452614f32816020860160208601614eea565b601f01601f19169290920160200192915050565b602081526000613ee36020830184614f1a565b60006001600160401b03821115614f7257614f7261475e565b50601f01601f191660200190565b6000614f8e614a0884614f59565b9050828152838383011115614fa257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614fca57600080fd5b613ee383833560208501614f80565b60008060408385031215614fec57600080fd5b8235614ff781614713565b915060208301356001600160401b038082111561501357600080fd5b908401906060828703121561502757600080fd5b6040516060810181811083821117156150425761504261475e565b60405282358281111561505457600080fd5b61506088828601614fb9565b82525060208301356020820152604083013560408201528093505050509250929050565b60006020828403121561509657600080fd5b81356001600160401b038111156150ac57600080fd5b8201601f810184136150bd57600080fd5b6150cc84823560208401614f80565b949350505050565b6000602082840312156150e657600080fd5b8135613ee3816149a7565b6000806020838503121561510457600080fd5b82356001600160401b038082111561511b57600080fd5b818501915085601f83011261512f57600080fd5b81358181111561513e57600080fd5b8660208260051b850101111561515357600080fd5b60209290920196919550909350505050565b60006020828403121561517757600080fd5b8151613ee38161497c565b60006020828403121561519457600080fd5b8151613ee381614713565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b60006020828403121561524357600080fd5b8151613ee3816146e7565b634e487b7160e01b600052603260045260246000fd5b60008261528157634e487b7160e01b600052601260045260246000fd5b500690565b60006060828403121561529857600080fd5b604051606081018181106001600160401b03821117156152ba576152ba61475e565b60405282516152c8816149a7565b815260208301516152d8816149a7565b602082015260408301516152eb816146e7565b60408201529392505050565b60006020828403121561530957600080fd5b5051919050565b60006020828403121561532257600080fd5b81516001600160c01b0381168114613ee357600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561536257615362615339565b500190565b600060001982141561537b5761537b615339565b5060010190565b6001600160601b03811681146108e657600080fd5b6000604082840312156153a957600080fd5b6153b1614774565b82516153bc81614713565b815260208301516153cc81615382565b60208201529392505050565b6000828210156153ea576153ea615339565b500390565b60006020828403121561540157600080fd5b815167ffffffffffffffff1981168114613ee357600080fd5b60006020828403121561542c57600080fd5b8151613ee381615382565b60006001600160601b038381169083168181101561545757615457615339565b039392505050565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b8381101561549a5781518552938201939082019060010161547e565b5092979650505050505050565b600063ffffffff8083168185168083038211156154c6576154c6615339565b01949350505050565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b60200191503681900382131561551557600080fd5b9250929050565b60006080823603121561552e57600080fd5b604051608081016001600160401b0382821081831117156155515761555161475e565b8160405284358352602085013591508082111561556d57600080fd5b61557936838701614fb9565b6020840152604085013591508082111561559257600080fd5b5061559f36828601614fb9565b60408301525060608301356155b3816149a7565b606082015292915050565b60006001600160601b03808316818516818304811182151516156155e4576155e4615339565b02949350505050565b600081600019048311821515161561560757615607615339565b500290565b60006020828403121561561e57600080fd5b81516001600160401b0381111561563457600080fd5b8201601f8101841361564557600080fd5b8051615653614a0882614f59565b81815285602083850101111561566857600080fd5b615679826020830160208601614eea565b95945050505050565b60208082526052908201527f536572766963654d616e61676572426173652e6f6e6c7952656769737472794360408201527f6f6f7264696e61746f723a2063616c6c6572206973206e6f742074686520726560608201527133b4b9ba393c9031b7b7b93234b730ba37b960711b608082015260a00190565b60018060a01b038316815260406020820152600082516060604084015261572460a0840182614f1a565b90506020840151606084015260408401516080840152809150509392505050565b60006040828403121561575757600080fd5b61575f614774565b825161576a816146e7565b815260208301516153cc816146e7565b60008235609e1983360301811261579057600080fd5b9190910192915050565b8183526000602080850194508260005b85811015614d505781356157bd81614713565b6001600160a01b03168752818301356157d581615382565b6001600160601b03168784015260409687019691909101906001016157aa565b60208082528181018390526000906040808401600586901b8501820187855b888110156158f457878303603f190184528135368b9003609e1901811261583a57600080fd5b8a0160a0813536839003601e1901811261585357600080fd5b820180356001600160401b0381111561586b57600080fd5b8060061b360384131561587d57600080fd5b82875261588f838801828c850161579a565b9250505061589e888301614924565b6001600160a01b031688860152818701358786015260606158c08184016149b9565b63ffffffff169086015260806158d78382016149b9565b63ffffffff16950194909452509285019290850190600101615814565b509098975050505050505050565b600061ffff8083168181141561591a5761591a615339565b6001019392505050565b6000808335601e1984360301811261593b57600080fd5b83016020810192503590506001600160401b0381111561595a57600080fd5b80360383131561551557600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081528135602082015260006159ac6020840184615924565b608060408501526159c160a085018284615969565b9150506159d16040850185615924565b848303601f190160608601526159e8838284615969565b9250505060608401356159fa816149a7565b63ffffffff16608093909301929092525091905056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47456967656e4441536572766963654d616e616765722e636f6e6669726d426174424c535369676e6174757265436865636b65722e636865636b5369676e617475a26469706673582212202529869ee37a54378cbfaf69b87265a93f5e659e9dfa4373402fa036bea83e5764736f6c634300080c0033", + Bin: "0x6101e06040523480156200001257600080fd5b5060405162005fdc38038062005fdc8339810160408190526200003591620002fd565b6001600160a01b0380841660805280831660a05280821660c05280881660e052808716610100528086166101205284166101405284878782876200007862000222565b50505050806001600160a01b0316610160816001600160a01b031681525050806001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fc9190620003a8565b6001600160a01b0316610180816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017b9190620003a8565b6001600160a01b03166101a0816001600160a01b031681525050610180516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd9190620003a8565b6001600160a01b03166101c052506200021562000222565b50505050505050620003cf565b603254610100900460ff16156200028f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff9081161015620002e2576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620002fa57600080fd5b50565b600080600080600080600060e0888a0312156200031957600080fd5b87516200032681620002e4565b60208901519097506200033981620002e4565b60408901519096506200034c81620002e4565b60608901519095506200035f81620002e4565b60808901519094506200037281620002e4565b60a08901519093506200038581620002e4565b60c08901519092506200039881620002e4565b8091505092959891949750929550565b600060208284031215620003bb57600080fd5b8151620003c881620002e4565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c051615aa662000536600039600081816106430152611aac01526000818161044f0152611c8e0152600081816104a101528181611e6401526120260152600081816104ee015281816111c8015281816117770152818161190f0152611b49015260008181610ee00152818161103b015281816110d201528181612de401528181612f670152613006015260008181610d0b01528181610d9a01528181610e1a01528181612a8801528181612b4c01528181612d220152612ec2015260008181613517015281816135d301526136bf0152600081816104c501528181612adc01528181612ba80152612c27015260006106ad0152600061053e01526000818161073e015281816107b401528181610a4301528181610c7b015281816129f401528181612c6001528181612cc00152818161311c01526131690152615aa66000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c80637794965a11610182578063e481af9d116100e9578063ef635529116100a2578063f8c668141161007c578063f8c6681414610739578063fabc1cbc14610760578063fc299dee14610773578063fce36c7d1461078657600080fd5b8063ef635529146106ea578063f122098314610713578063f2fde38b1461072657600080fd5b8063e481af9d1461066d578063eaefd27d14610675578063eccbbfc914610688578063ed3916f7146106a8578063ee6c3bcf146106cf578063ef024458146106e257600080fd5b8063a5b7890a1161013b578063a5b7890a146105f3578063a98fb35514610616578063b98d090814610629578063bafa910714610636578063df5cf7231461063e578063e15234ff1461066557600080fd5b80637794965a146105815780638687feae14610594578063886f1195146105a95780638da5cb5b146105bc5780639926ee7d146105cd578063a364f4da146105e057600080fd5b80635c975abb116102265780636d14a987116101df5780636d14a987146104e95780636efb463614610510578063715018a614610531578063722764431461053957806372d18e8d14610560578063775bbcb51461056e57600080fd5b80635c975abb146104385780635df459461461044a5780635e033476146104895780635e8b3f2d14610493578063683048351461049c5780636b3aa72e146104c357600080fd5b806333cfb7b71161027857806333cfb7b7146103a25780633bc28c8c146103c2578063416c7e5e146103d55780634972134a146103e8578063595c6a671461040d5780635ac86ab71461041557600080fd5b8063048886d2146102c057806310d67a2f146102e8578063136439dd146102fd5780631429c7c214610310578063171f1d5b146103355780632ecfe72b1461035f575b600080fd5b6102d36102ce3660046146f6565b610799565b60405190151581526020015b60405180910390f35b6102fb6102f6366004614728565b61082d565b005b6102fb61030b366004614745565b6108e9565b61032361031e3660046146f6565b610a28565b60405160ff90911681526020016102df565b6103486103433660046148af565b610ab7565b6040805192151583529015156020830152016102df565b61037261036d366004614900565b610c41565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff16908201526060016102df565b6103b56103b0366004614728565b610ce6565b6040516102df919061492f565b6102fb6103d0366004614728565b6111b5565b6102fb6103e336600461498a565b6111c6565b6000546103f89063ffffffff1681565b60405163ffffffff90911681526020016102df565b6102fb6112fd565b6102d36104233660046146f6565b60fc54600160ff9092169190911b9081161490565b60fc545b6040519081526020016102df565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102df565b6103f8620189c081565b6103f861012c81565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610471565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b61052361051e366004614c68565b6113c4565b6040516102df929190614d5b565b6102fb6122db565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b60005463ffffffff166103f8565b6102fb61057c366004614da4565b6122ef565b6102fb61058f366004614e7f565b612458565b61059c6129f0565b6040516102df9190614f46565b60fb54610471906001600160a01b031681565b6065546001600160a01b0316610471565b6102fb6105db366004614fd9565b612a7d565b6102fb6105ee366004614728565b612b41565b6102d3610601366004614728565b60026020526000908152604090205460ff1681565b6102fb610624366004615084565b612c08565b60c9546102d39060ff1681565b61059c612c5c565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b61059c612cbc565b6103b5612d1c565b6103f86106833660046150d4565b6130e5565b61043c6106963660046150d4565b60016020526000908152604090205481565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b6103236106dd3660046146f6565b613101565b61043c606481565b6106f2613153565b60408051825160ff90811682526020938401511692810192909252016102df565b6102fb610721366004614728565b6131e8565b6102fb610734366004614728565b6131f9565b6104717f000000000000000000000000000000000000000000000000000000000000000081565b6102fb61076e366004614745565b61326f565b609754610471906001600160a01b031681565b6102fb6107943660046150f1565b6133cb565b604051630244436960e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063048886d290602401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190615165565b92915050565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190615182565b6001600160a01b0316336001600160a01b0316146108dd5760405162461bcd60e51b81526004016108d49061519f565b60405180910390fd5b6108e6816136f6565b50565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190615165565b6109715760405162461bcd60e51b81526004016108d4906151e9565b60fc54818116146109ea5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c697479000000000000000060648201526084016108d4565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b604051630a14e3e160e11b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631429c7c2906024015b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190615231565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110610aff57610aff61524e565b60200201518951600160200201518a60200151600060028110610b2457610b2461524e565b60200201518b60200151600160028110610b4057610b4061524e565b602090810291909101518c518d830151604051610b9d9a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c610bc09190615264565b9050610c33610bd9610bd288846137ed565b8690613884565b610be1613918565b610c29610c1a85610c14604080518082018252600080825260209182015281518083019092526001825260029082015290565b906137ed565b610c238c6139d8565b90613884565b886201d4c0613a68565b909890975095505050505050565b60408051606081018252600080825260208201819052818301529051632ecfe72b60e01b815261ffff831660048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ecfe72b90602401606060405180830381865afa158015610cc2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190615286565b6040516309aa152760e11b81526001600160a01b0382811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906313542a4e90602401602060405180830381865afa158015610d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7691906152f7565b60405163871ef04960e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063871ef04990602401602060405180830381865afa158015610de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e059190615310565b90506001600160c01b0381161580610e9f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9a9190615231565b60ff16155b15610ebb57505060408051600081526020810190915292915050565b6000610ecf826001600160c01b0316613c8c565b90506000805b8251811015610fa5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ca5a5f5848381518110610f1f57610f1f61524e565b01602001516040516001600160e01b031960e084901b16815260f89190911c6004820152602401602060405180830381865afa158015610f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8791906152f7565b610f91908361534f565b915080610f9d81615367565b915050610ed5565b506000816001600160401b03811115610fc057610fc061475e565b604051908082528060200260200182016040528015610fe9578160200160208202803683370190505b5090506000805b84518110156111a857600085828151811061100d5761100d61524e565b0160200151604051633ca5a5f560e01b815260f89190911c6004820181905291506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633ca5a5f590602401602060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a691906152f7565b905060005b81811015611192576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190615397565b6000015186868151811061115a5761115a61524e565b6001600160a01b03909216602092830291909101909101528461117c81615367565b955050808061118a90615367565b9150506110ab565b50505080806111a090615367565b915050610ff0565b5090979650505050505050565b6111bd613d4e565b6108e681613da8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112489190615182565b6001600160a01b0316336001600160a01b0316146112f45760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a4016108d4565b6108e681613e11565b60fb5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190615165565b6113855760405162461bcd60e51b81526004016108d4906151e9565b60001960fc81905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b604080518082019091526060808252602082015260008461143b5760405162461bcd60e51b81526020600482015260376024820152600080516020615a5183398151915260448201527f7265733a20656d7074792071756f72756d20696e70757400000000000000000060648201526084016108d4565b60408301515185148015611453575060a08301515185145b8015611463575060c08301515185145b8015611473575060e08301515185145b6114dd5760405162461bcd60e51b81526020600482015260416024820152600080516020615a5183398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a4016108d4565b825151602084015151146115555760405162461bcd60e51b815260206004820152604460248201819052600080516020615a51833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a4016108d4565b4363ffffffff168463ffffffff16106115c45760405162461bcd60e51b815260206004820152603c6024820152600080516020615a5183398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b0000000060648201526084016108d4565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b038111156116055761160561475e565b60405190808252806020026020018201604052801561162e578160200160208202803683370190505b506020820152866001600160401b0381111561164c5761164c61475e565b604051908082528060200260200182016040528015611675578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b038111156116a9576116a961475e565b6040519080825280602002602001820160405280156116d2578160200160208202803683370190505b5081526020860151516001600160401b038111156116f2576116f261475e565b60405190808252806020026020018201604052801561171b578160200160208202803683370190505b50816020018190525060006117ed8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa1580156117c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e89190615231565b613e59565b905060005b876020015151811015611a8857611837886020015182815181106118185761181861524e565b6020026020010151805160009081526020918201519091526040902090565b8360200151828151811061184d5761184d61524e565b6020908102919091010152801561190d57602083015161186e6001836153d8565b8151811061187e5761187e61524e565b602002602001015160001c8360200151828151811061189f5761189f61524e565b602002602001015160001c1161190d576040805162461bcd60e51b8152602060048201526024810191909152600080516020615a5183398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f7274656460648201526084016108d4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec6351846020015183815181106119525761195261524e565b60200260200101518b8b6000015185815181106119715761197161524e565b60200260200101516040518463ffffffff1660e01b81526004016119ae9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156119cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ef9190615310565b6001600160c01b031683600001518281518110611a0e57611a0e61524e565b602002602001018181525050611a74610bd2611a488486600001518581518110611a3a57611a3a61524e565b602002602001015116613eea565b8a602001518481518110611a5e57611a5e61524e565b6020026020010151613f1590919063ffffffff16565b945080611a8081615367565b9150506117f2565b5050611a9383613ff9565b60c95490935060ff16600081611aaa576000611b2c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2c91906152f7565b905060005b8a8110156121aa578215611c8c578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110611b8857611b8861524e565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015611bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bec91906152f7565b611bf6919061534f565b11611c8c5760405162461bcd60e51b81526020600482015260666024820152600080516020615a5183398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c4016108d4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d84818110611ccd57611ccd61524e565b9050013560f81c60f81b60f81c8c8c60a001518581518110611cf157611cf161524e565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7191906153ef565b6001600160401b031916611d948a6040015183815181106118185761181861524e565b67ffffffffffffffff191614611e305760405162461bcd60e51b81526020600482015260616024820152600080516020615a5183398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c4016108d4565b611e6089604001518281518110611e4957611e4961524e565b60200260200101518761388490919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d84818110611ea357611ea361524e565b9050013560f81c60f81b60f81c8c8c60c001518581518110611ec757611ec761524e565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f47919061541a565b85602001518281518110611f5d57611f5d61524e565b6001600160601b03909216602092830291909101820152850151805182908110611f8957611f8961524e565b602002602001015185600001518281518110611fa757611fa761524e565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a60200151518110156121955761201f86600001518281518110611ff157611ff161524e565b60200260200101518f8f8681811061200b5761200b61524e565b600192013560f81c9290921c811614919050565b15612183577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f868181106120655761206561524e565b9050013560f81c60f81b60f81c8e896020015185815181106120895761208961524e565b60200260200101518f60e0015188815181106120a7576120a761524e565b602002602001015187815181106120c0576120c061524e565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612148919061541a565b875180518590811061215c5761215c61524e565b602002602001018181516121709190615437565b6001600160601b03169052506001909101905b8061218d81615367565b915050611fcb565b505080806121a290615367565b915050611b31565b5050506000806121c48c868a606001518b60800151610ab7565b91509150816122355760405162461bcd60e51b81526020600482015260436024820152600080516020615a5183398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a4016108d4565b806122965760405162461bcd60e51b81526020600482015260396024820152600080516020615a5183398151915260448201527f7265733a207369676e617475726520697320696e76616c69640000000000000060648201526084016108d4565b505060008782602001516040516020016122b192919061545f565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6122e3613d4e565b6122ed6000614094565b565b603254610100900460ff161580801561230f5750603254600160ff909116105b806123295750303b158015612329575060325460ff166001145b61238c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108d4565b6032805460ff1916600117905580156123af576032805461ff0019166101001790555b6123b986866140e6565b6123c284614094565b6123cb82613da8565b60005b8351811015612409576123f98482815181106123ec576123ec61524e565b60200260200101516141d0565b61240281615367565b90506123ce565b508015612450576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b60fc54600090600190811614156124b15760405162461bcd60e51b815260206004820152601960248201527f5061757361626c653a20696e646578206973207061757365640000000000000060448201526064016108d4565b3360009081526002602052604090205460ff166125255760405162461bcd60e51b815260206004820152602c60248201527f6f6e6c794261746368436f6e6669726d65723a206e6f742066726f6d2062617460448201526b31b41031b7b73334b936b2b960a11b60648201526084016108d4565b3233146125a25760405162461bcd60e51b81526020600482015260516024820152600080516020615a3183398151915260448201527f63683a2068656164657220616e64206e6f6e7369676e65722064617461206d75606482015270737420626520696e2063616c6c6461746160781b608482015260a4016108d4565b436125b360808501606086016150d4565b63ffffffff16106126325760405162461bcd60e51b815260206004820152604f6024820152600080516020615a3183398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d6260648201526e657220697320696e2066757475726560881b608482015260a4016108d4565b63ffffffff431661012c61264c60808601606087016150d4565b61265691906154a7565b63ffffffff1610156126dc5760405162461bcd60e51b81526020600482015260556024820152600080516020615a3183398151915260448201527f63683a20737065636966696564207265666572656e6365426c6f636b4e756d62606482015274195c881a5cc81d1bdbc819985c881a5b881c185cdd605a1b608482015260a4016108d4565b6126e960408401846154cf565b90506126f860208501856154cf565b9050146127905760405162461bcd60e51b81526020600482015260666024820152600080516020615a3183398151915260448201527f63683a2071756f72756d4e756d6265727320616e64207369676e65645374616b60648201527f65466f7251756f72756d73206d757374206265206f66207468652073616d65206084820152650d8cadccee8d60d31b60a482015260c4016108d4565b60006127a361279e8561551c565b614233565b90506000806127cf836127b960208901896154cf565b6127c960808b0160608c016150d4565b896113c4565b9150915060005b6127e360408801886154cf565b9050811015612925576127f960408801886154cf565b828181106128095761280961524e565b9050013560f81c60f81b60f81c60ff168360200151828151811061282f5761282f61524e565b602002602001015161284191906155be565b6001600160601b03166064846000015183815181106128625761286261524e565b60200260200101516001600160601b031661287d91906155ed565b10156129135760405162461bcd60e51b815260206004820152606460248201819052600080516020615a3183398151915260448301527f63683a207369676e61746f7269657320646f206e6f74206f776e206174206c65908201527f617374207468726573686f6c642070657263656e74616765206f6620612071756084820152636f72756d60e01b60a482015260c4016108d4565b8061291d81615367565b9150506127d6565b506000805463ffffffff169061293a886142ae565b6040805160208082018490528183018790524360e01b6001600160e01b0319166060830152825160448184030181526064830180855281519183019190912063ffffffff881660008181526001909452928590205552905191925086917fc75557c4ad49697e231449688be13ef11cb6be8ed0d18819d8dde074a5a16f8a9181900360840190a26129cc8260016154a7565b6000805463ffffffff191663ffffffff929092169190911790555050505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a50573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a78919081019061560c565b905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612ac55760405162461bcd60e51b81526004016108d490615682565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90612b1390859085906004016156fa565b600060405180830381600087803b158015612b2d57600080fd5b505af1158015612450573d6000803e3d6000fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612b895760405162461bcd60e51b81526004016108d490615682565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b600060405180830381600087803b158015612bed57600080fd5b505af1158015612c01573d6000803e3d6000fd5b5050505050565b612c10613d4e565b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb35590612bd3908490600401614f46565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bafa91076040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a50573d6000803e3d6000fd5b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a50573d6000803e3d6000fd5b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da29190615231565b60ff16905080612dc057505060408051600081526020810190915290565b6000805b82811015612e7557604051633ca5a5f560e01b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5791906152f7565b612e61908361534f565b915080612e6d81615367565b915050612dc4565b506000816001600160401b03811115612e9057612e9061475e565b604051908082528060200260200182016040528015612eb9578160200160208202803683370190505b5090506000805b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f429190615231565b60ff168110156130db57604051633ca5a5f560e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fda91906152f7565b905060005b818110156130c6576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015613054573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130789190615397565b6000015185858151811061308e5761308e61524e565b6001600160a01b0390921660209283029190910190910152836130b081615367565b94505080806130be90615367565b915050612fdf565b505080806130d390615367565b915050612ec0565b5090949350505050565b600061012c6130f7620189c0846154a7565b61082791906154a7565b60405163ee6c3bcf60e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ee6c3bcf90602401610a76565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef6355296040518163ffffffff1660e01b81526004016040805180830381865afa1580156131c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a789190615745565b6131f0613d4e565b6108e6816141d0565b613201613d4e565b6001600160a01b0381166132665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108d4565b6108e681614094565b60fb60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e69190615182565b6001600160a01b0316336001600160a01b0316146133165760405162461bcd60e51b81526004016108d49061519f565b60fc5419811960fc541916146133945760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c697479000000000000000060648201526084016108d4565b60fc81905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610a1d565b6133d36142c1565b60005b818110156136a7578282828181106133f0576133f061524e565b9050602002810190613402919061577a565b613413906040810190602001614728565b6001600160a01b03166323b872dd33308686868181106134355761343561524e565b9050602002810190613447919061577a565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303816000875af115801561349e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134c29190615165565b5060008383838181106134d7576134d761524e565b90506020028101906134e9919061577a565b6134fa906040810190602001614728565b604051636eb1769f60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e90604401602060405180830381865afa158015613568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358c91906152f7565b90508383838181106135a0576135a061524e565b90506020028101906135b2919061577a565b6135c3906040810190602001614728565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838787878181106136055761360561524e565b9050602002810190613617919061577a565b60400135613625919061534f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015613670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136949190615165565b5050806136a090615367565b90506133d6565b5060405163fce36c7d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fce36c7d90612b1390859085906004016157f5565b6001600160a01b0381166137845760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a4016108d4565b60fb54604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a160fb80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015261380961460d565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa905080801561383c5761383e565bfe5b508061387c5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016108d4565b505092915050565b60408051808201909152600080825260208201526138a061462b565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa905080801561383c57508061387c5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016108d4565b613920614649565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b604080518082019091526000808252602082015260008080613a08600080516020615a1183398151915286615264565b90505b613a1481614356565b9093509150600080516020615a11833981519152828309831415613a4e576040805180820190915290815260208101919091529392505050565b600080516020615a11833981519152600182089050613a0b565b604080518082018252868152602080820186905282518084019093528683528201849052600091829190613a9a61466e565b60005b6002811015613c5f576000613ab38260066155ed565b9050848260028110613ac757613ac761524e565b60200201515183613ad983600061534f565b600c8110613ae957613ae961524e565b6020020152848260028110613b0057613b0061524e565b60200201516020015183826001613b17919061534f565b600c8110613b2757613b2761524e565b6020020152838260028110613b3e57613b3e61524e565b6020020151515183613b5183600261534f565b600c8110613b6157613b6161524e565b6020020152838260028110613b7857613b7861524e565b6020020151516001602002015183613b9183600361534f565b600c8110613ba157613ba161524e565b6020020152838260028110613bb857613bb861524e565b602002015160200151600060028110613bd357613bd361524e565b602002015183613be483600461534f565b600c8110613bf457613bf461524e565b6020020152838260028110613c0b57613c0b61524e565b602002015160200151600160028110613c2657613c2661524e565b602002015183613c3783600561534f565b600c8110613c4757613c4761524e565b60200201525080613c5781615367565b915050613a9d565b50613c6861468d565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6060600080613c9a84613eea565b61ffff166001600160401b03811115613cb557613cb561475e565b6040519080825280601f01601f191660200182016040528015613cdf576020820181803683370190505b5090506000805b825182108015613cf7575061010081105b156130db576001811b935085841615613d3e578060f81b838381518110613d2057613d2061524e565b60200101906001600160f81b031916908160001a9053508160010191505b613d4781615367565b9050613ce6565b6065546001600160a01b031633146122ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108d4565b609754604080516001600160a01b03928316815291831660208301527fe11cddf1816a43318ca175bbc52cd0185436e9cbead7c83acc54a73e461717e3910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b60c9805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc906020015b60405180910390a150565b600080613e65846143d8565b9050808360ff166001901b11613ee35760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c75650060648201526084016108d4565b9392505050565b6000805b821561082757613eff6001846153d8565b9092169180613f0d81615902565b915050613eee565b60408051808201909152600080825260208201526102008261ffff1610613f715760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b60448201526064016108d4565b8161ffff1660011415613f85575081610827565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff1610613fee57600161ffff871660ff83161c81161415613fd157613fce8484613884565b93505b613fdb8384613884565b92506201fffe600192831b169101613fa1565b509195945050505050565b6040805180820190915260008082526020820152815115801561401e57506020820151155b1561403c575050604080518082019091526000808252602082015290565b604051806040016040528083600001518152602001600080516020615a11833981519152846020015161406f9190615264565b61408790600080516020615a118339815191526153d8565b905292915050565b919050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60fb546001600160a01b031615801561410757506001600160a01b03821615155b6141895760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a4016108d4565b60fc81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a26141cc826136f6565b5050565b6001600160a01b038116600081815260026020908152604091829020805460ff8082161560ff1990921682179092558351948552161515908301527f5c3265f5fb462ef4930fe47beaa183647c97f19ba545b761f41bc8cd4621d4149101613e4e565b600061427082604080518082019091526000808252602082015250604080518082019091528151815260609091015163ffffffff16602082015290565b6040805182516020808301919091529092015163ffffffff16908201526060015b604051602081830303815290604052805190602001209050919050565b6000816040516020016142919190615992565b6097546001600160a01b031633146122ed5760405162461bcd60e51b815260206004820152604c60248201527f536572766963654d616e61676572426173652e6f6e6c7952657761726473496e60448201527f69746961746f723a2063616c6c6572206973206e6f742074686520726577617260648201526b32399034b734ba34b0ba37b960a11b608482015260a4016108d4565b60008080600080516020615a118339815191526003600080516020615a1183398151915286600080516020615a118339815191528889090908905060006143cc827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52600080516020615a11833981519152614565565b91959194509092505050565b6000610100825111156144615760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016108d4565b815161446f57506000919050565b600080836000815181106144855761448561524e565b0160200151600160f89190911c81901b92505b845181101561455c578481815181106144b3576144b361524e565b0160200151600160f89190911c1b91508282116145485760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016108d4565b9181179161455581615367565b9050614498565b50909392505050565b60008061457061468d565b6145786146ab565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa925082801561383c5750826146025760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c75726500000000000060448201526064016108d4565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061465c6146c9565b81526020016146696146c9565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60ff811681146108e657600080fd5b60006020828403121561470857600080fd5b8135613ee3816146e7565b6001600160a01b03811681146108e657600080fd5b60006020828403121561473a57600080fd5b8135613ee381614713565b60006020828403121561475757600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156147965761479661475e565b60405290565b60405161010081016001600160401b03811182821017156147965761479661475e565b604051601f8201601f191681016001600160401b03811182821017156147e7576147e761475e565b604052919050565b60006040828403121561480157600080fd5b614809614774565b9050813581526020820135602082015292915050565b600082601f83011261483057600080fd5b614838614774565b80604084018581111561484a57600080fd5b845b8181101561486457803584526020938401930161484c565b509095945050505050565b60006080828403121561488157600080fd5b614889614774565b9050614895838361481f565b81526148a4836040840161481f565b602082015292915050565b60008060008061012085870312156148c657600080fd5b843593506148d786602087016147ef565b92506148e6866060870161486f565b91506148f58660e087016147ef565b905092959194509250565b60006020828403121561491257600080fd5b813561ffff81168114613ee357600080fd5b803561408f81614713565b6020808252825182820181905260009190848201906040850190845b818110156149705783516001600160a01b03168352928401929184019160010161494b565b50909695505050505050565b80151581146108e657600080fd5b60006020828403121561499c57600080fd5b8135613ee38161497c565b63ffffffff811681146108e657600080fd5b803561408f816149a7565b60006001600160401b038211156149dd576149dd61475e565b5060051b60200190565b600082601f8301126149f857600080fd5b81356020614a0d614a08836149c4565b6147bf565b82815260059290921b84018101918181019086841115614a2c57600080fd5b8286015b84811015614a50578035614a43816149a7565b8352918301918301614a30565b509695505050505050565b600082601f830112614a6c57600080fd5b81356020614a7c614a08836149c4565b82815260069290921b84018101918181019086841115614a9b57600080fd5b8286015b84811015614a5057614ab188826147ef565b835291830191604001614a9f565b600082601f830112614ad057600080fd5b81356020614ae0614a08836149c4565b82815260059290921b84018101918181019086841115614aff57600080fd5b8286015b84811015614a505780356001600160401b03811115614b225760008081fd5b614b308986838b01016149e7565b845250918301918301614b03565b60006101808284031215614b5157600080fd5b614b5961479c565b905081356001600160401b0380821115614b7257600080fd5b614b7e858386016149e7565b83526020840135915080821115614b9457600080fd5b614ba085838601614a5b565b60208401526040840135915080821115614bb957600080fd5b614bc585838601614a5b565b6040840152614bd7856060860161486f565b6060840152614be98560e086016147ef565b6080840152610120840135915080821115614c0357600080fd5b614c0f858386016149e7565b60a0840152610140840135915080821115614c2957600080fd5b614c35858386016149e7565b60c0840152610160840135915080821115614c4f57600080fd5b50614c5c84828501614abf565b60e08301525092915050565b600080600080600060808688031215614c8057600080fd5b8535945060208601356001600160401b0380821115614c9e57600080fd5b818801915088601f830112614cb257600080fd5b813581811115614cc157600080fd5b896020828501011115614cd357600080fd5b6020830196509450614ce7604089016149b9565b93506060880135915080821115614cfd57600080fd5b50614d0a88828901614b3e565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614d505781516001600160601b031687529582019590820190600101614d2b565b509495945050505050565b6040815260008351604080840152614d766080840182614d17565b90506020850151603f19848303016060850152614d938282614d17565b925050508260208301529392505050565b600080600080600060a08688031215614dbc57600080fd5b8535614dc781614713565b945060208681013594506040870135614ddf81614713565b935060608701356001600160401b03811115614dfa57600080fd5b8701601f81018913614e0b57600080fd5b8035614e19614a08826149c4565b81815260059190911b8201830190838101908b831115614e3857600080fd5b928401925b82841015614e5f578335614e5081614713565b82529284019290840190614e3d565b8096505050505050614e7360808701614924565b90509295509295909350565b60008060408385031215614e9257600080fd5b82356001600160401b0380821115614ea957600080fd5b9084019060808287031215614ebd57600080fd5b90925060208401359080821115614ed357600080fd5b50614ee085828601614b3e565b9150509250929050565b60005b83811015614f05578181015183820152602001614eed565b83811115614f14576000848401525b50505050565b60008151808452614f32816020860160208601614eea565b601f01601f19169290920160200192915050565b602081526000613ee36020830184614f1a565b60006001600160401b03821115614f7257614f7261475e565b50601f01601f191660200190565b6000614f8e614a0884614f59565b9050828152838383011115614fa257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614fca57600080fd5b613ee383833560208501614f80565b60008060408385031215614fec57600080fd5b8235614ff781614713565b915060208301356001600160401b038082111561501357600080fd5b908401906060828703121561502757600080fd5b6040516060810181811083821117156150425761504261475e565b60405282358281111561505457600080fd5b61506088828601614fb9565b82525060208301356020820152604083013560408201528093505050509250929050565b60006020828403121561509657600080fd5b81356001600160401b038111156150ac57600080fd5b8201601f810184136150bd57600080fd5b6150cc84823560208401614f80565b949350505050565b6000602082840312156150e657600080fd5b8135613ee3816149a7565b6000806020838503121561510457600080fd5b82356001600160401b038082111561511b57600080fd5b818501915085601f83011261512f57600080fd5b81358181111561513e57600080fd5b8660208260051b850101111561515357600080fd5b60209290920196919550909350505050565b60006020828403121561517757600080fd5b8151613ee38161497c565b60006020828403121561519457600080fd5b8151613ee381614713565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b60006020828403121561524357600080fd5b8151613ee3816146e7565b634e487b7160e01b600052603260045260246000fd5b60008261528157634e487b7160e01b600052601260045260246000fd5b500690565b60006060828403121561529857600080fd5b604051606081018181106001600160401b03821117156152ba576152ba61475e565b60405282516152c8816149a7565b815260208301516152d8816149a7565b602082015260408301516152eb816146e7565b60408201529392505050565b60006020828403121561530957600080fd5b5051919050565b60006020828403121561532257600080fd5b81516001600160c01b0381168114613ee357600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561536257615362615339565b500190565b600060001982141561537b5761537b615339565b5060010190565b6001600160601b03811681146108e657600080fd5b6000604082840312156153a957600080fd5b6153b1614774565b82516153bc81614713565b815260208301516153cc81615382565b60208201529392505050565b6000828210156153ea576153ea615339565b500390565b60006020828403121561540157600080fd5b815167ffffffffffffffff1981168114613ee357600080fd5b60006020828403121561542c57600080fd5b8151613ee381615382565b60006001600160601b038381169083168181101561545757615457615339565b039392505050565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b8381101561549a5781518552938201939082019060010161547e565b5092979650505050505050565b600063ffffffff8083168185168083038211156154c6576154c6615339565b01949350505050565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b60200191503681900382131561551557600080fd5b9250929050565b60006080823603121561552e57600080fd5b604051608081016001600160401b0382821081831117156155515761555161475e565b8160405284358352602085013591508082111561556d57600080fd5b61557936838701614fb9565b6020840152604085013591508082111561559257600080fd5b5061559f36828601614fb9565b60408301525060608301356155b3816149a7565b606082015292915050565b60006001600160601b03808316818516818304811182151516156155e4576155e4615339565b02949350505050565b600081600019048311821515161561560757615607615339565b500290565b60006020828403121561561e57600080fd5b81516001600160401b0381111561563457600080fd5b8201601f8101841361564557600080fd5b8051615653614a0882614f59565b81815285602083850101111561566857600080fd5b615679826020830160208601614eea565b95945050505050565b60208082526052908201527f536572766963654d616e61676572426173652e6f6e6c7952656769737472794360408201527f6f6f7264696e61746f723a2063616c6c6572206973206e6f742074686520726560608201527133b4b9ba393c9031b7b7b93234b730ba37b960711b608082015260a00190565b60018060a01b038316815260406020820152600082516060604084015261572460a0840182614f1a565b90506020840151606084015260408401516080840152809150509392505050565b60006040828403121561575757600080fd5b61575f614774565b825161576a816146e7565b815260208301516153cc816146e7565b60008235609e1983360301811261579057600080fd5b9190910192915050565b8183526000602080850194508260005b85811015614d505781356157bd81614713565b6001600160a01b03168752818301356157d581615382565b6001600160601b03168784015260409687019691909101906001016157aa565b60208082528181018390526000906040808401600586901b8501820187855b888110156158f457878303603f190184528135368b9003609e1901811261583a57600080fd5b8a0160a0813536839003601e1901811261585357600080fd5b820180356001600160401b0381111561586b57600080fd5b8060061b360384131561587d57600080fd5b82875261588f838801828c850161579a565b9250505061589e888301614924565b6001600160a01b031688860152818701358786015260606158c08184016149b9565b63ffffffff169086015260806158d78382016149b9565b63ffffffff16950194909452509285019290850190600101615814565b509098975050505050505050565b600061ffff8083168181141561591a5761591a615339565b6001019392505050565b6000808335601e1984360301811261593b57600080fd5b83016020810192503590506001600160401b0381111561595a57600080fd5b80360383131561551557600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081528135602082015260006159ac6020840184615924565b608060408501526159c160a085018284615969565b9150506159d16040850185615924565b848303601f190160608601526159e8838284615969565b9250505060608401356159fa816149a7565b63ffffffff16608093909301929092525091905056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47456967656e4441536572766963654d616e616765722e636f6e6669726d426174424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220815b248136bcef2a47f5676ca5a959ff750af8ee3158cf638a127d4321e9134864736f6c634300080c0033", } // ContractEigenDAServiceManagerABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/EigenDAThresholdRegistry/binding.go b/contracts/bindings/EigenDAThresholdRegistry/binding.go index 015e032b83..5cf59e577e 100644 --- a/contracts/bindings/EigenDAThresholdRegistry/binding.go +++ b/contracts/bindings/EigenDAThresholdRegistry/binding.go @@ -45,7 +45,7 @@ type VersionedBlobParams struct { // ContractEigenDAThresholdRegistryMetaData contains all meta data concerning the ContractEigenDAThresholdRegistry contract. var ContractEigenDAThresholdRegistryMetaData = &bind.MetaData{ ABI: "[{\"type\":\"constructor\",\"inputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"addVersionedBlobParams\",\"inputs\":[{\"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\":[{\"name\":\"\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"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\":\"_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\":\"nextBlobVersion\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"stateMutability\":\"view\"},{\"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\":\"updateDefaultSecurityThresholdsV2\",\"inputs\":[{\"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\":\"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\":\"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\":\"DefaultSecurityThresholdsV2Updated\",\"inputs\":[{\"name\":\"previousDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"newDefaultSecurityThresholdsV2\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structSecurityThresholds\",\"components\":[{\"name\":\"confirmationThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"adversaryThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"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\":\"QuorumAdversaryThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumAdversaryThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumConfirmationThresholdPercentagesUpdated\",\"inputs\":[{\"name\":\"previousQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumConfirmationThresholdPercentages\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"QuorumNumbersRequiredUpdated\",\"inputs\":[{\"name\":\"previousQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"},{\"name\":\"newQuorumNumbersRequired\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"VersionedBlobParamsAdded\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint16\",\"indexed\":true,\"internalType\":\"uint16\"},{\"name\":\"versionedBlobParams\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structVersionedBlobParams\",\"components\":[{\"name\":\"maxNumOperators\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"numChunks\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"codingRate\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false}]", - Bin: "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b603254610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff90811610156100dc576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6113ae806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c80638a476982116100ad578063ee6c3bcf11610071578063ee6c3bcf14610317578063ef6355291461032a578063f2fde38b14610368578063f74e363c1461037b578063fb87355e146103e057600080fd5b80638a476982146102c65780638da5cb5b146102d9578063a5e9b2eb146102f4578063bafa910714610307578063e15234ff1461030f57600080fd5b806332430f14116100f457806332430f14146102625780634a96aaa014610283578063715018a6146102965780637c6ee6ab1461029e5780638687feae146102b157600080fd5b806239859914610130578063048886d2146101455780631429c7c21461016d5780631c3970fa146101925780632ecfe72b146101c2575b600080fd5b61014361013e366004610e2d565b6103f3565b005b610158610153366004610e7b565b61044c565b60405190151581526020015b60405180910390f35b61018061017b366004610e7b565b6104f6565b60405160ff9091168152602001610164565b6005546101a89060ff8082169161010090041682565b6040805160ff938416815292909116602083015201610164565b6102326101d0366004610e9d565b60408051606080820183526000808352602080840182905292840181905261ffff9490941684526004825292829020825193840183525463ffffffff808216855264010000000082041691840191909152600160401b900460ff169082015290565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff1690820152606001610164565b6003546102709061ffff1681565b60405161ffff9091168152602001610164565b610143610291366004610e2d565b610564565b6101436105b9565b6101436102ac366004610f1f565b6105cd565b6102b9610639565b6040516101649190610f88565b6102706102d436600461101e565b6106c7565b6065546040516001600160a01b039091168152602001610164565b610143610302366004610e2d565b6106e0565b6102b9610735565b6102b9610742565b610180610325366004610e7b565b61074f565b6040805180820182526000808252602091820152815180830190925260055460ff80821684526101009091041690820152604051610164919061103a565b61014361037636600461106f565b61077b565b6103ba610389366004610e9d565b60046020526000908152604090205463ffffffff80821691640100000000810490911690600160401b900460ff1683565b6040805163ffffffff948516815293909216602084015260ff1690820152606001610164565b6101436103ee366004611114565b6107f9565b6103fb6109b4565b7f9f1ea99a8363f2964c53c763811648354a8437441b30b39465f9d26118d6a5a060018260405161042d92919061121d565b60405180910390a18051610448906001906020840190610cdd565b5050565b600080600160ff84161b9050806104ec60028054610469906111e2565b80601f0160208091040260200160405190810160405280929190818152602001828054610495906111e2565b80156104e25780601f106104b7576101008083540402835291602001916104e2565b820191906000526020600020905b8154815290600101906020018083116104c557829003601f168201915b5050505050610a0e565b9091161492915050565b60008160ff1660018054610509906111e2565b9050111561055f5760018260ff168154610522906111e2565b8110610530576105306112d9565b81546001161561054f5790600052602060002090602091828204019190065b9054901a600160f81b0260f81c90505b919050565b61056c6109b4565b7ff73542111561dc551cbbe9111c4dd3a040d53d7bc0339a53290f4d7f9a95c3cc60008260405161059e92919061121d565b60405180910390a18051610448906000906020840190610cdd565b6105c16109b4565b6105cb6000610b9b565b565b6105d56109b4565b7ffe03afd62c76a6aed7376ae995cc55d073ba9d83d83ac8efc5446f8da4d509976005826040516106079291906112ef565b60405180910390a180516005805460209093015160ff9081166101000261ffff19909416921691909117919091179055565b60008054610646906111e2565b80601f0160208091040260200160405190810160405280929190818152602001828054610672906111e2565b80156106bf5780601f10610694576101008083540402835291602001916106bf565b820191906000526020600020905b8154815290600101906020018083116106a257829003601f168201915b505050505081565b60006106d16109b4565b6106da82610bed565b92915050565b6106e86109b4565b7f60c0ba1da794fcbbf549d370512442cb8f3f3f774cb557205cc88c6f842cb36a60028260405161071a92919061121d565b60405180910390a18051610448906002906020840190610cdd565b60018054610646906111e2565b60028054610646906111e2565b60008160ff1660008054610762906111e2565b9050111561055f5760008260ff168154610522906111e2565b6107836109b4565b6001600160a01b0381166107ed5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6107f681610b9b565b50565b603254610100900460ff16158080156108195750603254600160ff909116105b806108335750303b158015610833575060325460ff166001145b6108965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107e4565b6032805460ff1916600117905580156108b9576032805461ff0019166101001790555b6108c287610b9b565b85516108d5906000906020890190610cdd565b5084516108e9906001906020880190610cdd565b5083516108fd906002906020870190610cdd565b50815160058054602085015160ff9081166101000261ffff1990921693169290921791909117905560005b835181101561096457610953848281518110610946576109466112d9565b6020026020010151610bed565b5061095d8161133b565b9050610928565b5080156109ab576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6065546001600160a01b031633146105cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e4565b600061010082511115610a975760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016107e4565b8151610aa557506000919050565b60008083600081518110610abb57610abb6112d9565b0160200151600160f89190911c81901b92505b8451811015610b9257848181518110610ae957610ae96112d9565b0160200151600160f89190911c1b9150828211610b7e5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016107e4565b91811791610b8b8161133b565b9050610ace565b50909392505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6003805461ffff90811660009081526004602090815260408083208651815488850180518a8601805163ffffffff95861667ffffffffffffffff199095168517640100000000938716939093029290921768ff00000000000000001916600160401b60ff9384160217909555985485519283529051909216948101949094529051909516908201529092909116907fdbee9d337a6e5fde30966e157673aaeeb6a0134afaf774a4b6979b7c79d07da49060600160405180910390a26003805461ffff16906000610cbc83611356565b91906101000a81548161ffff021916908361ffff1602179055509050919050565b828054610ce9906111e2565b90600052602060002090601f016020900481019282610d0b5760008555610d51565b82601f10610d2457805160ff1916838001178555610d51565b82800160010185558215610d51579182015b82811115610d51578251825591602001919060010190610d36565b50610d5d929150610d61565b5090565b5b80821115610d5d5760008155600101610d62565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610db557610db5610d76565b604052919050565b600082601f830112610dce57600080fd5b813567ffffffffffffffff811115610de857610de8610d76565b610dfb601f8201601f1916602001610d8c565b818152846020838601011115610e1057600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215610e3f57600080fd5b813567ffffffffffffffff811115610e5657600080fd5b610e6284828501610dbd565b949350505050565b803560ff8116811461055f57600080fd5b600060208284031215610e8d57600080fd5b610e9682610e6a565b9392505050565b600060208284031215610eaf57600080fd5b813561ffff81168114610e9657600080fd5b600060408284031215610ed357600080fd5b6040516040810181811067ffffffffffffffff82111715610ef657610ef6610d76565b604052905080610f0583610e6a565b8152610f1360208401610e6a565b60208201525092915050565b600060408284031215610f3157600080fd5b610e968383610ec1565b6000815180845260005b81811015610f6157602081850181015186830182015201610f45565b81811115610f73576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610e966020830184610f3b565b803563ffffffff8116811461055f57600080fd5b600060608284031215610fc157600080fd5b6040516060810181811067ffffffffffffffff82111715610fe457610fe4610d76565b604052905080610ff383610f9b565b815261100160208401610f9b565b602082015261101260408401610e6a565b60408201525092915050565b60006060828403121561103057600080fd5b610e968383610faf565b604081016106da8284805160ff908116835260209182015116910152565b80356001600160a01b038116811461055f57600080fd5b60006020828403121561108157600080fd5b610e9682611058565b600082601f83011261109b57600080fd5b8135602067ffffffffffffffff8211156110b7576110b7610d76565b6110c5818360051b01610d8c565b828152606092830285018201928282019190878511156110e457600080fd5b8387015b85811015611107576110fa8982610faf565b84529284019281016110e8565b5090979650505050505050565b60008060008060008060e0878903121561112d57600080fd5b61113687611058565b9550602087013567ffffffffffffffff8082111561115357600080fd5b61115f8a838b01610dbd565b9650604089013591508082111561117557600080fd5b6111818a838b01610dbd565b9550606089013591508082111561119757600080fd5b6111a38a838b01610dbd565b945060808901359150808211156111b957600080fd5b506111c689828a0161108a565b9250506111d68860a08901610ec1565b90509295509295509295565b600181811c908216806111f657607f821691505b6020821081141561121757634e487b7160e01b600052602260045260246000fd5b50919050565b60408152600080845481600182811c91508083168061123d57607f831692505b602080841082141561125d57634e487b7160e01b86526022600452602486fd5b604088018490526060880182801561127c576001811461128d576112b8565b60ff198716825282820197506112b8565b60008c81526020902060005b878110156112b257815484820152908601908401611299565b83019850505b50508786038189015250505050506112d08185610f3b565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b825460ff808216835260089190911c16602082015260808101610e966040830184805160ff908116835260209182015116910152565b634e487b7160e01b600052601160045260246000fd5b600060001982141561134f5761134f611325565b5060010190565b600061ffff8083168181141561136e5761136e611325565b600101939250505056fea2646970667358221220094b618d57452992e77725411d8005c8c37ba571622eb1242b8005762a2439a964736f6c634300080c0033", + Bin: "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b603254610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff90811610156100dc576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6113ae806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c80638a476982116100ad578063ee6c3bcf11610071578063ee6c3bcf14610317578063ef6355291461032a578063f2fde38b14610368578063f74e363c1461037b578063fb87355e146103e057600080fd5b80638a476982146102c65780638da5cb5b146102d9578063a5e9b2eb146102f4578063bafa910714610307578063e15234ff1461030f57600080fd5b806332430f14116100f457806332430f14146102625780634a96aaa014610283578063715018a6146102965780637c6ee6ab1461029e5780638687feae146102b157600080fd5b806239859914610130578063048886d2146101455780631429c7c21461016d5780631c3970fa146101925780632ecfe72b146101c2575b600080fd5b61014361013e366004610e2d565b6103f3565b005b610158610153366004610e7b565b61044c565b60405190151581526020015b60405180910390f35b61018061017b366004610e7b565b6104f6565b60405160ff9091168152602001610164565b6005546101a89060ff8082169161010090041682565b6040805160ff938416815292909116602083015201610164565b6102326101d0366004610e9d565b60408051606080820183526000808352602080840182905292840181905261ffff9490941684526004825292829020825193840183525463ffffffff808216855264010000000082041691840191909152600160401b900460ff169082015290565b60408051825163ffffffff9081168252602080850151909116908201529181015160ff1690820152606001610164565b6003546102709061ffff1681565b60405161ffff9091168152602001610164565b610143610291366004610e2d565b610564565b6101436105b9565b6101436102ac366004610f1f565b6105cd565b6102b9610639565b6040516101649190610f88565b6102706102d436600461101e565b6106c7565b6065546040516001600160a01b039091168152602001610164565b610143610302366004610e2d565b6106e0565b6102b9610735565b6102b9610742565b610180610325366004610e7b565b61074f565b6040805180820182526000808252602091820152815180830190925260055460ff80821684526101009091041690820152604051610164919061103a565b61014361037636600461106f565b61077b565b6103ba610389366004610e9d565b60046020526000908152604090205463ffffffff80821691640100000000810490911690600160401b900460ff1683565b6040805163ffffffff948516815293909216602084015260ff1690820152606001610164565b6101436103ee366004611114565b6107f9565b6103fb6109b4565b7f9f1ea99a8363f2964c53c763811648354a8437441b30b39465f9d26118d6a5a060018260405161042d92919061121d565b60405180910390a18051610448906001906020840190610cdd565b5050565b600080600160ff84161b9050806104ec60028054610469906111e2565b80601f0160208091040260200160405190810160405280929190818152602001828054610495906111e2565b80156104e25780601f106104b7576101008083540402835291602001916104e2565b820191906000526020600020905b8154815290600101906020018083116104c557829003601f168201915b5050505050610a0e565b9091161492915050565b60008160ff1660018054610509906111e2565b9050111561055f5760018260ff168154610522906111e2565b8110610530576105306112d9565b81546001161561054f5790600052602060002090602091828204019190065b9054901a600160f81b0260f81c90505b919050565b61056c6109b4565b7ff73542111561dc551cbbe9111c4dd3a040d53d7bc0339a53290f4d7f9a95c3cc60008260405161059e92919061121d565b60405180910390a18051610448906000906020840190610cdd565b6105c16109b4565b6105cb6000610b9b565b565b6105d56109b4565b7ffe03afd62c76a6aed7376ae995cc55d073ba9d83d83ac8efc5446f8da4d509976005826040516106079291906112ef565b60405180910390a180516005805460209093015160ff9081166101000261ffff19909416921691909117919091179055565b60008054610646906111e2565b80601f0160208091040260200160405190810160405280929190818152602001828054610672906111e2565b80156106bf5780601f10610694576101008083540402835291602001916106bf565b820191906000526020600020905b8154815290600101906020018083116106a257829003601f168201915b505050505081565b60006106d16109b4565b6106da82610bed565b92915050565b6106e86109b4565b7f60c0ba1da794fcbbf549d370512442cb8f3f3f774cb557205cc88c6f842cb36a60028260405161071a92919061121d565b60405180910390a18051610448906002906020840190610cdd565b60018054610646906111e2565b60028054610646906111e2565b60008160ff1660008054610762906111e2565b9050111561055f5760008260ff168154610522906111e2565b6107836109b4565b6001600160a01b0381166107ed5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6107f681610b9b565b50565b603254610100900460ff16158080156108195750603254600160ff909116105b806108335750303b158015610833575060325460ff166001145b6108965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107e4565b6032805460ff1916600117905580156108b9576032805461ff0019166101001790555b6108c287610b9b565b85516108d5906000906020890190610cdd565b5084516108e9906001906020880190610cdd565b5083516108fd906002906020870190610cdd565b50815160058054602085015160ff9081166101000261ffff1990921693169290921791909117905560005b835181101561096457610953848281518110610946576109466112d9565b6020026020010151610bed565b5061095d8161133b565b9050610928565b5080156109ab576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6065546001600160a01b031633146105cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e4565b600061010082511115610a975760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016107e4565b8151610aa557506000919050565b60008083600081518110610abb57610abb6112d9565b0160200151600160f89190911c81901b92505b8451811015610b9257848181518110610ae957610ae96112d9565b0160200151600160f89190911c1b9150828211610b7e5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016107e4565b91811791610b8b8161133b565b9050610ace565b50909392505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6003805461ffff90811660009081526004602090815260408083208651815488850180518a8601805163ffffffff95861667ffffffffffffffff199095168517640100000000938716939093029290921768ff00000000000000001916600160401b60ff9384160217909555985485519283529051909216948101949094529051909516908201529092909116907fdbee9d337a6e5fde30966e157673aaeeb6a0134afaf774a4b6979b7c79d07da49060600160405180910390a26003805461ffff16906000610cbc83611356565b91906101000a81548161ffff021916908361ffff1602179055509050919050565b828054610ce9906111e2565b90600052602060002090601f016020900481019282610d0b5760008555610d51565b82601f10610d2457805160ff1916838001178555610d51565b82800160010185558215610d51579182015b82811115610d51578251825591602001919060010190610d36565b50610d5d929150610d61565b5090565b5b80821115610d5d5760008155600101610d62565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610db557610db5610d76565b604052919050565b600082601f830112610dce57600080fd5b813567ffffffffffffffff811115610de857610de8610d76565b610dfb601f8201601f1916602001610d8c565b818152846020838601011115610e1057600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215610e3f57600080fd5b813567ffffffffffffffff811115610e5657600080fd5b610e6284828501610dbd565b949350505050565b803560ff8116811461055f57600080fd5b600060208284031215610e8d57600080fd5b610e9682610e6a565b9392505050565b600060208284031215610eaf57600080fd5b813561ffff81168114610e9657600080fd5b600060408284031215610ed357600080fd5b6040516040810181811067ffffffffffffffff82111715610ef657610ef6610d76565b604052905080610f0583610e6a565b8152610f1360208401610e6a565b60208201525092915050565b600060408284031215610f3157600080fd5b610e968383610ec1565b6000815180845260005b81811015610f6157602081850181015186830182015201610f45565b81811115610f73576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610e966020830184610f3b565b803563ffffffff8116811461055f57600080fd5b600060608284031215610fc157600080fd5b6040516060810181811067ffffffffffffffff82111715610fe457610fe4610d76565b604052905080610ff383610f9b565b815261100160208401610f9b565b602082015261101260408401610e6a565b60408201525092915050565b60006060828403121561103057600080fd5b610e968383610faf565b604081016106da8284805160ff908116835260209182015116910152565b80356001600160a01b038116811461055f57600080fd5b60006020828403121561108157600080fd5b610e9682611058565b600082601f83011261109b57600080fd5b8135602067ffffffffffffffff8211156110b7576110b7610d76565b6110c5818360051b01610d8c565b828152606092830285018201928282019190878511156110e457600080fd5b8387015b85811015611107576110fa8982610faf565b84529284019281016110e8565b5090979650505050505050565b60008060008060008060e0878903121561112d57600080fd5b61113687611058565b9550602087013567ffffffffffffffff8082111561115357600080fd5b61115f8a838b01610dbd565b9650604089013591508082111561117557600080fd5b6111818a838b01610dbd565b9550606089013591508082111561119757600080fd5b6111a38a838b01610dbd565b945060808901359150808211156111b957600080fd5b506111c689828a0161108a565b9250506111d68860a08901610ec1565b90509295509295509295565b600181811c908216806111f657607f821691505b6020821081141561121757634e487b7160e01b600052602260045260246000fd5b50919050565b60408152600080845481600182811c91508083168061123d57607f831692505b602080841082141561125d57634e487b7160e01b86526022600452602486fd5b604088018490526060880182801561127c576001811461128d576112b8565b60ff198716825282820197506112b8565b60008c81526020902060005b878110156112b257815484820152908601908401611299565b83019850505b50508786038189015250505050506112d08185610f3b565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b825460ff808216835260089190911c16602082015260808101610e966040830184805160ff908116835260209182015116910152565b634e487b7160e01b600052601160045260246000fd5b600060001982141561134f5761134f611325565b5060010190565b600061ffff8083168181141561136e5761136e611325565b600101939250505056fea26469706673582212209799db963b697f63b0238c62024a3061c6b8aad2b989a3d427bf58cd9844f44864736f6c634300080c0033", } // ContractEigenDAThresholdRegistryABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/MockRollup/binding.go b/contracts/bindings/MockRollup/binding.go index 9bbbeb7a00..3fcae11f6a 100644 --- a/contracts/bindings/MockRollup/binding.go +++ b/contracts/bindings/MockRollup/binding.go @@ -83,7 +83,7 @@ type QuorumBlobParam struct { // ContractMockRollupMetaData contains all meta data concerning the ContractMockRollup contract. var ContractMockRollupMetaData = &bind.MetaData{ 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\":\"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: "0x60806040523480156200001157600080fd5b5060405162001ecc38038062001ecc833981016040819052620000349162000067565b600080546001600160a01b0319166001600160a01b039390931692909217909155805160015560200151600255620000f9565b60008082840360608112156200007c57600080fd5b83516001600160a01b03811681146200009457600080fd5b92506040601f1982011215620000a957600080fd5b50604080519081016001600160401b0381118282101715620000db57634e487b7160e01b600052604160045260246000fd5b60409081526020858101518352940151938101939093525092909150565b611dc380620001096000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806349ce89971461005c578063b5144c73146100cf578063cfc4af55146100e4578063d2d16eb214610107578063fc30cad01461012a575b600080fd5b6100b761006a36600461154e565b6003602090815260009182526040918290208054835180850190945260018201548452600290910154918301919091526001600160a01b03811691600160a01b90910463ffffffff169083565b6040516100c693929190611567565b60405180910390f35b6100e26100dd36600461189e565b610155565b005b6001546002546100f2919082565b604080519283526020830191909152016100c6565b61011a610115366004611a7b565b610270565b60405190151581526020016100c6565b60005461013d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b426000908152600360205260409020546001600160a01b0316156101dd5760405162461bcd60e51b815260206004820152603460248201527f4d6f636b526f6c6c75702e706f7374436f6d6d69746d656e743a20436f6d6d696044820152731d1b595b9d08185b1c9958591e481c1bdcdd195960621b60648201526084015b60405180910390fd5b6000546101f59083906001600160a01b0316836103f8565b506040805160608101825233815260208381015163ffffffff90811682840190815294518385019081524260009081526003845294909420925183549551909116600160a01b026001600160c01b03199095166001600160a01b03919091161793909317815590518051600183015590910151600290910155565b6000848152600360209081526040808320815160608101835281546001600160a01b038082168352600160a01b90910463ffffffff16828601528351808501855260018401548152600290930154948301949094529182015280519091166103385760405162461bcd60e51b815260206004820152603560248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527410dbdb5b5a5d1b595b9d081b9bdd081c1bdcdd1959605a1b60648201526084016101d4565b806020015163ffffffff1685106103c35760405162461bcd60e51b815260206004820152604360248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527f506f696e74206d757374206265206c657373207468616e2064617461206c656e6064820152620cee8d60eb1b608482015260a4016101d4565b60408051808201825260015481526002546020820152908201516103ec91879186919088610ab8565b9150505b949350505050565b805160405163eccbbfc960e01b815263ffffffff90911660048201526001600160a01b0383169063eccbbfc990602401602060405180830381865afa158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190611ae9565b6104768260400151610b35565b146104fd5760405162461bcd60e51b815260206004820152604b60248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206260448201527f617463684d6574616461746120646f6573206e6f74206d617463682073746f7260648201526a6564206d6574616461746160a81b608482015260a4016101d4565b60608101516040820151515161054f919061051786610bac565b60405160200161052991815260200190565b60405160208183030381529060405280519060200120846020015163ffffffff16610bdc565b6105c15760405162461bcd60e51b815260206004820152603960248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206960448201527f6e636c7573696f6e2070726f6f6620697320696e76616c69640000000000000060648201526084016101d4565b6000805b8460400151518110156109a157846040015181815181106105e8576105e8611b02565b60200260200101516000015160ff16836040015160000151602001518460800151838151811061061a5761061a611b02565b0160200151815160f89190911c90811061063657610636611b02565b016020015160f81c146106b15760405162461bcd60e51b815260206004820152603a60248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a207160448201527f756f72756d4e756d62657220646f6573206e6f74206d6174636800000000000060648201526084016101d4565b846040015181815181106106c7576106c7611b02565b60200260200101516040015160ff16856040015182815181106106ec576106ec611b02565b60200260200101516020015160ff161061077f5760405162461bcd60e51b815260206004820152604860248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206160448201527f64766572736172795468726573686f6c6450657263656e74616765206973206e6064820152671bdd081d985b1a5960c21b608482015260a4016101d4565b60006107af858760400151848151811061079b5761079b611b02565b60200260200101516000015160ff16610bf4565b905060ff811615610866578060ff16866040015183815181106107d4576107d4611b02565b60200260200101516020015160ff1610156108665760405162461bcd60e51b815260206004820152604660248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206160448201527f64766572736172795468726573686f6c6450657263656e74616765206973206e6064820152651bdd081b595d60d21b608482015260a4016101d4565b8560400151828151811061087c5761087c611b02565b60200260200101516040015160ff1684604001516000015160400151856080015184815181106108ae576108ae611b02565b0160200151815160f89190911c9081106108ca576108ca611b02565b016020015160f81c10156109585760405162461bcd60e51b815260206004820152604960248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206360448201527f6f6e6669726d6174696f6e5468726573686f6c6450657263656e7461676520696064820152681cc81b9bdd081b595d60ba1b608482015260a4016101d4565b61098b838760400151848151811061097257610972611b02565b602002602001015160000151600160ff919091161b1790565b925050808061099990611b2e565b9150506105c5565b50610a1a610a13846001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156109e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0e9190810190611b75565b610ceb565b8281161490565b610ab25760405162461bcd60e51b815260206004820152605960248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a207260448201527f657175697265642071756f72756d7320617265206e6f7420612073756273657460648201527f206f662074686520636f6e6669726d65642071756f72756d7300000000000000608482015260a4016101d4565b50505050565b600080610aef610aea604080518082018252600080825260209182015281518083019092526001825260029082015290565b610e78565b9050610b2a610b08610b01838a610f37565b8790610fce565b84610b1d610b16858b610f37565b8890610fce565b610b25611062565b611122565b979650505050505050565b6000610ba68260000151604051602001610b4f9190611c18565b60408051808303601f1901815282825280516020918201208682015187840151838601929092528484015260e01b6001600160e01b0319166060840152815160448185030181526064909301909152815191012090565b92915050565b600081604051602001610bbf9190611c78565b604051602081830303815290604052805190602001209050919050565b600083610bea86858561138f565b1495945050505050565b600081836001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c5d9190810190611b75565b511115610ba657826001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ca2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cca9190810190611b75565b8281518110610cdb57610cdb611b02565b016020015160f81c905092915050565b600061010082511115610d745760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016101d4565b8151610d8257506000919050565b60008083600081518110610d9857610d98611b02565b0160200151600160f89190911c81901b92505b8451811015610e6f57848181518110610dc657610dc6611b02565b0160200151600160f89190911c1b9150828211610e5b5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016101d4565b91811791610e6881611b2e565b9050610dab565b50909392505050565b60408051808201909152600080825260208201528151158015610e9d57506020820151155b15610ebb575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478460200151610f009190611d1d565b610f2a907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611d3f565b905292915050565b919050565b6040805180820190915260008082526020820152610f53611492565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808015610f8657610f88565bfe5b5080610fc65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016101d4565b505092915050565b6040805180820190915260008082526020820152610fea6114b0565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808015610f86575080610fc65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016101d4565b61106a6114ce565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820182528581526020808201859052825180840190935285835282018390526000916111516114f3565b60005b600281101561131657600061116a826006611d56565b905084826002811061117e5761117e611b02565b60200201515183611190836000611d75565b600c81106111a0576111a0611b02565b60200201528482600281106111b7576111b7611b02565b602002015160200151838260016111ce9190611d75565b600c81106111de576111de611b02565b60200201528382600281106111f5576111f5611b02565b6020020151515183611208836002611d75565b600c811061121857611218611b02565b602002015283826002811061122f5761122f611b02565b6020020151516001602002015183611248836003611d75565b600c811061125857611258611b02565b602002015283826002811061126f5761126f611b02565b60200201516020015160006002811061128a5761128a611b02565b60200201518361129b836004611d75565b600c81106112ab576112ab611b02565b60200201528382600281106112c2576112c2611b02565b6020020151602001516001600281106112dd576112dd611b02565b6020020151836112ee836005611d75565b600c81106112fe576112fe611b02565b6020020152508061130e81611b2e565b915050611154565b5061131f611512565b60006020826101808560086107d05a03fa9050808015610f8657508061137f5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b60448201526064016101d4565b5051151598975050505050505050565b60006020845161139f9190611d1d565b156114265760405162461bcd60e51b815260206004820152604b60248201527f4d65726b6c652e70726f63657373496e636c7573696f6e50726f6f664b65636360448201527f616b3a2070726f6f66206c656e6774682073686f756c642062652061206d756c60648201526a3a34b836329037b310199960a91b608482015260a4016101d4565b8260205b855181116114895761143d600285611d1d565b61145e57816000528086015160205260406000209150600284049350611477565b8086015160005281602052604060002091506002840493505b611482602082611d75565b905061142a565b50949350505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60405180604001604052806114e1611530565b81526020016114ee611530565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561156057600080fd5b5035919050565b6001600160a01b038416815263ffffffff83166020820152608081016103f0604083018480518252602090810151910152565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156115d3576115d361159a565b60405290565b6040516080810167ffffffffffffffff811182821017156115d3576115d361159a565b60405160a0810167ffffffffffffffff811182821017156115d3576115d361159a565b6040805190810167ffffffffffffffff811182821017156115d3576115d361159a565b604051601f8201601f1916810167ffffffffffffffff8111828210171561166b5761166b61159a565b604052919050565b803563ffffffff81168114610f3257600080fd5b803560ff81168114610f3257600080fd5b600067ffffffffffffffff8211156116b2576116b261159a565b50601f01601f191660200190565b600082601f8301126116d157600080fd5b81356116e46116df82611698565b611642565b8181528460208386010111156116f957600080fd5b816020850160208301376000918101602001919091529392505050565b60006060828403121561172857600080fd5b6117306115b0565b9050813567ffffffffffffffff8082111561174a57600080fd5b908301906080828603121561175e57600080fd5b6117666115d9565b8235815260208301358281111561177c57600080fd5b611788878286016116c0565b6020830152506040830135828111156117a057600080fd5b6117ac878286016116c0565b6040830152506117be60608401611673565b606082015283525050602082810135908201526117dd60408301611673565b604082015292915050565b600060a082840312156117fa57600080fd5b6118026115fc565b905061180d82611673565b815261181b60208301611673565b6020820152604082013567ffffffffffffffff8082111561183b57600080fd5b61184785838601611716565b6040840152606084013591508082111561186057600080fd5b61186c858386016116c0565b6060840152608084013591508082111561188557600080fd5b50611892848285016116c0565b60808301525092915050565b60008060408084860312156118b257600080fd5b833567ffffffffffffffff808211156118ca57600080fd5b908501908187036080808212156118e057600080fd5b6118e86115b0565b858312156118f557600080fd5b6118fd61161f565b9250843583526020808601358185015283825261191b878701611673565b8183015260609350838601358581111561193457600080fd5b8087019650508a601f87011261194957600080fd5b85358581111561195b5761195b61159a565b611969828260051b01611642565b81815260079190911b8701820190828101908d83111561198857600080fd5b978301975b828910156119f45785898f0312156119a55760008081fd5b6119ad6115d9565b6119b68a611687565b81526119c3858b01611687565b858201526119d28b8b01611687565b8b8201526119e1888b01611673565b818901528252978501979083019061198d565b98840198909852509097508801359450505080831115611a1357600080fd5b5050611a21858286016117e8565b9150509250929050565b600082601f830112611a3c57600080fd5b611a4461161f565b806040840185811115611a5657600080fd5b845b81811015611a70578035845260209384019301611a58565b509095945050505050565b60008060008084860360e0811215611a9257600080fd5b85359450602086013593506080603f1982011215611aaf57600080fd5b50611ab861161f565b611ac58760408801611a2b565b8152611ad48760808801611a2b565b60208201529396929550929360c00135925050565b600060208284031215611afb57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611b4257611b42611b18565b5060010190565b60005b83811015611b64578181015183820152602001611b4c565b83811115610ab25750506000910152565b600060208284031215611b8757600080fd5b815167ffffffffffffffff811115611b9e57600080fd5b8201601f81018413611baf57600080fd5b8051611bbd6116df82611698565b818152856020838501011115611bd257600080fd5b611be3826020830160208601611b49565b95945050505050565b60008151808452611c04816020860160208601611b49565b601f01601f19169290920160200192915050565b60208152815160208201526000602083015160806040840152611c3e60a0840182611bec565b90506040840151601f19848303016060850152611c5b8282611bec565b91505063ffffffff60608501511660808401528091505092915050565b60208082528251805183830152810151604083015260009060a0830181850151606063ffffffff808316828801526040925082880151608080818a015285825180885260c08b0191508884019750600093505b80841015611d0e578751805160ff90811684528a82015181168b850152888201511688840152860151851686830152968801966001939093019290820190611ccb565b509a9950505050505050505050565b600082611d3a57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015611d5157611d51611b18565b500390565b6000816000190483118215151615611d7057611d70611b18565b500290565b60008219821115611d8857611d88611b18565b50019056fea26469706673582212203eb8469450e15c2f6053e675e9ca80aba4ccd8fdcd79c45cc463c45b7345f09f64736f6c634300080c0033", + Bin: "0x60806040523480156200001157600080fd5b5060405162001ecc38038062001ecc833981016040819052620000349162000067565b600080546001600160a01b0319166001600160a01b039390931692909217909155805160015560200151600255620000f9565b60008082840360608112156200007c57600080fd5b83516001600160a01b03811681146200009457600080fd5b92506040601f1982011215620000a957600080fd5b50604080519081016001600160401b0381118282101715620000db57634e487b7160e01b600052604160045260246000fd5b60409081526020858101518352940151938101939093525092909150565b611dc380620001096000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806349ce89971461005c578063b5144c73146100cf578063cfc4af55146100e4578063d2d16eb214610107578063fc30cad01461012a575b600080fd5b6100b761006a36600461154e565b6003602090815260009182526040918290208054835180850190945260018201548452600290910154918301919091526001600160a01b03811691600160a01b90910463ffffffff169083565b6040516100c693929190611567565b60405180910390f35b6100e26100dd36600461189e565b610155565b005b6001546002546100f2919082565b604080519283526020830191909152016100c6565b61011a610115366004611a7b565b610270565b60405190151581526020016100c6565b60005461013d906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b426000908152600360205260409020546001600160a01b0316156101dd5760405162461bcd60e51b815260206004820152603460248201527f4d6f636b526f6c6c75702e706f7374436f6d6d69746d656e743a20436f6d6d696044820152731d1b595b9d08185b1c9958591e481c1bdcdd195960621b60648201526084015b60405180910390fd5b6000546101f59083906001600160a01b0316836103f8565b506040805160608101825233815260208381015163ffffffff90811682840190815294518385019081524260009081526003845294909420925183549551909116600160a01b026001600160c01b03199095166001600160a01b03919091161793909317815590518051600183015590910151600290910155565b6000848152600360209081526040808320815160608101835281546001600160a01b038082168352600160a01b90910463ffffffff16828601528351808501855260018401548152600290930154948301949094529182015280519091166103385760405162461bcd60e51b815260206004820152603560248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527410dbdb5b5a5d1b595b9d081b9bdd081c1bdcdd1959605a1b60648201526084016101d4565b806020015163ffffffff1685106103c35760405162461bcd60e51b815260206004820152604360248201527f4d6f636b526f6c6c75702e6368616c6c656e6765436f6d6d69746d656e743a2060448201527f506f696e74206d757374206265206c657373207468616e2064617461206c656e6064820152620cee8d60eb1b608482015260a4016101d4565b60408051808201825260015481526002546020820152908201516103ec91879186919088610ab8565b9150505b949350505050565b805160405163eccbbfc960e01b815263ffffffff90911660048201526001600160a01b0383169063eccbbfc990602401602060405180830381865afa158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190611ae9565b6104768260400151610b35565b146104fd5760405162461bcd60e51b815260206004820152604b60248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206260448201527f617463684d6574616461746120646f6573206e6f74206d617463682073746f7260648201526a6564206d6574616461746160a81b608482015260a4016101d4565b60608101516040820151515161054f919061051786610bac565b60405160200161052991815260200190565b60405160208183030381529060405280519060200120846020015163ffffffff16610bdc565b6105c15760405162461bcd60e51b815260206004820152603960248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206960448201527f6e636c7573696f6e2070726f6f6620697320696e76616c69640000000000000060648201526084016101d4565b6000805b8460400151518110156109a157846040015181815181106105e8576105e8611b02565b60200260200101516000015160ff16836040015160000151602001518460800151838151811061061a5761061a611b02565b0160200151815160f89190911c90811061063657610636611b02565b016020015160f81c146106b15760405162461bcd60e51b815260206004820152603a60248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a207160448201527f756f72756d4e756d62657220646f6573206e6f74206d6174636800000000000060648201526084016101d4565b846040015181815181106106c7576106c7611b02565b60200260200101516040015160ff16856040015182815181106106ec576106ec611b02565b60200260200101516020015160ff161061077f5760405162461bcd60e51b815260206004820152604860248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206160448201527f64766572736172795468726573686f6c6450657263656e74616765206973206e6064820152671bdd081d985b1a5960c21b608482015260a4016101d4565b60006107af858760400151848151811061079b5761079b611b02565b60200260200101516000015160ff16610bf4565b905060ff811615610866578060ff16866040015183815181106107d4576107d4611b02565b60200260200101516020015160ff1610156108665760405162461bcd60e51b815260206004820152604660248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206160448201527f64766572736172795468726573686f6c6450657263656e74616765206973206e6064820152651bdd081b595d60d21b608482015260a4016101d4565b8560400151828151811061087c5761087c611b02565b60200260200101516040015160ff1684604001516000015160400151856080015184815181106108ae576108ae611b02565b0160200151815160f89190911c9081106108ca576108ca611b02565b016020015160f81c10156109585760405162461bcd60e51b815260206004820152604960248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a206360448201527f6f6e6669726d6174696f6e5468726573686f6c6450657263656e7461676520696064820152681cc81b9bdd081b595d60ba1b608482015260a4016101d4565b61098b838760400151848151811061097257610972611b02565b602002602001015160000151600160ff919091161b1790565b925050808061099990611b2e565b9150506105c5565b50610a1a610a13846001600160a01b031663e15234ff6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156109e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0e9190810190611b75565b610ceb565b8281161490565b610ab25760405162461bcd60e51b815260206004820152605960248201527f456967656e4441526f6c6c75705574696c732e766572696679426c6f623a207260448201527f657175697265642071756f72756d7320617265206e6f7420612073756273657460648201527f206f662074686520636f6e6669726d65642071756f72756d7300000000000000608482015260a4016101d4565b50505050565b600080610aef610aea604080518082018252600080825260209182015281518083019092526001825260029082015290565b610e78565b9050610b2a610b08610b01838a610f37565b8790610fce565b84610b1d610b16858b610f37565b8890610fce565b610b25611062565b611122565b979650505050505050565b6000610ba68260000151604051602001610b4f9190611c18565b60408051808303601f1901815282825280516020918201208682015187840151838601929092528484015260e01b6001600160e01b0319166060840152815160448185030181526064909301909152815191012090565b92915050565b600081604051602001610bbf9190611c78565b604051602081830303815290604052805190602001209050919050565b600083610bea86858561138f565b1495945050505050565b600081836001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c5d9190810190611b75565b511115610ba657826001600160a01b0316638687feae6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610ca2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cca9190810190611b75565b8281518110610cdb57610cdb611b02565b016020015160f81c905092915050565b600061010082511115610d745760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016101d4565b8151610d8257506000919050565b60008083600081518110610d9857610d98611b02565b0160200151600160f89190911c81901b92505b8451811015610e6f57848181518110610dc657610dc6611b02565b0160200151600160f89190911c1b9150828211610e5b5760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016101d4565b91811791610e6881611b2e565b9050610dab565b50909392505050565b60408051808201909152600080825260208201528151158015610e9d57506020820151155b15610ebb575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478460200151610f009190611d1d565b610f2a907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611d3f565b905292915050565b919050565b6040805180820190915260008082526020820152610f53611492565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808015610f8657610f88565bfe5b5080610fc65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016101d4565b505092915050565b6040805180820190915260008082526020820152610fea6114b0565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808015610f86575080610fc65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016101d4565b61106a6114ce565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820182528581526020808201859052825180840190935285835282018390526000916111516114f3565b60005b600281101561131657600061116a826006611d56565b905084826002811061117e5761117e611b02565b60200201515183611190836000611d75565b600c81106111a0576111a0611b02565b60200201528482600281106111b7576111b7611b02565b602002015160200151838260016111ce9190611d75565b600c81106111de576111de611b02565b60200201528382600281106111f5576111f5611b02565b6020020151515183611208836002611d75565b600c811061121857611218611b02565b602002015283826002811061122f5761122f611b02565b6020020151516001602002015183611248836003611d75565b600c811061125857611258611b02565b602002015283826002811061126f5761126f611b02565b60200201516020015160006002811061128a5761128a611b02565b60200201518361129b836004611d75565b600c81106112ab576112ab611b02565b60200201528382600281106112c2576112c2611b02565b6020020151602001516001600281106112dd576112dd611b02565b6020020151836112ee836005611d75565b600c81106112fe576112fe611b02565b6020020152508061130e81611b2e565b915050611154565b5061131f611512565b60006020826101808560086107d05a03fa9050808015610f8657508061137f5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b60448201526064016101d4565b5051151598975050505050505050565b60006020845161139f9190611d1d565b156114265760405162461bcd60e51b815260206004820152604b60248201527f4d65726b6c652e70726f63657373496e636c7573696f6e50726f6f664b65636360448201527f616b3a2070726f6f66206c656e6774682073686f756c642062652061206d756c60648201526a3a34b836329037b310199960a91b608482015260a4016101d4565b8260205b855181116114895761143d600285611d1d565b61145e57816000528086015160205260406000209150600284049350611477565b8086015160005281602052604060002091506002840493505b611482602082611d75565b905061142a565b50949350505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60405180604001604052806114e1611530565b81526020016114ee611530565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561156057600080fd5b5035919050565b6001600160a01b038416815263ffffffff83166020820152608081016103f0604083018480518252602090810151910152565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156115d3576115d361159a565b60405290565b6040516080810167ffffffffffffffff811182821017156115d3576115d361159a565b60405160a0810167ffffffffffffffff811182821017156115d3576115d361159a565b6040805190810167ffffffffffffffff811182821017156115d3576115d361159a565b604051601f8201601f1916810167ffffffffffffffff8111828210171561166b5761166b61159a565b604052919050565b803563ffffffff81168114610f3257600080fd5b803560ff81168114610f3257600080fd5b600067ffffffffffffffff8211156116b2576116b261159a565b50601f01601f191660200190565b600082601f8301126116d157600080fd5b81356116e46116df82611698565b611642565b8181528460208386010111156116f957600080fd5b816020850160208301376000918101602001919091529392505050565b60006060828403121561172857600080fd5b6117306115b0565b9050813567ffffffffffffffff8082111561174a57600080fd5b908301906080828603121561175e57600080fd5b6117666115d9565b8235815260208301358281111561177c57600080fd5b611788878286016116c0565b6020830152506040830135828111156117a057600080fd5b6117ac878286016116c0565b6040830152506117be60608401611673565b606082015283525050602082810135908201526117dd60408301611673565b604082015292915050565b600060a082840312156117fa57600080fd5b6118026115fc565b905061180d82611673565b815261181b60208301611673565b6020820152604082013567ffffffffffffffff8082111561183b57600080fd5b61184785838601611716565b6040840152606084013591508082111561186057600080fd5b61186c858386016116c0565b6060840152608084013591508082111561188557600080fd5b50611892848285016116c0565b60808301525092915050565b60008060408084860312156118b257600080fd5b833567ffffffffffffffff808211156118ca57600080fd5b908501908187036080808212156118e057600080fd5b6118e86115b0565b858312156118f557600080fd5b6118fd61161f565b9250843583526020808601358185015283825261191b878701611673565b8183015260609350838601358581111561193457600080fd5b8087019650508a601f87011261194957600080fd5b85358581111561195b5761195b61159a565b611969828260051b01611642565b81815260079190911b8701820190828101908d83111561198857600080fd5b978301975b828910156119f45785898f0312156119a55760008081fd5b6119ad6115d9565b6119b68a611687565b81526119c3858b01611687565b858201526119d28b8b01611687565b8b8201526119e1888b01611673565b818901528252978501979083019061198d565b98840198909852509097508801359450505080831115611a1357600080fd5b5050611a21858286016117e8565b9150509250929050565b600082601f830112611a3c57600080fd5b611a4461161f565b806040840185811115611a5657600080fd5b845b81811015611a70578035845260209384019301611a58565b509095945050505050565b60008060008084860360e0811215611a9257600080fd5b85359450602086013593506080603f1982011215611aaf57600080fd5b50611ab861161f565b611ac58760408801611a2b565b8152611ad48760808801611a2b565b60208201529396929550929360c00135925050565b600060208284031215611afb57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611b4257611b42611b18565b5060010190565b60005b83811015611b64578181015183820152602001611b4c565b83811115610ab25750506000910152565b600060208284031215611b8757600080fd5b815167ffffffffffffffff811115611b9e57600080fd5b8201601f81018413611baf57600080fd5b8051611bbd6116df82611698565b818152856020838501011115611bd257600080fd5b611be3826020830160208601611b49565b95945050505050565b60008151808452611c04816020860160208601611b49565b601f01601f19169290920160200192915050565b60208152815160208201526000602083015160806040840152611c3e60a0840182611bec565b90506040840151601f19848303016060850152611c5b8282611bec565b91505063ffffffff60608501511660808401528091505092915050565b60208082528251805183830152810151604083015260009060a0830181850151606063ffffffff808316828801526040925082880151608080818a015285825180885260c08b0191508884019750600093505b80841015611d0e578751805160ff90811684528a82015181168b850152888201511688840152860151851686830152968801966001939093019290820190611ccb565b509a9950505050505050505050565b600082611d3a57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015611d5157611d51611b18565b500390565b6000816000190483118215151615611d7057611d70611b18565b500290565b60008219821115611d8857611d88611b18565b50019056fea2646970667358221220cf61920973a4ac6dfef521df13f29cd9fc97f33522d285e967cf834706c3bc9e64736f6c634300080c0033", } // ContractMockRollupABI is the input ABI used to generate the binding from. diff --git a/contracts/test/rollup/MockRollup.sol b/contracts/test/rollup/MockRollup.sol index ddd6d2fb68..76c2d3e0b6 100644 --- a/contracts/test/rollup/MockRollup.sol +++ b/contracts/test/rollup/MockRollup.sol @@ -36,7 +36,7 @@ contract MockRollup { BlobVerificationProof memory blobVerificationProof ) external { // require commitment has not already been posted - require(commitments[block.timestamp].confirmer == address(0), "MockRollup.postCommitment: Commitment already posted"); + // require(commitments[block.timestamp].confirmer == address(0), "MockRollup.postCommitment: Commitment already posted"); // verify that the blob was included in the batch EigenDARollupUtils.verifyBlob(blobHeader, eigenDAServiceManager, blobVerificationProof);