UNPKG

blocklock-js

Version:

A library for encrypting and decrypting data for the future

1,980 lines (1,978 loc) 86.5 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, ContractFactory, ContractTransactionResponse, Interface, } from "ethers"; import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../common"; import type { BlocklockSender, BlocklockSenderInterface, } from "../BlocklockSender"; const _abi = [ { type: "constructor", inputs: [], stateMutability: "nonpayable", }, { type: "function", name: "ADMIN_ROLE", inputs: [], outputs: [ { name: "", type: "bytes32", internalType: "bytes32", }, ], stateMutability: "view", }, { type: "function", name: "DEFAULT_ADMIN_ROLE", inputs: [], outputs: [ { name: "", type: "bytes32", internalType: "bytes32", }, ], stateMutability: "view", }, { type: "function", name: "DST_H1_G1", inputs: [], outputs: [ { name: "", type: "bytes", internalType: "bytes", }, ], stateMutability: "view", }, { type: "function", name: "DST_H2", inputs: [], outputs: [ { name: "", type: "bytes", internalType: "bytes", }, ], stateMutability: "view", }, { type: "function", name: "DST_H3", inputs: [], outputs: [ { name: "", type: "bytes", internalType: "bytes", }, ], stateMutability: "view", }, { type: "function", name: "DST_H4", inputs: [], outputs: [ { name: "", type: "bytes", internalType: "bytes", }, ], stateMutability: "view", }, { type: "function", name: "MAX_CONSUMERS", inputs: [], outputs: [ { name: "", type: "uint16", internalType: "uint16", }, ], stateMutability: "view", }, { type: "function", name: "SCHEME_ID", inputs: [], outputs: [ { name: "", type: "string", internalType: "string", }, ], stateMutability: "view", }, { type: "function", name: "UPGRADE_INTERFACE_VERSION", inputs: [], outputs: [ { name: "", type: "string", internalType: "string", }, ], stateMutability: "view", }, { type: "function", name: "acceptSubscriptionOwnerTransfer", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "addConsumer", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "consumer", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "blocklockRequestsWithDecryptionKey", inputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "directFundingFeePaid", type: "uint256", internalType: "uint256", }, { name: "callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "decryptionRequestId", type: "uint256", internalType: "uint256", }, { name: "condition", type: "bytes", internalType: "bytes", }, { name: "ciphertext", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "decryptionKey", type: "bytes", internalType: "bytes", }, { name: "callback", type: "address", internalType: "address", }, ], stateMutability: "view", }, { type: "function", name: "calculateRequestPriceNative", inputs: [ { name: "_callbackGasLimit", type: "uint32", internalType: "uint32", }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "cancelSubscription", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "to", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "createSubscription", inputs: [], outputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], stateMutability: "nonpayable", }, { type: "function", name: "decrypt", inputs: [ { name: "ciphertext", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, { name: "decryptionKey", type: "bytes", internalType: "bytes", }, ], outputs: [ { name: "", type: "bytes", internalType: "bytes", }, ], stateMutability: "view", }, { type: "function", name: "decryptionSender", inputs: [], outputs: [ { name: "", type: "address", internalType: "contract IDecryptionSender", }, ], stateMutability: "view", }, { type: "function", name: "disable", inputs: [], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "enable", inputs: [], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "estimateRequestPriceNative", inputs: [ { name: "_callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "_requestGasPriceWei", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "fundSubscriptionWithNative", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "payable", }, { type: "function", name: "getActiveSubscriptionIds", inputs: [ { name: "startIndex", type: "uint256", internalType: "uint256", }, { name: "maxCount", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "ids", type: "uint256[]", internalType: "uint256[]", }, ], stateMutability: "view", }, { type: "function", name: "getChainId", inputs: [], outputs: [ { name: "chainId", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "getConfig", inputs: [], outputs: [ { name: "maxGasLimit", type: "uint32", internalType: "uint32", }, { name: "gasAfterPaymentCalculation", type: "uint32", internalType: "uint32", }, { name: "fulfillmentFlatFeeNativePPM", type: "uint32", internalType: "uint32", }, { name: "weiPerUnitGas", type: "uint32", internalType: "uint32", }, { name: "blsPairingCheckOverhead", type: "uint32", internalType: "uint32", }, { name: "nativePremiumPercentage", type: "uint8", internalType: "uint8", }, { name: "gasForCallExactCheck", type: "uint32", internalType: "uint32", }, ], stateMutability: "view", }, { type: "function", name: "getRequest", inputs: [ { name: "requestId", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "", type: "tuple", internalType: "struct TypesLib.BlocklockRequest", components: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "directFundingFeePaid", type: "uint256", internalType: "uint256", }, { name: "callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "decryptionRequestId", type: "uint256", internalType: "uint256", }, { name: "condition", type: "bytes", internalType: "bytes", }, { name: "ciphertext", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "decryptionKey", type: "bytes", internalType: "bytes", }, { name: "callback", type: "address", internalType: "address", }, ], }, ], stateMutability: "view", }, { type: "function", name: "getRoleAdmin", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "bytes32", internalType: "bytes32", }, ], stateMutability: "view", }, { type: "function", name: "getRoleMember", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, { name: "index", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "", type: "address", internalType: "address", }, ], stateMutability: "view", }, { type: "function", name: "getRoleMemberCount", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "getRoleMembers", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "address[]", internalType: "address[]", }, ], stateMutability: "view", }, { type: "function", name: "getSubscription", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "nativeBalance", type: "uint96", internalType: "uint96", }, { name: "reqCount", type: "uint64", internalType: "uint64", }, { name: "subOwner", type: "address", internalType: "address", }, { name: "consumers", type: "address[]", internalType: "address[]", }, ], stateMutability: "view", }, { type: "function", name: "grantRole", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "hasRole", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "initialize", inputs: [ { name: "owner", type: "address", internalType: "address", }, { name: "_decryptionSender", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "isInFlight", inputs: [ { name: "requestId", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "ownerCancelSubscription", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "pendingRequestExists", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "proxiableUUID", inputs: [], outputs: [ { name: "", type: "bytes32", internalType: "bytes32", }, ], stateMutability: "view", }, { type: "function", name: "receiveDecryptionData", inputs: [ { name: "requestId", type: "uint256", internalType: "uint256", }, { name: "decryptionKey", type: "bytes", internalType: "bytes", }, { name: "signature", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "removeConsumer", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "consumer", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "renounceRole", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, { name: "callerConfirmation", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "requestBlocklock", inputs: [ { name: "callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "condition", type: "bytes", internalType: "bytes", }, { name: "ciphertext", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "payable", }, { type: "function", name: "requestBlocklockWithSubscription", inputs: [ { name: "callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "subId", type: "uint256", internalType: "uint256", }, { name: "condition", type: "bytes", internalType: "bytes", }, { name: "ciphertext", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "payable", }, { type: "function", name: "requestSubscriptionOwnerTransfer", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "newOwner", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "revokeRole", inputs: [ { name: "role", type: "bytes32", internalType: "bytes32", }, { name: "account", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "s_config", inputs: [], outputs: [ { name: "maxGasLimit", type: "uint32", internalType: "uint32", }, { name: "gasAfterPaymentCalculation", type: "uint32", internalType: "uint32", }, { name: "fulfillmentFlatFeeNativePPM", type: "uint32", internalType: "uint32", }, { name: "weiPerUnitGas", type: "uint32", internalType: "uint32", }, { name: "blsPairingCheckOverhead", type: "uint32", internalType: "uint32", }, { name: "nativePremiumPercentage", type: "uint8", internalType: "uint8", }, { name: "gasForCallExactCheck", type: "uint32", internalType: "uint32", }, ], stateMutability: "view", }, { type: "function", name: "s_configured", inputs: [], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "s_currentSubNonce", inputs: [], outputs: [ { name: "", type: "uint64", internalType: "uint64", }, ], stateMutability: "view", }, { type: "function", name: "s_disabled", inputs: [], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "s_totalNativeBalance", inputs: [], outputs: [ { name: "", type: "uint96", internalType: "uint96", }, ], stateMutability: "view", }, { type: "function", name: "s_withdrawableDirectFundingFeeNative", inputs: [], outputs: [ { name: "", type: "uint96", internalType: "uint96", }, ], stateMutability: "view", }, { type: "function", name: "s_withdrawableSubscriptionFeeNative", inputs: [], outputs: [ { name: "", type: "uint96", internalType: "uint96", }, ], stateMutability: "view", }, { type: "function", name: "setConfig", inputs: [ { name: "maxGasLimit", type: "uint32", internalType: "uint32", }, { name: "gasAfterPaymentCalculation", type: "uint32", internalType: "uint32", }, { name: "fulfillmentFlatFeeNativePPM", type: "uint32", internalType: "uint32", }, { name: "weiPerUnitGas", type: "uint32", internalType: "uint32", }, { name: "blsPairingCheckOverhead", type: "uint32", internalType: "uint32", }, { name: "nativePremiumPercentage", type: "uint8", internalType: "uint8", }, { name: "gasForCallExactCheck", type: "uint32", internalType: "uint32", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "setDecryptionSender", inputs: [ { name: "newDecryptionSender", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "supportsInterface", inputs: [ { name: "interfaceId", type: "bytes4", internalType: "bytes4", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "function", name: "upgradeToAndCall", inputs: [ { name: "newImplementation", type: "address", internalType: "address", }, { name: "data", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "payable", }, { type: "function", name: "version", inputs: [], outputs: [ { name: "", type: "string", internalType: "string", }, ], stateMutability: "pure", }, { type: "function", name: "withdrawDirectFundingFeesNative", inputs: [ { name: "recipient", type: "address", internalType: "address payable", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "withdrawSubscriptionFeesNative", inputs: [ { name: "recipient", type: "address", internalType: "address payable", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "event", name: "BlocklockCallbackFailed", inputs: [ { name: "requestId", type: "uint256", indexed: true, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "BlocklockCallbackSuccess", inputs: [ { name: "requestId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "condition", type: "bytes", indexed: false, internalType: "bytes", }, { name: "ciphertext", type: "tuple", indexed: false, internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, { name: "decryptionKey", type: "bytes", indexed: false, internalType: "bytes", }, ], anonymous: false, }, { type: "event", name: "BlocklockRequested", inputs: [ { name: "requestId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "condition", type: "bytes", indexed: false, internalType: "bytes", }, { name: "ciphertext", type: "tuple", indexed: false, internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, { name: "requester", type: "address", indexed: true, internalType: "address", }, { name: "requestedAt", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "ConfigSet", inputs: [ { name: "maxGasLimit", type: "uint32", indexed: false, internalType: "uint32", }, { name: "gasAfterPaymentCalculation", type: "uint32", indexed: false, internalType: "uint32", }, { name: "fulfillmentFlatFeeNativePPM", type: "uint32", indexed: false, internalType: "uint32", }, { name: "weiPerUnitGas", type: "uint32", indexed: false, internalType: "uint32", }, { name: "blsPairingCheckOverhead", type: "uint32", indexed: false, internalType: "uint32", }, { name: "nativePremiumPercentage", type: "uint8", indexed: false, internalType: "uint8", }, { name: "gasForCallExactCheck", type: "uint32", indexed: false, internalType: "uint32", }, ], anonymous: false, }, { type: "event", name: "DecryptionSenderUpdated", inputs: [ { name: "decryptionSender", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "Disabled", inputs: [], anonymous: false, }, { type: "event", name: "Enabled", inputs: [], anonymous: false, }, { type: "event", name: "Initialized", inputs: [ { name: "version", type: "uint64", indexed: false, internalType: "uint64", }, ], anonymous: false, }, { type: "event", name: "L1GasFee", inputs: [ { name: "fee", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "RoleAdminChanged", inputs: [ { name: "role", type: "bytes32", indexed: true, internalType: "bytes32", }, { name: "previousAdminRole", type: "bytes32", indexed: true, internalType: "bytes32", }, { name: "newAdminRole", type: "bytes32", indexed: true, internalType: "bytes32", }, ], anonymous: false, }, { type: "event", name: "RoleGranted", inputs: [ { name: "role", type: "bytes32", indexed: true, internalType: "bytes32", }, { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "sender", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "RoleRevoked", inputs: [ { name: "role", type: "bytes32", indexed: true, internalType: "bytes32", }, { name: "account", type: "address", indexed: true, internalType: "address", }, { name: "sender", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "SubscriptionCanceled", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "to", type: "address", indexed: false, internalType: "address", }, { name: "amountNative", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "SubscriptionConsumerAdded", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "consumer", type: "address", indexed: false, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "SubscriptionConsumerRemoved", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "consumer", type: "address", indexed: false, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "SubscriptionCreated", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "owner", type: "address", indexed: false, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "SubscriptionFundedWithNative", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "oldNativeBalance", type: "uint256", indexed: false, internalType: "uint256", }, { name: "newNativeBalance", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "SubscriptionOwnerTransferRequested", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "from", type: "address", indexed: false, internalType: "address", }, { name: "to", type: "address", indexed: false, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "SubscriptionOwnerTransferred", inputs: [ { name: "subId", type: "uint256", indexed: true, internalType: "uint256", }, { name: "from", type: "address", indexed: false, internalType: "address", }, { name: "to", type: "address", indexed: false, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "Upgraded", inputs: [ { name: "implementation", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "error", name: "AccessControlBadConfirmation", inputs: [], }, { type: "error", name: "AccessControlUnauthorizedAccount", inputs: [ { name: "account", type: "address", internalType: "address", }, { name: "neededRole", type: "bytes32", internalType: "bytes32", }, ], }, { type: "error", name: "AddressEmptyCode", inputs: [ { name: "target", type: "address", internalType: "address", }, ], }, { type: "error", name: "BalanceInvariantViolated", inputs: [ { name: "internalBalance", type: "uint256", internalType: "uint256", }, { name: "externalBalance", type: "uint256", internalType: "uint256", }, ], }, { type: "error", name: "ERC1967InvalidImplementation", inputs: [ { name: "implementation", type: "address", internalType: "address", }, ], }, { type: "error", name: "ERC1967NonPayable", inputs: [], }, { type: "error", name: "FailedCall", inputs: [], }, { type: "error", name: "FailedToSendNative", inputs: [], }, { type: "error", name: "IndexOutOfRange", inputs: [], }, { type: "error", name: "InsufficientBalance", inputs: [], }, { type: "error", name: "InvalidCalldata", inputs: [], }, { type: "error", name: "InvalidConsumer", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, { name: "consumer", type: "address", internalType: "address", }, ], }, { type: "error", name: "InvalidDSTLength", inputs: [ { name: "dst", type: "bytes", internalType: "bytes", }, ], }, { type: "error", name: "InvalidInitialization", inputs: [], }, { type: "error", name: "InvalidSubscription", inputs: [], }, { type: "error", name: "MustBeRequestedOwner", inputs: [ { name: "proposedOwner", type: "address", internalType: "address", }, ], }, { type: "error", name: "MustBeSubOwner", inputs: [ { name: "owner", type: "address", internalType: "address", }, ], }, { type: "error", name: "NotInitializing", inputs: [], }, { type: "error", name: "PendingRequestExists", inputs: [], }, { type: "error", name: "ReentrancyGuardReentrantCall", inputs: [], }, { type: "error", name: "TooManyConsumers", inputs: [], }, { type: "error", name: "UUPSUnauthorizedCallContext", inputs: [], }, { type: "error", name: "UUPSUnsupportedProxiableUUID", inputs: [ { name: "slot", type: "bytes32", internalType: "bytes32", }, ], }, ] as const; const _bytecode = "0x60a060405230608052348015610013575f5ffd5b5060015f55610020610025565b6100d7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100755760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d45780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615aea6100fd5f395f81816137250152818161374e015261389b0152615aea5ff3fe608060405260043610610371575f3560e01c80637350f456116101c8578063aa433aff116100fd578063c58343ef1161009d578063cd802c911161006d578063cd802c9114610b1a578063d547741f14610b39578063dac83d2914610b58578063dc311dd314610b77575f5ffd5b8063c58343ef14610a91578063c9bc18c414610abd578063ca15c87314610adc578063cb63179714610afb575f5ffd5b8063b2a7cac5116100d8578063b2a7cac5146109da578063bd18636b146109f9578063bec4c08c14610a18578063c3f909d414610a37575f5ffd5b8063aa433aff1461095f578063ad3cb1cc1461097e578063aefb212f146109ae575f5ffd5b8063995cb36e11610168578063a21a23e411610143578063a21a23e4146108ed578063a3246ad314610901578063a3907d711461092d578063a608a1e114610941575f5ffd5b8063995cb36e146108845780639d40a6fd146108a3578063a217fddf146108da575f5ffd5b80638a1f165a116101a35780638a1f165a146107f55780639010d07c1461083357806391d148541461085257806395b55cfc14610871575f5ffd5b80637350f456146107ae57806375b238fc146107c25780637909dc7b146107e2575f5ffd5b806338c27d12116102a957806352d1902d116102495780635d3be001116102195780635d3be001146107205780635f7bda9f1461073f57806364d51a2a1461077357806367b276af1461079a575f5ffd5b806352d1902d146106a757806354236fb3146106bb57806354fd4d50146106da57806357a8070a14610707575f5ffd5b806345fa43541161028457806345fa435414610637578063485cc955146106565780634b160935146106755780634f1ef28614610694575f5ffd5b806338c27d12146105de5780633bc32c75146105f257806341af6c8714610618575f5ffd5b8063235296f7116103145780632f2ff15d116102ef5780632f2ff15d1461056f5780633255c4561461058e5780633408e470146105ad57806336568abe146105bf575f5ffd5b8063235296f71461051b578063248a9ca31461053c5780632f2770db1461055b575f5ffd5b80630ae095401161034f5780630ae095401461046d578063133c40c71461048e57806318e3dd27146104c55780631e6ba15b146104fc575f5ffd5b806301ffc9a714610375578063062b1d90146103a9578063088070f5146103ca575b5f5ffd5b348015610380575f5ffd5b5061039461038f3660046149b0565b610ba6565b60405190151581526020015b60405180910390f35b6103bc6103b7366004614aca565b610bd0565b6040519081526020016103a0565b3480156103d5575f5ffd5b50600a546104269063ffffffff808216916401000000008104821691600160401b8204811691600160601b8104821691600160801b820481169160ff600160a01b82041691600160a81b9091041687565b6040805163ffffffff988916815296881660208801529487169486019490945291851660608501528416608084015260ff1660a083015290911660c082015260e0016103a0565b348015610478575f5ffd5b5061048c610487366004614b5a565b610f15565b005b348015610499575f5ffd5b506001546104ad906001600160a01b031681565b6040516001600160a01b0390911681526020016103a0565b3480156104d0575f5ffd5b506008546104e4906001600160601b031681565b6040516001600160601b0390911681526020016103a0565b348015610507575f5ffd5b5061048c610516366004614b88565b610f66565b348015610526575f5ffd5b5061052f610fc5565b6040516103a09190614bd1565b348015610547575f5ffd5b506103bc610556366004614be3565b611051565b348015610566575f5ffd5b5061048c611071565b34801561057a575f5ffd5b5061048c610589366004614b5a565b6110c0565b348015610599575f5ffd5b506103bc6105a8366004614bfa565b6110e2565b3480156105b8575f5ffd5b50466103bc565b3480156105ca575f5ffd5b5061048c6105d9366004614b5a565b6110fa565b3480156105e9575f5ffd5b5061052f61112d565b3480156105fd575f5ffd5b506008546104e490600160601b90046001600160601b031681565b348015610623575f5ffd5b50610394610632366004614be3565b61113a565b348015610642575f5ffd5b5061048c610651366004614c22565b6111cf565b348015610661575f5ffd5b5061048c610670366004614caa565b6113ac565b348015610680575f5ffd5b506103bc61068f366004614cd6565b61163f565b61048c6106a2366004614cef565b611650565b3480156106b2575f5ffd5b506103bc61166f565b3480156106c6575f5ffd5b5061048c6106d5366004614b88565b61168b565b3480156106e5575f5ffd5b50604080518082019091526005815264302e302e3160d81b602082015261052f565b348015610712575f5ffd5b50600b546103949060ff1681565b34801561072b575f5ffd5b5061048c61073a366004614d78565b6116ff565b34801561074a575f5ffd5b5061075e610759366004614be3565b6117d2565b6040516103a099989796959493929190614e63565b34801561077e575f5ffd5b50610787606481565b60405161ffff90911681526020016103a0565b3480156107a5575f5ffd5b5061052f611b58565b3480156107b9575f5ffd5b5061052f611b65565b3480156107cd575f5ffd5b506103bc5f516020615a955f395f51905f5281565b6103bc6107f0366004614eef565b611b72565b348015610800575f5ffd5b5061052f60405180604001604052806013815260200172424e3235342d424c532d424c4f434b4c4f434b60681b81525081565b34801561083e575f5ffd5b506104ad61084d366004614f4f565b611c62565b34801561085d575f5ffd5b5061039461086c366004614b5a565b611c8f565b61048c61087f366004614be3565b611cc5565b34801561088f575f5ffd5b506009546104e4906001600160601b031681565b3480156108ae575f5ffd5b506005546108c2906001600160401b031681565b6040516001600160401b0390911681526020016103a0565b3480156108e5575f5ffd5b506103bc5f81565b3480156108f8575f5ffd5b506103bc611dd0565b34801561090c575f5ffd5b5061092061091b366004614be3565b611f7a565b6040516103a09190614fb2565b348015610938575f5ffd5b5061048c611fa3565b34801561094c575f5ffd5b50600b5461039490610100900460ff1681565b34801561096a575f5ffd5b5061048c610979366004614be3565b611fee565b348015610989575f5ffd5b5061052f604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156109b9575f5ffd5b506109cd6109c8366004614f4f565b61202e565b6040516103a09190614fc4565b3480156109e5575f5ffd5b5061048c6109f4366004614be3565b612123565b348015610a04575f5ffd5b5061048c610a13366004614b88565b61220e565b348015610a23575f5ffd5b5061048c610a32366004614b5a565b6122a7565b348015610a42575f5ffd5b50600a5463ffffffff808216916401000000008104821691600160401b8204811691600160601b8104821691600160801b820481169160ff600160a01b82041691600160a81b90910416610426565b348015610a9c575f5ffd5b50610ab0610aab366004614be3565b61239b565b6040516103a09190615006565b348015610ac8575f5ffd5b5061052f610ad73660046150d2565b6127a0565b348015610ae7575f5ffd5b506103bc610af6366004614be3565b612bbe565b348015610b06575f5ffd5b5061048c610b15366004614b5a565b612be2565b348015610b25575f5ffd5b50610394610b34366004614be3565b612dce565b348015610b44575f5ffd5b5061048c610b53366004614b5a565b612e59565b348015610b63575f5ffd5b5061048c610b72366004614b5a565b612e75565b348015610b82575f5ffd5b50610b96610b91366004614be3565b612f12565b6040516103a09493929190615139565b5f6001600160e01b03198216635a05180f60e01b1480610bca5750610bca82612fd1565b92915050565b600b545f9060ff16610c295760405162461bcd60e51b815260206004820152601a60248201527f436f6e7472616374206973206e6f7420636f6e6669677572656400000000000060448201526064015b60405180910390fd5b600b54610100900460ff1615610c785760405162461bcd60e51b815260206004820152601460248201527310dbdb9d1c9858dd081a5cc8191a5cd8589b195960621b6044820152606401610c20565b83151580610c8557505f34115b610cf75760405162461bcd60e51b815260206004820152603860248201527f4469726563742066756e64696e6720726571756972656420666f72207265717560448201527f6573742066756c66696c6c6d656e742063616c6c6261636b00000000000000006064820152608401610c20565b610d018585613005565b5f610d5760405180604001604052806013815260200172424e3235342d424c532d424c4f434b4c4f434b60681b81525084604051602001610d429190615238565b6040516020818303038152906040528661322f565b90506040518061012001604052808681526020013481526020018763ffffffff16815260200182815260200185815260200184610d93906152ca565b815260408051602080820183525f808352818501929092528251808201845282815283850152336060948501528582526010815290829020845181559084015160018201559083015160028201805463ffffffff191663ffffffff90921691909117905590820151600382015560808201516004820190610e1490826153db565b5060a0820151805180516005840191908290610e3390829060026147fc565b506020820151610e4990600280840191906147fc565b50505060208201516004820190610e6090826153db565b5060408201516005820190610e7590826153db565b50505060c0820151600b820190610e8c90826153db565b5060e0820151600c820190610ea190826153db565b506101009190910151600d90910180546001600160a01b0319166001600160a01b03909216919091179055604051339082907fa7cf57609b4abed689b408db0b0c3dc6309786b6c07d5efbbd1d5b150e6d2c0690610f0490889088904290615495565b60405180910390a395945050505050565b81610f1f816132a3565b610f276132f7565b610f308361113a565b15610f4e57604051631685ecdd60e31b815260040160405180910390fd5b610f58838361331f565b610f6160015f55565b505050565b610f7c5f516020615a955f395f51905f5261338f565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f0dae1d002e96c238ebe140ca1799f77093ae09e0bde40f79bb29ed78d09e652d905f90a250565b600c8054610fd290615365565b80601f0160208091040260200160405190810160405280929190818152602001828054610ffe90615365565b80156110495780601f1061102057610100808354040283529160200191611049565b820191905f5260205f20905b81548152906001019060200180831161102c57829003601f168201915b505050505081565b5f9081525f516020615a755f395f51905f52602052604090206001015490565b6110875f516020615a955f395f51905f5261338f565b600b805461ff0019166101001790556040517f75884cdadc4a89e8b545db800057f06ec7f5338a08183c7ba515f2bfdd9fe1e1905f90a1565b6110c982611051565b6110d28161338f565b6110dc8383613399565b50505050565b5f6110f38363ffffffff16836133db565b9392505050565b6001600160a01b03811633146111235760405163334bd91960e11b815260040160405180910390fd5b610f6182826134e8565b600d8054610fd290615365565b5f8181526003602052604081206002018054825b818110156111c5575f60025f85848154811061116c5761116c6154ca565b5f9182526020808320909101546001600160a01b0316835282810193909352604091820181208982529092529020546001600160401b03600160481b9091041611156111bd57506001949350505050565b60010161114e565b505f949350505050565b6111e55f516020615a955f395f51905f5261338f565b60ff8216609b116112385760405162461bcd60e51b815260206004820152601a60248201527f496e76616c6964205072656d69756d2050657263656e746167650000000000006044820152606401610c20565b6040805160e08101825263ffffffff89811680835289821660208401819052898316848601819052898416606086018190528985166080870181905260ff8a1660a0880181905295891660c0909701879052600a805467ffffffffffffffff1916909517640100000000909402939093176fffffffffffffffff00000000000000001916600160401b90920263ffffffff60601b191691909117600160601b9091021764ffffffffff60801b1916600160801b90910260ff60a01b191617600160a01b9092029190911763ffffffff60a81b1916600160a81b909202919091179055600b805460ff19166001179055517f55a28fde295f482c9f32d670c116103bca15724bcef4f18b35542e0553c35ad59061139b90899089908990899089908990899063ffffffff97881681529587166020870152938616604086015291851660608501528416608084015260ff1660a083015290911660c082015260e00190565b60405180910390a150505050505050565b5f6113b5613521565b805490915060ff600160401b82041615906001600160401b03165f811580156113db5750825b90505f826001600160401b031660011480156113f65750303b155b905081158015611404575080155b156114225760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561144c57845460ff60401b1916600160401b1785555b611454613549565b61145c613549565b6114735f516020615a955f395f51905f5288613399565b6114b35760405162461bcd60e51b815260206004820152601160248201527011dc985b9d081c9bdb194819985a5b1959607a1b6044820152606401610c20565b6114bd5f88613399565b6114fd5760405162461bcd60e51b815260206004820152601160248201527011dc985b9d081c9bdb194819985a5b1959607a1b6044820152606401610c20565b600180546001600160a01b0319166001600160a01b03881617905561152146613553565b60405160200161153191906154f5565b604051602081830303815290604052600c908161154e91906153db565b5061155846613553565b604051602001611568919061554c565b604051602081830303815290604052600d908161158591906153db565b5061158f46613553565b60405160200161159f9190615588565b604051602081830303815290604052600e90816115bc91906153db565b506115c646613553565b6040516020016115d691906155c4565b604051602081830303815290604052600f90816115f391906153db565b50831561163657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200161139b565b50505050505050565b5f610bca8263ffffffff163a6133db565b61165861371a565b611661826137be565b61166b82826137d4565b5050565b5f611678613890565b505f516020615a555f39