@towns-protocol/generated
Version:
## How to generate contract types
605 lines (597 loc) • 35.4 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../common";
import type {
StreamRegistry,
StreamRegistryInterface,
} from "../StreamRegistry";
const _abi = [
{
type: "function",
name: "addStream",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "genesisMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "stream",
type: "tuple",
internalType: "struct Stream",
components: [
{
name: "lastMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
internalType: "uint64",
},
{
name: "reserved0",
type: "uint64",
internalType: "uint64",
},
{
name: "flags",
type: "uint64",
internalType: "uint64",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "allocateStream",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
{
name: "genesisMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "genesisMiniblock",
type: "bytes",
internalType: "bytes",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "getPaginatedStreams",
inputs: [
{
name: "start",
type: "uint256",
internalType: "uint256",
},
{
name: "stop",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "tuple[]",
internalType: "struct StreamWithId[]",
components: [
{
name: "id",
type: "bytes32",
internalType: "bytes32",
},
{
name: "stream",
type: "tuple",
internalType: "struct Stream",
components: [
{
name: "lastMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
internalType: "uint64",
},
{
name: "reserved0",
type: "uint64",
internalType: "uint64",
},
{
name: "flags",
type: "uint64",
internalType: "uint64",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
],
},
],
},
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getPaginatedStreamsOnNode",
inputs: [
{
name: "nodeAddress",
type: "address",
internalType: "address",
},
{
name: "start",
type: "uint256",
internalType: "uint256",
},
{
name: "stop",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "streams",
type: "tuple[]",
internalType: "struct StreamWithId[]",
components: [
{
name: "id",
type: "bytes32",
internalType: "bytes32",
},
{
name: "stream",
type: "tuple",
internalType: "struct Stream",
components: [
{
name: "lastMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
internalType: "uint64",
},
{
name: "reserved0",
type: "uint64",
internalType: "uint64",
},
{
name: "flags",
type: "uint64",
internalType: "uint64",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
],
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getStream",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "stream",
type: "tuple",
internalType: "struct Stream",
components: [
{
name: "lastMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
internalType: "uint64",
},
{
name: "reserved0",
type: "uint64",
internalType: "uint64",
},
{
name: "flags",
type: "uint64",
internalType: "uint64",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getStreamCount",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getStreamCountOnNode",
inputs: [
{
name: "nodeAddress",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "count",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getStreamWithGenesis",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "stream",
type: "tuple",
internalType: "struct Stream",
components: [
{
name: "lastMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
internalType: "uint64",
},
{
name: "reserved0",
type: "uint64",
internalType: "uint64",
},
{
name: "flags",
type: "uint64",
internalType: "uint64",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
],
},
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
stateMutability: "view",
},
{
type: "function",
name: "isStream",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "placeStreamOnNode",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "nodeAddress",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "removeStreamFromNode",
inputs: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "nodeAddress",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setStreamLastMiniblockBatch",
inputs: [
{
name: "miniblocks",
type: "tuple[]",
internalType: "struct SetMiniblock[]",
components: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "prevMiniBlockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockHash",
type: "bytes32",
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
internalType: "uint64",
},
{
name: "isSealed",
type: "bool",
internalType: "bool",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setStreamReplicationFactor",
inputs: [
{
name: "requests",
type: "tuple[]",
internalType: "struct SetStreamReplicationFactor[]",
components: [
{
name: "streamId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "nodes",
type: "address[]",
internalType: "address[]",
},
{
name: "replicationFactor",
type: "uint8",
internalType: "uint8",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "syncNodesOnStreams",
inputs: [
{
name: "start",
type: "uint256",
internalType: "uint256",
},
{
name: "stop",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "event",
name: "StreamLastMiniblockUpdateFailed",
inputs: [
{
name: "streamId",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
{
name: "lastMiniblockHash",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
{
name: "lastMiniblockNum",
type: "uint64",
indexed: false,
internalType: "uint64",
},
{
name: "reason",
type: "string",
indexed: false,
internalType: "string",
},
],
anonymous: false,
},
{
type: "event",
name: "StreamUpdated",
inputs: [
{
name: "eventType",
type: "uint8",
indexed: true,
internalType: "enum IStreamRegistryBase.StreamEventType",
},
{
name: "data",
type: "bytes",
indexed: false,
internalType: "bytes",
},
],
anonymous: false,
},
] as const;
const _bytecode =
"0x6080604052348015600e575f5ffd5b50612b168061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063b2e76b8e11610088578063ca78c41a11610063578063ca78c41a146101de578063d0c27c4f146101ff578063ee885b1214610222578063ff3a14ab14610235575f5ffd5b8063b2e76b8e146101a2578063c0f22084146101b5578063c87d1324146101cb575f5ffd5b80633c2544d1116100c35780633c2544d1146101475780635c665ce9146101695780636b883c391461017c5780639ee86d381461018f575f5ffd5b806303cc8793146100e95780631290abe8146100fe57806322bbda6414610127575b5f5ffd5b6100fc6100f7366004611d9f565b610248565b005b61011161010c366004611dbf565b6102af565b60405161011e9190611e80565b60405180910390f35b61013a610135366004611eb3565b6103d8565b60405161011e9190611f74565b61015a610155366004611dbf565b610592565b60405161011e93929190611fd2565b6100fc610177366004612047565b610767565b6100fc61018a366004612086565b6109e8565b6100fc61019d366004612136565b610b5b565b6100fc6101b0366004612164565b610d9a565b6101bd610e84565b60405190815260200161011e565b6101bd6101d93660046121b6565b610e93565b6101f16101ec366004611d9f565b610ec6565b60405161011e9291906121d1565b61021261020d366004611dbf565b61105e565b604051901515815260200161011e565b6100fc610230366004612136565b611069565b6100fc6102433660046121f4565b611344565b5f80610253816117e3565b838118908411028318848111908590030284019150505b808310156102aa575f61027d81856117ec565b5f81815260026020819052604090912091925061029d90839083016117fe565b505082600101925061026a565b505050565b6102fb6040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b806040526103088261186a565b5f82815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff8082168386015268010000000000000000820481168388015270010000000000000000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156103c857602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161039d575b5050505050815250509050919050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152601060205260408120606091610408826117e3565b9050838118818511028418858111868203028067ffffffffffffffff81111561043357610433612265565b60405190808252806020026020018201604052801561046c57816020015b610459611c70565b8152602001906001900390816104515790505b5094505f5b81811015610586575f86828151811061048c5761048c612292565b602002602001015190506104ab828a01876117ec90919063ffffffff16565b8082525f90815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff80821683860152680100000000000000008204811683880152700100000000000000000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561056e57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610543575b50505091909252505050602090910152600101610471565b50505050509392505050565b6105de6040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b5f6060826040526105ee8461186a565b5f84815260026020818152604080842060048352818520546003845294829020825160a08101845282548152600183015467ffffffffffffffff80821683880152680100000000000000008204811683870152700100000000000000000000000000000000909104166060820152948201805484518187028101870190955280855292969591949193879360808601939192918301828280156106c557602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161069a575b50505050508152505092508080546106dc906122bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610708906122bf565b80156107535780601f1061072a57610100808354040283529160200191610753565b820191905f5260205f20905b81548152906001019060200180831161073657829003601f168201915b505050505090509250925092509193909250565b33610773600d826118b9565b6107b5576107b56040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506118e7565b815f8190036107fc576107fc6040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506118e7565b5f5b818110156109e1573685858381811061081957610819612292565b905060200281019061082b9190612310565b905061083d606082016040830161234c565b60ff16158061086b5750610854602082018261236c565b9050610866606083016040840161234c565b60ff16115b156108ae576108ae6040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506118e7565b6108b8813561186a565b80355f818152600260208190526040909120916108d691830161190a565b6108ed82356108e8602085018561236c565b611970565b6108fa602083018361236c565b60018301546109559068010000000000000000900467ffffffffffffffff16610929606087016040880161234c565b60ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00919091161790565b6001840180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8416021790556109a4600285018484611cd2565b505050506109d76002835f0135836040516020016109c39291906123d0565b6040516020818303038152906040526119dc565b50506001016107fe565b5050505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16610a5257610a526040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b86610a5c81611a1a565b8686610a688282611a67565b5f8a8152600260205260409020600181015488908b908b9067ffffffffffffff00680100000000000000009091041660ff8216176001850180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff841602179055845f610aed600283018686611cd2565b50509390935550610b0291505f90508c611aee565b505f8b8152600360205260409020610b1b8789836124da565b505f8b8152600460205260409020889055610b378b8b8b611970565b610b4e5f8c836040516020016109c39291906123d0565b5050505050505050505050565b81610b658161186a565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16610bcf57610bcf6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b5f84815260026020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552601090925290922090820190610c0e9087611aee565b5080545f5b81811015610cb0578673ffffffffffffffffffffffffffffffffffffffff16838281548110610c4457610c44612292565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603610ca857610ca86040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506118e7565b600101610c13565b508154600180820184555f8481526020902090910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558301548254610d4f9168010000000000000000900467ffffffffffffffff169060ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00919091161790565b8360010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610d91600288856040516020016109c39291906123d0565b50505050505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16610e0457610e046040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b83610e0e81611a1a565b610e1b608084018461236c565b610e258282611a67565b610e2f5f88611aee565b505f8781526002602052604090208590610e4982826126b8565b50505f878152600460205260409020869055610e6c876108e8608088018861236c565b610d91600188876040516020016109c392919061284b565b5f610e8e816117e3565b905090565b73ffffffffffffffffffffffffffffffffffffffff81165f908152601060205260408120610ec0906117e3565b92915050565b60605f80610ed3816117e3565b9050838118818511028418858111868203025f8167ffffffffffffffff811115610eff57610eff612265565b604051908082528060200260200182016040528015610f3857816020015b610f25611c70565b815260200190600190039081610f1d5790505b5090505f5b8281101561104c575f828281518110610f5857610f58612292565b60209081029190910101519050610f715f8b84016117ec565b8082525f90815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff80821683860152680100000000000000008204811683880152700100000000000000000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561103457602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611009575b50505091909252505050602090910152600101610f3d565b509450505083101590505b9250929050565b5f610ec08183611af9565b816110738161186a565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff166110dd576110dd6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b5f84815260026020818152604080842073ffffffffffffffffffffffffffffffffffffffff8816855260109092529092209082019061111c9087611b10565b5080545f90815b8181101561128d578773ffffffffffffffffffffffffffffffffffffffff1684828154811061115457611154612292565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036112855783611186600184612930565b8154811061119657611196612292565b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168482815481106111d0576111d0612292565b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508380548061122557611225612943565b5f8281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190556001925061128d565b600101611123565b50816112d1576112d16040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b60018401805484547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff821660ff909116680100000000000000009283900467ffffffffffffff00161790910217905560405161133a906002906109c3908b9088906020016123d0565b5050505050505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff166113ae576113ae6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b815f8190036113f5576113f56040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506118e7565b5f8167ffffffffffffffff81111561140f5761140f612265565b60405190808252806020026020018201604052801561147957816020015b6114666040518060a001604052805f81526020015f81526020015f81526020015f67ffffffffffffffff1681526020015f151581525090565b81526020019060019003908161142d5790505b5090505f805b838110156117c1573687878381811061149a5761149a612292565b60a0029190910191506114b090505f8235611af9565b61153c577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa813560408301356114ec6080850160608601612970565b604080518082018252600981527f4e4f545f464f554e4400000000000000000000000000000000000000000000006020820152905161152e949392919061298b565b60405180910390a1506117b9565b80355f908152600260205260409020600180820154700100000000000000000000000000000000900416156115f4577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa823560408401356115a36080860160608701612970565b604080518082018252600d81527f53545245414d5f5345414c454400000000000000000000000000000000000000602082015290516115e5949392919061298b565b60405180910390a150506117b9565b6116046080830160608401612970565b600182015467ffffffffffffffff918216911610611696577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa823560408401356116546080860160608701612970565b604080518082018252600781527f4241445f41524700000000000000000000000000000000000000000000000000602082015290516115e5949392919061298b565b600181015467ffffffffffffffff165f036116c35781355f9081526003602052604081206116c391611d58565b604082013581556116da6080830160608401612970565b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905561172560a08301608084016129cd565b1561177f57600181810180547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff81167001000000000000000000000000000000009182900467ffffffffffffffff16909317029190911790555b61178e368390038301836129e6565b858561179981612a61565b9650815181106117ab576117ab612292565b602002602001018190525050505b60010161147f565b508082526117db6003836040516020016109c39190612a98565b505050505050565b5f610ec0825490565b5f6117f78383611b1b565b9392505050565b80545f5b818110156118645761185b845f6010015f86858154811061182557611825612292565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902090611aee565b50600101611802565b50505050565b6118745f82611af9565b6118b6576118b66040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506118e7565b50565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415156117f7565b6308c379a06040820352602080820352601f19601f825101166044810160248303fd5b80545f5b8181101561186457611967845f6010015f86858154811061193157611931612292565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902090611b10565b5060010161190e565b5f5b81811015611864576119d38460105f86868681811061199357611993612292565b90506020020160208101906119a891906121b6565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2090611aee565b50600101611972565b5f7f378ece20ebca29c2f887798617154658265a73d80c84fad8c9c49639ffdb29bb9050602082038051602082528483604086510184a29052505050565b611a245f82611af9565b156118b6576118b66040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506118e7565b805f5b8181101561186457611aa4848483818110611a8757611a87612292565b9050602002016020810190611a9c91906121b6565b6005906118b9565b611ae657611ae66040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506118e7565b600101611a6a565b5f6117f78383611b41565b5f81815260018301602052604081205415156117f7565b5f6117f78383611b8d565b5f825f018281548110611b3057611b30612292565b905f5260205f200154905092915050565b5f818152600183016020526040812054611b8657508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610ec0565b505f610ec0565b5f8181526001830160205260408120548015611c67575f611baf600183612930565b85549091505f90611bc290600190612930565b9050808214611c21575f865f018281548110611be057611be0612292565b905f5260205f200154905080875f018481548110611c0057611c00612292565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611c3257611c32612943565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610ec0565b5f915050610ec0565b60405180604001604052805f8152602001611ccd6040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b905290565b828054828255905f5260205f20908101928215611d48579160200282015b82811115611d485781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff843516178255602090920191600190910190611cf0565b50611d54929150611d8b565b5090565b508054611d64906122bf565b5f825580601f10611d73575050565b601f0160209004905f5260205f20908101906118b691905b5b80821115611d54575f8155600101611d8c565b5f5f60408385031215611db0575f5ffd5b50508035926020909101359150565b5f60208284031215611dcf575f5ffd5b5035919050565b5f60a083018251845267ffffffffffffffff602084015116602085015267ffffffffffffffff604084015116604085015267ffffffffffffffff6060840151166060850152608083015160a0608086015281815180845260c0870191506020830193505f92505b80831015611e765773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250611e3d565b5095945050505050565b602081525f6117f76020830184611dd6565b73ffffffffffffffffffffffffffffffffffffffff811681146118b6575f5ffd5b5f5f5f60608486031215611ec5575f5ffd5b8335611ed081611e92565b95602085013595506040909401359392505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015611f68577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030188528151805184526020810151905060406020850152611f516040850182611dd6565b6020998a0199909450929092019150600101611f01565b50909695505050505050565b602081525f6117f76020830184611ee5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b606081525f611fe46060830186611dd6565b8460208401528281036040840152611ffc8185611f86565b9695505050505050565b5f5f83601f840112612016575f5ffd5b50813567ffffffffffffffff81111561202d575f5ffd5b6020830191508360208260051b8501011115611057575f5ffd5b5f5f60208385031215612058575f5ffd5b823567ffffffffffffffff81111561206e575f5ffd5b61207a85828601612006565b90969095509350505050565b5f5f5f5f5f5f6080878903121561209b575f5ffd5b86359550602087013567ffffffffffffffff8111156120b8575f5ffd5b6120c489828a01612006565b90965094505060408701359250606087013567ffffffffffffffff8111156120ea575f5ffd5b8701601f810189136120fa575f5ffd5b803567ffffffffffffffff811115612110575f5ffd5b896020828401011115612121575f5ffd5b60208201935080925050509295509295509295565b5f5f60408385031215612147575f5ffd5b82359150602083013561215981611e92565b809150509250929050565b5f5f5f60608486031215612176575f5ffd5b8335925060208401359150604084013567ffffffffffffffff81111561219a575f5ffd5b840160a081870312156121ab575f5ffd5b809150509250925092565b5f602082840312156121c6575f5ffd5b81356117f781611e92565b604081525f6121e36040830185611ee5565b905082151560208301529392505050565b5f5f60208385031215612205575f5ffd5b823567ffffffffffffffff81111561221b575f5ffd5b8301601f8101851361222b575f5ffd5b803567ffffffffffffffff811115612241575f5ffd5b85602060a083028401011115612255575f5ffd5b6020919091019590945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b600181811c908216806122d357607f821691505b60208210810361230a577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112612342575f5ffd5b9190910192915050565b5f6020828403121561235c575f5ffd5b813560ff811681146117f7575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261239f575f5ffd5b83018035915067ffffffffffffffff8211156123b9575f5ffd5b6020019150600581901b3603821315611057575f5ffd5b828152604060208201525f60e0820183546040840152600184015467ffffffffffffffff8116606085015267ffffffffffffffff8160401c16608085015267ffffffffffffffff8160801c1660a0850152506002840160a060c085015281815480845261010086019150825f5260205f2093505f92505b808310156124805773ffffffffffffffffffffffffffffffffffffffff8454168252602082019150600184019350600183019250612447565b509695505050505050565b5b8181101561249f575f815560010161248c565b5050565b601f8211156102aa57805f5260205f20601f840160051c810160208510156124c85750805b6109e1601f850160051c83018261248b565b67ffffffffffffffff8311156124f2576124f2612265565b6125068361250083546122bf565b836124a3565b5f601f841160018114612556575f85156125205750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556109e1565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156125a35786850135825560209485019460019092019101612583565b50868210156125de577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b67ffffffffffffffff811681146118b6575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b67ffffffffffffffff83111561264a5761264a612265565b6801000000000000000083111561266357612663612265565b80548382558084101561268757815f5260205f2061268582820186830161248b565b505b5081815f5260205f205f5b858110156117db5782356126a581611e92565b8282015560209290920191600101612692565b813581556001810160208301356126ce816125f0565b815460408501356126de816125f0565b6fffffffffffffffff00000000000000008160401b1667ffffffffffffffff84167fffffffffffffffffffffffffffffffff000000000000000000000000000000008416171784555050505f6060840135612738816125f0565b82547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16608091821b77ffffffffffffffff000000000000000000000000000000001617909255505f908190840135368590037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126127b7575f5ffd5b84018035915067ffffffffffffffff8211156127d1575f5ffd5b6020019150600581901b36038213156127e8575f5ffd5b611864818360028601612632565b8183526020830192505f815f5b8481101561284157813561281681611e92565b73ffffffffffffffffffffffffffffffffffffffff1686526020958601959190910190600101612803565b5093949350505050565b828152604060208201525f5f83359050806040840152506020830135612870816125f0565b67ffffffffffffffff166060830152604083013561288d816125f0565b67ffffffffffffffff16608083015260608301356128aa816125f0565b67ffffffffffffffff1660a08301526080830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126128ee575f5ffd5b830160208101903567ffffffffffffffff81111561290a575f5ffd5b8060051b360382131561291b575f5ffd5b60a060c0850152611ffc60e0850182846127f6565b81810381811115610ec057610ec0612605565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f60208284031215612980575f5ffd5b81356117f7816125f0565b84815283602082015267ffffffffffffffff83166040820152608060608201525f611ffc6080830184611f86565b803580151581146129c8575f5ffd5b919050565b5f602082840312156129dd575f5ffd5b6117f7826129b9565b5f60a08284031280156129f7575f5ffd5b5060405160a0810167ffffffffffffffff81118282101715612a1b57612a1b612265565b6040908152833582526020808501359083015283810135908201526060830135612a44816125f0565b6060820152612a55608084016129b9565b60808201529392505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a9157612a91612605565b5060010190565b602080825282518282018190525f918401906040840190835b81811015612b0b57835180518452602081015160208501526040810151604085015267ffffffffffffffff60608201511660608501526080810151151560808501525060a083019250602084019350600181019050612ab1565b50909594505050505056";
type StreamRegistryConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: StreamRegistryConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class StreamRegistry__factory extends ContractFactory {
constructor(...args: StreamRegistryConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override deploy(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<StreamRegistry> {
return super.deploy(overrides || {}) as Promise<StreamRegistry>;
}
override getDeployTransaction(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(overrides || {});
}
override attach(address: string): StreamRegistry {
return super.attach(address) as StreamRegistry;
}
override connect(signer: Signer): StreamRegistry__factory {
return super.connect(signer) as StreamRegistry__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): StreamRegistryInterface {
return new utils.Interface(_abi) as StreamRegistryInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): StreamRegistry {
return new Contract(address, _abi, signerOrProvider) as StreamRegistry;
}
}