blocklock-js
Version:
A library for encrypting and decrypting data for the future
1,980 lines (1,978 loc) • 86.7 kB
text/typescript
/* 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: "uint64",
internalType: "uint64",
},
{
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: "uint64",
internalType: "uint64",
},
{
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: false,
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 =
"0x60a060405230608052348015610013575f5ffd5b5060015f55610020610025565b6100d7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100755760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d45780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615b766100fd5f395f818161377c015281816137a501526138f20152615b765ff3fe608060405260043610610371575f3560e01c80637350f456116101c8578063aa433aff116100fd578063c58343ef1161009d578063cd802c911161006d578063cd802c9114610b18578063d547741f14610b37578063dac83d2914610b56578063dc311dd314610b75575f5ffd5b8063c58343ef14610a8f578063c9bc18c414610abb578063ca15c87314610ada578063cb63179714610af9575f5ffd5b8063b2a7cac5116100d8578063b2a7cac5146109d9578063bd18636b146109f8578063bec4c08c14610a17578063c3f909d414610a36575f5ffd5b8063aa433aff1461095e578063ad3cb1cc1461097d578063aefb212f146109ad575f5ffd5b8063995cb36e11610168578063a21a23e411610143578063a21a23e4146108ec578063a3246ad314610900578063a3907d711461092c578063a608a1e114610940575f5ffd5b8063995cb36e146108835780639d40a6fd146108a2578063a217fddf146108d9575f5ffd5b80638a1f165a116101a35780638a1f165a146107f45780639010d07c1461083257806391d148541461085157806395b55cfc14610870575f5ffd5b80637350f456146107ad57806375b238fc146107c15780637909dc7b146107e1575f5ffd5b806338c27d12116102a957806352d1902d116102495780635d3be001116102195780635d3be0011461071f5780635f7bda9f1461073e57806364d51a2a1461077257806367b276af14610799575f5ffd5b806352d1902d146106a657806354236fb3146106ba57806354fd4d50146106d957806357a8070a14610706575f5ffd5b806345fa43541161028457806345fa435414610636578063485cc955146106555780634b160935146106745780634f1ef28614610693575f5ffd5b806338c27d12146105dd5780633bc32c75146105f157806341af6c8714610617575f5ffd5b8063235296f7116103145780632f2ff15d116102ef5780632f2ff15d1461056e5780633255c4561461058d5780633408e470146105ac57806336568abe146105be575f5ffd5b8063235296f71461051a578063248a9ca31461053b5780632f2770db1461055a575f5ffd5b80630ae095401161034f5780630ae095401461046c578063133c40c71461048d57806318e3dd27146104c45780631e6ba15b146104fb575f5ffd5b806301ffc9a714610375578063062b1d90146103a9578063088070f5146103ca575b5f5ffd5b348015610380575f5ffd5b5061039461038f366004614a28565b610ba4565b60405190151581526020015b60405180910390f35b6103bc6103b7366004614b42565b610bce565b6040519081526020016103a0565b3480156103d5575f5ffd5b50600a546104259063ffffffff80821691600160201b8104821691600160401b8204811691600160601b8104821691600160801b820481169160ff600160a01b82041691600160a81b9091041687565b6040805163ffffffff988916815296881660208801529487169486019490945291851660608501528416608084015260ff1660a083015290911660c082015260e0016103a0565b348015610477575f5ffd5b5061048b610486366004614bd2565b610f43565b005b348015610498575f5ffd5b506001546104ac906001600160a01b031681565b6040516001600160a01b0390911681526020016103a0565b3480156104cf575f5ffd5b506008546104e3906001600160601b031681565b6040516001600160601b0390911681526020016103a0565b348015610506575f5ffd5b5061048b610515366004614c00565b610f94565b348015610525575f5ffd5b5061052e610ff3565b6040516103a09190614c49565b348015610546575f5ffd5b506103bc610555366004614c5b565b61107f565b348015610565575f5ffd5b5061048b61109f565b348015610579575f5ffd5b5061048b610588366004614bd2565b6110ee565b348015610598575f5ffd5b506103bc6105a7366004614c72565b611110565b3480156105b7575f5ffd5b50466103bc565b3480156105c9575f5ffd5b5061048b6105d8366004614bd2565b611128565b3480156105e8575f5ffd5b5061052e61115b565b3480156105fc575f5ffd5b506008546104e390600160601b90046001600160601b031681565b348015610622575f5ffd5b50610394610631366004614c5b565b611168565b348015610641575f5ffd5b5061048b610650366004614c9a565b6111fd565b348015610660575f5ffd5b5061048b61066f366004614d22565b6113d9565b34801561067f575f5ffd5b506103bc61068e366004614d4e565b61166c565b61048b6106a1366004614d67565b61167d565b3480156106b1575f5ffd5b506103bc61169c565b3480156106c5575f5ffd5b5061048b6106d4366004614c00565b6116b8565b3480156106e4575f5ffd5b50604080518082019091526005815264302e302e3160d81b602082015261052e565b348015610711575f5ffd5b50600b546103949060ff1681565b34801561072a575f5ffd5b5061048b610739366004614df0565b61172c565b348015610749575f5ffd5b5061075d610758366004614c5b565b6117ff565b6040516103a099989796959493929190614edb565b34801561077d575f5ffd5b50610786606481565b60405161ffff90911681526020016103a0565b3480156107a4575f5ffd5b5061052e611b91565b3480156107b8575f5ffd5b5061052e611b9e565b3480156107cc575f5ffd5b506103bc5f516020615b215f395f51905f5281565b6103bc6107ef366004614f70565b611bab565b3480156107ff575f5ffd5b5061052e60405180604001604052806013815260200172424e3235342d424c532d424c4f434b4c4f434b60681b81525081565b34801561083d575f5ffd5b506104ac61084c366004614fd0565b611c9b565b34801561085c575f5ffd5b5061039461086b366004614bd2565b611cc8565b61048b61087e366004614c5b565b611cfe565b34801561088e575f5ffd5b506009546104e3906001600160601b031681565b3480156108ad575f5ffd5b506005546108c1906001600160401b031681565b6040516001600160401b0390911681526020016103a0565b3480156108e4575f5ffd5b506103bc5f81565b3480156108f7575f5ffd5b506103bc611e09565b34801561090b575f5ffd5b5061091f61091a366004614c5b565b611fb3565b6040516103a09190615033565b348015610937575f5ffd5b5061048b611fdc565b34801561094b575f5ffd5b50600b5461039490610100900460ff1681565b348015610969575f5ffd5b5061048b610978366004614c5b565b612027565b348015610988575f5ffd5b5061052e604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156109b8575f5ffd5b506109cc6109c7366004614fd0565b612067565b6040516103a09190615045565b3480156109e4575f5ffd5b5061048b6109f3366004614c5b565b61215c565b348015610a03575f5ffd5b5061048b610a12366004614c00565b612247565b348015610a22575f5ffd5b5061048b610a31366004614bd2565b6122e0565b348015610a41575f5ffd5b50600a5463ffffffff80821691600160201b8104821691600160401b8204811691600160601b8104821691600160801b820481169160ff600160a01b82041691600160a81b90910416610425565b348015610a9a575f5ffd5b50610aae610aa9366004614c5b565b6123d4565b6040516103a09190615087565b348015610ac6575f5ffd5b5061052e610ad536600461515e565b6127ef565b348015610ae5575f5ffd5b506103bc610af4366004614c5b565b612c0d565b348015610b04575f5ffd5b5061048b610b13366004614bd2565b612c31565b348015610b23575f5ffd5b50610394610b32366004614c5b565b612e1d565b348015610b42575f5ffd5b5061048b610b51366004614bd2565b612eb1565b348015610b61575f5ffd5b5061048b610b70366004614bd2565b612ecd565b348015610b80575f5ffd5b50610b94610b8f366004614c5b565b612f6a565b6040516103a094939291906151c5565b5f6001600160e01b03198216635a05180f60e01b1480610bc85750610bc882613029565b92915050565b600b545f9060ff16610c275760405162461bcd60e51b815260206004820152601a60248201527f436f6e7472616374206973206e6f7420636f6e6669677572656400000000000060448201526064015b60405180910390fd5b600b54610100900460ff1615610c765760405162461bcd60e51b815260206004820152601460248201527310dbdb9d1c9858dd081a5cc8191a5cd8589b195960621b6044820152606401610c1e565b83151580610c8357505f34115b610cf55760405162461bcd60e51b815260206004820152603860248201527f4469726563742066756e64696e6720726571756972656420666f72207265717560448201527f6573742066756c66696c6c6d656e742063616c6c6261636b00000000000000006064820152608401610c1e565b610cff858561305d565b5f610d5560405180604001604052806013815260200172424e3235342d424c532d424c4f434b4c4f434b60681b81525084604051602001610d4091906152c4565b60405160208183030381529060405286613287565b90506040518061012001604052808681526020013481526020018763ffffffff168152602001826001600160401b0316815260200185815260200184610d9a90615356565b815260408051602081810183525f808352818501929092528251808201845282815283850152336060948501526001600160401b0380871683526010825291839020855181559085015160018201559184015160028301805494860151909216600160201b026001600160601b031990941663ffffffff909116179290921790915560808201516003820190610e309082615467565b5060a0820151805180516004840191908290610e4f908290600261486b565b506020820151610e65906002808401919061486b565b50505060208201516004820190610e7c9082615467565b5060408201516005820190610e919082615467565b50505060c0820151600a820190610ea89082615467565b5060e0820151600b820190610ebd9082615467565b506101009190910151600c90910180546001600160a01b0319166001600160a01b0390921691909117905560405133906001600160401b038316907fa7cf57609b4abed689b408db0b0c3dc6309786b6c07d5efbbd1d5b150e6d2c0690610f2990889088904290615521565b60405180910390a36001600160401b031695945050505050565b81610f4d816132fb565b610f5561334f565b610f5e83611168565b15610f7c57604051631685ecdd60e31b815260040160405180910390fd5b610f868383613377565b610f8f60015f55565b505050565b610faa5f516020615b215f395f51905f526133e7565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f0dae1d002e96c238ebe140ca1799f77093ae09e0bde40f79bb29ed78d09e652d905f90a250565b600c8054611000906153f1565b80601f016020809104026020016040519081016040528092919081815260200182805461102c906153f1565b80156110775780601f1061104e57610100808354040283529160200191611077565b820191905f5260205f20905b81548152906001019060200180831161105a57829003601f168201915b505050505081565b5f9081525f516020615b015f395f51905f52602052604090206001015490565b6110b55f516020615b215f395f51905f526133e7565b600b805461ff0019166101001790556040517f75884cdadc4a89e8b545db800057f06ec7f5338a08183c7ba515f2bfdd9fe1e1905f90a1565b6110f78261107f565b611100816133e7565b61110a83836133f1565b50505050565b5f6111218363ffffffff1683613433565b9392505050565b6001600160a01b03811633146111515760405163334bd91960e11b815260040160405180910390fd5b610f8f828261353f565b600d8054611000906153f1565b5f8181526003602052604081206002018054825b818110156111f3575f60025f85848154811061119a5761119a615556565b5f9182526020808320909101546001600160a01b0316835282810193909352604091820181208982529092529020546001600160401b03600160481b9091041611156111eb57506001949350505050565b60010161117c565b505f949350505050565b6112135f516020615b215f395f51905f526133e7565b60ff8216609b116112665760405162461bcd60e51b815260206004820152601a60248201527f496e76616c6964205072656d69756d2050657263656e746167650000000000006044820152606401610c1e565b6040805160e08101825263ffffffff89811680835289821660208401819052898316848601819052898416606086018190528985166080870181905260ff8a1660a0880181905295891660c0909701879052600a805467ffffffffffffffff1916909517600160201b909402939093176fffffffffffffffff00000000000000001916600160401b90920263ffffffff60601b191691909117600160601b9091021764ffffffffff60801b1916600160801b90910260ff60a01b191617600160a01b9092029190911763ffffffff60a81b1916600160a81b909202919091179055600b805460ff19166001179055517f55a28fde295f482c9f32d670c116103bca15724bcef4f18b35542e0553c35ad5906113c890899089908990899089908990899063ffffffff97881681529587166020870152938616604086015291851660608501528416608084015260ff1660a083015290911660c082015260e00190565b60405180910390a150505050505050565b5f6113e2613578565b805490915060ff600160401b82041615906001600160401b03165f811580156114085750825b90505f826001600160401b031660011480156114235750303b155b905081158015611431575080155b1561144f5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561147957845460ff60401b1916600160401b1785555b6114816135a0565b6114896135a0565b6114a05f516020615b215f395f51905f52886133f1565b6114e05760405162461bcd60e51b815260206004820152601160248201527011dc985b9d081c9bdb194819985a5b1959607a1b6044820152606401610c1e565b6114ea5f886133f1565b61152a5760405162461bcd60e51b815260206004820152601160248201527011dc985b9d081c9bdb194819985a5b1959607a1b6044820152606401610c1e565b600180546001600160a01b0319166001600160a01b03881617905561154e466135aa565b60405160200161155e9190615581565b604051602081830303815290604052600c908161157b9190615467565b50611585466135aa565b60405160200161159591906155d8565b604051602081830303815290604052600d90816115b29190615467565b506115bc466135aa565b6040516020016115cc9190615614565b604051602081830303815290604052600e90816115e99190615467565b506115f3466135aa565b6040516020016116039190615650565b604051602081830303815290604052600f90816116209190615467565b50831561166357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020016113c8565b50505050505050565b5f610bc88263ffffffff163a613433565b6116856137715