@towns-protocol/generated
Version:
## How to generate contract types
987 lines (979 loc) • 40 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 { Channels, ChannelsInterface } from "../Channels";
const _abi = [
{
type: "function",
name: "addRoleToChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "createChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "metadata",
type: "string",
internalType: "string",
},
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "createChannelWithOverridePermissions",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "metadata",
type: "string",
internalType: "string",
},
{
name: "rolePermissions",
type: "tuple[]",
internalType: "struct IChannelBase.RolePermissions[]",
components: [
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
{
name: "permissions",
type: "string[]",
internalType: "string[]",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "getChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "channel",
type: "tuple",
internalType: "struct IChannelBase.Channel",
components: [
{
name: "id",
type: "bytes32",
internalType: "bytes32",
},
{
name: "disabled",
type: "bool",
internalType: "bool",
},
{
name: "metadata",
type: "string",
internalType: "string",
},
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getChannels",
inputs: [],
outputs: [
{
name: "channels",
type: "tuple[]",
internalType: "struct IChannelBase.Channel[]",
components: [
{
name: "id",
type: "bytes32",
internalType: "bytes32",
},
{
name: "disabled",
type: "bool",
internalType: "bool",
},
{
name: "metadata",
type: "string",
internalType: "string",
},
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRolesByChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
],
stateMutability: "view",
},
{
type: "function",
name: "removeChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "removeRoleFromChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateChannel",
inputs: [
{
name: "channelId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "metadata",
type: "string",
internalType: "string",
},
{
name: "disabled",
type: "bool",
internalType: "bool",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "event",
name: "Approval",
inputs: [
{
name: "owner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "approved",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "ApprovalForAll",
inputs: [
{
name: "owner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "operator",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "approved",
type: "bool",
indexed: false,
internalType: "bool",
},
],
anonymous: false,
},
{
type: "event",
name: "Banned",
inputs: [
{
name: "moderator",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "ChannelCreated",
inputs: [
{
name: "caller",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "channelId",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "ChannelRemoved",
inputs: [
{
name: "caller",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "channelId",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "ChannelRoleAdded",
inputs: [
{
name: "caller",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "channelId",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "ChannelRoleRemoved",
inputs: [
{
name: "caller",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "channelId",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "ChannelUpdated",
inputs: [
{
name: "caller",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "channelId",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "ConsecutiveTransfer",
inputs: [
{
name: "fromTokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "toTokenId",
type: "uint256",
indexed: false,
internalType: "uint256",
},
{
name: "from",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "to",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Initialized",
inputs: [
{
name: "version",
type: "uint32",
indexed: false,
internalType: "uint32",
},
],
anonymous: false,
},
{
type: "event",
name: "InterfaceAdded",
inputs: [
{
name: "interfaceId",
type: "bytes4",
indexed: true,
internalType: "bytes4",
},
],
anonymous: false,
},
{
type: "event",
name: "InterfaceRemoved",
inputs: [
{
name: "interfaceId",
type: "bytes4",
indexed: true,
internalType: "bytes4",
},
],
anonymous: false,
},
{
type: "event",
name: "OwnershipTransferred",
inputs: [
{
name: "previousOwner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "newOwner",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Paused",
inputs: [
{
name: "account",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "PermissionsAddedToChannelRole",
inputs: [
{
name: "updater",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "roleId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "channelId",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "PermissionsRemovedFromChannelRole",
inputs: [
{
name: "updater",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "roleId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "channelId",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "PermissionsUpdatedForChannelRole",
inputs: [
{
name: "updater",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "roleId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "channelId",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleCreated",
inputs: [
{
name: "creator",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "roleId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleRemoved",
inputs: [
{
name: "remover",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "roleId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleUpdated",
inputs: [
{
name: "updater",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "roleId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "Transfer",
inputs: [
{
name: "from",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "to",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "Unbanned",
inputs: [
{
name: "moderator",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "Unpaused",
inputs: [
{
name: "account",
type: "address",
indexed: false,
internalType: "address",
},
],
anonymous: false,
},
{
type: "error",
name: "ApprovalCallerNotOwnerNorApproved",
inputs: [],
},
{
type: "error",
name: "ApprovalQueryForNonexistentToken",
inputs: [],
},
{
type: "error",
name: "BalanceQueryForZeroAddress",
inputs: [],
},
{
type: "error",
name: "Banning__AlreadyBanned",
inputs: [
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "Banning__CannotBanOwner",
inputs: [],
},
{
type: "error",
name: "Banning__CannotBanSelf",
inputs: [],
},
{
type: "error",
name: "Banning__InvalidTokenId",
inputs: [
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "Banning__NotBanned",
inputs: [
{
name: "tokenId",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "ChannelService__ChannelAlreadyExists",
inputs: [],
},
{
type: "error",
name: "ChannelService__ChannelDisabled",
inputs: [],
},
{
type: "error",
name: "ChannelService__ChannelDoesNotExist",
inputs: [],
},
{
type: "error",
name: "ChannelService__RoleAlreadyExists",
inputs: [],
},
{
type: "error",
name: "ChannelService__RoleDoesNotExist",
inputs: [],
},
{
type: "error",
name: "Entitlement__InvalidValue",
inputs: [],
},
{
type: "error",
name: "Entitlement__NotAllowed",
inputs: [],
},
{
type: "error",
name: "Entitlement__NotMember",
inputs: [],
},
{
type: "error",
name: "Entitlement__ValueAlreadyExists",
inputs: [],
},
{
type: "error",
name: "Initializable_InInitializingState",
inputs: [],
},
{
type: "error",
name: "Introspection_AlreadySupported",
inputs: [],
},
{
type: "error",
name: "Introspection_NotSupported",
inputs: [],
},
{
type: "error",
name: "MintERC2309QuantityExceedsLimit",
inputs: [],
},
{
type: "error",
name: "MintToZeroAddress",
inputs: [],
},
{
type: "error",
name: "MintZeroQuantity",
inputs: [],
},
{
type: "error",
name: "Ownable__NotOwner",
inputs: [
{
name: "account",
type: "address",
internalType: "address",
},
],
},
{
type: "error",
name: "Ownable__ZeroAddress",
inputs: [],
},
{
type: "error",
name: "OwnerQueryForNonexistentToken",
inputs: [],
},
{
type: "error",
name: "OwnershipNotInitializedForExtraData",
inputs: [],
},
{
type: "error",
name: "Pausable__NotPaused",
inputs: [],
},
{
type: "error",
name: "Pausable__Paused",
inputs: [],
},
{
type: "error",
name: "Roles__EntitlementAlreadyExists",
inputs: [],
},
{
type: "error",
name: "Roles__EntitlementDoesNotExist",
inputs: [],
},
{
type: "error",
name: "Roles__InvalidEntitlementAddress",
inputs: [],
},
{
type: "error",
name: "Roles__InvalidPermission",
inputs: [],
},
{
type: "error",
name: "Roles__PermissionAlreadyExists",
inputs: [],
},
{
type: "error",
name: "Roles__PermissionDoesNotExist",
inputs: [],
},
{
type: "error",
name: "Roles__RoleDoesNotExist",
inputs: [],
},
{
type: "error",
name: "Roles__RoleIsImmutable",
inputs: [],
},
{
type: "error",
name: "TransferCallerNotOwnerNorApproved",
inputs: [],
},
{
type: "error",
name: "TransferFromIncorrectOwner",
inputs: [],
},
{
type: "error",
name: "TransferToNonERC721ReceiverImplementer",
inputs: [],
},
{
type: "error",
name: "TransferToZeroAddress",
inputs: [],
},
{
type: "error",
name: "URIQueryForNonexistentToken",
inputs: [],
},
] as const;
const _bytecode =
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61287b806100ca5f395ff3fe608060405234801561000f575f5ffd5b506004361061009f575f3560e01c8063921f7175116100725780639935218311610058578063993521831461012f578063b9de61591461014f578063ef86d69614610162575f5ffd5b8063921f7175146101075780639575f6ac1461011a575f5ffd5b806302da0e51146100a357806337644cf7146100b85780635a2dce7a146100cb578063831c2b82146100de575b5f5ffd5b6100b66100b1366004611ed0565b610175565b005b6100b66100c6366004611ee7565b6101bf565b6100b66100d9366004611f8d565b61020b565b6100f16100ec366004611ed0565b61036d565b6040516100fe91906120c0565b60405180910390f35b6100b6610115366004611f8d565b6103a7565b61012261042a565b6040516100fe91906120d2565b61014261013d366004611ed0565b610439565b6040516100fe9190612153565b6100b661015d366004611ee7565b610444565b6100b66101703660046121a2565b61048c565b6101b36040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6101bc8161056a565b50565b6101fd6040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b61020782826105ab565b5050565b6102496040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b5f8167ffffffffffffffff811115610263576102636121fd565b60405190808252806020026020018201604052801561028c578160200160208202803683370190505b5090505f5b828110156102e5578383828181106102ab576102ab61222a565b90506020028101906102bd9190612257565b5f01358282815181106102d2576102d261222a565b6020908102919091010152600101610291565b506102f2868686846105f5565b5f5b828110156103645761035c8484838181106103115761031161222a565b90506020028101906103239190612257565b35888686858181106103375761033761222a565b90506020028101906103499190612257565b610357906020810190612293565b610648565b6001016102f4565b50505050505050565b61039860405180608001604052805f81526020015f1515815260200160608152602001606081525090565b6103a1826107bf565b92915050565b6103e56040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6104238585858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506105f592505050565b5050505050565b606061043461081f565b905090565b60606103a182610948565b6104826040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6102078282610953565b6104ca6040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6104d684848484610995565b50505050565b336104e56109d3565b73ffffffffffffffffffffffffffffffffffffffff16148061053957507fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615801561053957506105393382610a93565b156105415750565b6101bc7f338e692c00000000000000000000000000000000000000000000000000000000610aae565b61057381610ab6565b60405181815233907f3a3f387aa42656bc1732adfc7aea5cde9ccc05a59f9af9c29ebfa68e66383e939060200160405180910390a250565b6105b58282610b50565b604080518381526020810183905233917f2b10481523b59a7978f8ab73b237349b0f38c801f6094bdc8994d379c067d71391015b60405180910390a25050565b61060083835f610bf2565b61060c84848484610c28565b60405184815233907fdd6c5b83be3557f8b2674712946f9f05dcd882b82bfd58b9539b9706efd35d8c906020015b60405180910390a250505050565b8080156107b55761065885610d3f565b61066184610d96565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906106c381610def565b5f5b83811015610765576106f98686838181106106e2576106e261222a565b90506020028101906106f491906122f7565b610ed7565b61075c86868381811061070e5761070e61222a565b905060200281019061072091906122f7565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508693925050610f089050565b506001016106c5565b505f878152600483016020526040902061077f9087610f5e565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a45050610423565b6104238585610f69565b6107ea60405180608001604052805f81526020015f1515815260200160608152602001606081525090565b5f5f6107f58461102b565b92509250505f6108048561112e565b60608501525060408301919091521515602082015290815290565b60605f61082a611190565b9050805167ffffffffffffffff811115610846576108466121fd565b6040519080825280602002602001820160405280156108a257816020015b61088f60405180608001604052805f81526020015f1515815260200160608152602001606081525090565b8152602001906001900390816108645790505b5091505f5b8151811015610943575f5f5f6108d58585815181106108c8576108c861222a565b602002602001015161102b565b9250925092505f6108fe8686815181106108f1576108f161222a565b602002602001015161112e565b90505f8786815181106109135761091361222a565b602090810291909101810151606081019390935260408301949094525090151591810191909152526001016108a7565b505090565b60606103a18261112e565b61095d82826111bc565b604080518381526020810183905233917faee688d80dbf97230e5d2b4b06aa7074bfe38ddd8abf856551177db30395612991016105e9565b6109a18484848461125d565b60405184815233907f94af4a611b3fb1eaa653a6b29f82b71bcea25ca378171c5f059010fa18e0716e9060200161063a565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610a69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8d9190612380565b91505090565b5f610aa78184610aa285612399565b6113eb565b9392505050565b805f5260045ffd5b610abf81610d96565b7f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610aea81836116bb565b505f8281526002808301602052604082208281556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690559190610b3690830182611e86565b50505f8281526003820160205260409020610207906116c6565b610b5982610d96565b610b62826116cf565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090610bba8184611730565b15610be857610be87f2369ff3000000000000000000000000000000000000000000000000000000000610aae565b6104238184610f5e565b80821015610c2357610c237f947d5a8400000000000000000000000000000000000000000000000000000000610aae565b505050565b610c3184611747565b7f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610c5c8186610f5e565b505f858152600280830160205260408220918791879187918591908201610c8484868361246a565b50509290925550505f8681526003830160205260408120905b8451811015610d3557610cd2858281518110610cbb57610cbb61222a565b60200260200101518361173090919063ffffffff16565b15610d0057610d007f2369ff3000000000000000000000000000000000000000000000000000000000610aae565b610d2c858281518110610d1557610d1561222a565b602002602001015183610f5e90919063ffffffff16565b50600101610c9d565b5050505050505050565b610d697f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0182611730565b6101bc576101bc7fa3f70f7b00000000000000000000000000000000000000000000000000000000610aae565b610dc2817f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005b90611730565b6101bc576101bc7fac16968200000000000000000000000000000000000000000000000000000000610aae565b805481905f5b81811015610ecf575f84815260208120820190505f610ebb86835f018054610e1c906123db565b80601f0160208091040260200160405190810160405280929190818152602001828054610e48906123db565b8015610e935780601f10610e6a57610100808354040283529160200191610e93565b820191905f5260205f20905b815481529060010190602001808311610e7657829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b55610ec6815f611e86565b50600101610df5565b50505f905550565b5f819003610207576102077f0ce76c1000000000000000000000000000000000000000000000000000000000610aae565b805160208183018101805160018601825292820191840191909120919052805415908115610f57578354600181018086555f86815260209020869291908201610f518782612580565b50835550505b5092915050565b5f610aa7838361179f565b610f7282610d3f565b610f7b81610d96565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0090610fdd81610def565b5f8481526004830160205260409020610ff690846116bb565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b5f60605f61103884610d96565b5f8481527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043026020526040902080546002820180549195507f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300929161109b906123db565b80601f01602080910402602001604051908101604052809291908181526020018280546110c7906123db565b80156111125780601f106110e957610100808354040283529160200191611112565b820191905f5260205f20905b8154815290600101906020018083116110f557829003601f168201915b50505060019093015496989197505060ff909516949350505050565b606061113982610d96565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090610aa7906117eb565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610a8d816117eb565b6111c582610d96565b6111ce826116cf565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300906112268184611730565b611253576112537f6796073e00000000000000000000000000000000000000000000000000000000610aae565b61042381846116bb565b61126684610d96565b5f8481527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090831580159061138c575061138a8160020180546112d0906123db565b80601f01602080910402602001604051908101604052809291908181526020018280546112fc906123db565b80156113475780601f1061131e57610100808354040283529160200191611347565b820191905f5260205f20905b81548152906001019060200180831161132a57829003601f168201915b505050505086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092939250506117f79050565b155b156113a257600281016113a085878361246a565b505b600181015460ff161515831515146113e3576001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415151790555b505050505050565b5f5f6113f56109d3565b90505f6114018561180d565b80519091505f61140f611b51565b80519091505f5b838110156114fe575f8582815181106114315761143161222a565b602002602001015190508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361147e576001975050505050505050610aa7565b5f5b838110156114f4578173ffffffffffffffffffffffffffffffffffffffff166114c18683815181106114b4576114b461222a565b6020026020010151611b7c565b73ffffffffffffffffffffffffffffffffffffffff16036114ec575f98505050505050505050610aa7565b600101611480565b5050600101611416565b507fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f61154a7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c93101611b86565b90505f5b818110156116aa575f83816115666001830185611b8f565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182015f205482517f2e1b61e40000000000000000000000000000000000000000000000000000000081529251911693508392632e1b61e492600480820193918290030181865afa1580156115e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116069190612697565b15801561168a57508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5338e8a8e6040518463ffffffff1660e01b815260040161164b939291906126b2565b602060405180830381865afa158015611666573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168a9190612697565b156116a15760019950505050505050505050610aa7565b5060010161154e565b505f9b9a5050505050505050505050565b5f610aa78383611b9a565b6101bc81611c7d565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff16156101bc576101bc7fd9c0051200000000000000000000000000000000000000000000000000000000610aae565b5f8181526001830160205260408120541515610aa7565b611771817f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610dbc565b156101bc576101bc7f8c93df6400000000000000000000000000000000000000000000000000000000610aae565b5f8181526001830160205260408120546117e457508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556103a1565b505f6103a1565b60605f610aa783611cd6565b8051602091820120825192909101919091201490565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa1580156118a4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526118e9919081019061271d565b905080515f03611a5a576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015611960573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119849190612380565b905073ffffffffffffffffffffffffffffffffffffffff811615611a58576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015611a10573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611a55919081019061271d565b91505b505b80515f611a68826001612828565b67ffffffffffffffff811115611a8057611a806121fd565b604051908082528060200260200182016040528015611aa9578160200160208202803683370190505b5090505f5b82811015611b0f57838181518110611ac857611ac861222a565b6020026020010151828281518110611ae257611ae261222a565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611aae565b5085818381518110611b2357611b2361222a565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b60606104347f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf006117eb565b5f6103a182611d2f565b5f6103a1825490565b5f610aa78383611e60565b5f8181526001830160205260408120548015611c74575f611bbc60018361283b565b85549091505f90611bcf9060019061283b565b9050808214611c2e575f865f018281548110611bed57611bed61222a565b905f5260205f200154905080875f018481548110611c0d57611c0d61222a565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611c3f57611c3f61284e565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506103a1565b5f9150506103a1565b5f611c86825490565b90505f5b81811015611ccf57826001015f845f018381548110611cab57611cab61222a565b905f5260205f20015481526020019081526020015f205f9055806001019050611c8a565b50505f9055565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611d2357602002820191905f5260205f20905b815481526020019060010190808311611d0f575b50505050509050919050565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003611e2d57815f03611e275780548310611de6576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115611de7575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f825f018281548110611e7557611e7561222a565b905f5260205f200154905092915050565b508054611e92906123db565b5f825580601f10611ea1575050565b601f0160209004905f5260205f20908101906101bc91905b80821115611ecc575f8155600101611eb9565b5090565b5f60208284031215611ee0575f5ffd5b5035919050565b5f5f60408385031215611ef8575f5ffd5b50508035926020909101359150565b5f5f83601f840112611f17575f5ffd5b50813567ffffffffffffffff811115611f2e575f5ffd5b602083019150836020828501011115611f45575f5ffd5b9250929050565b5f5f83601f840112611f5c575f5ffd5b50813567ffffffffffffffff811115611f73575f5ffd5b6020830191508360208260051b8501011115611f45575f5ffd5b5f5f5f5f5f60608688031215611fa1575f5ffd5b85359450602086013567ffffffffffffffff811115611fbe575f5ffd5b611fca88828901611f07565b909550935050604086013567ffffffffffffffff811115611fe9575f5ffd5b611ff588828901611f4c565b969995985093965092949392505050565b805182526020810151151560208301525f6040820151608060408501528051806080860152806020830160a087015e5f60a082870101527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116850191505060a08101606084015160a086840301606087015281815180845260c0850191506020830194505f93505b808410156120b55784518252602082019150602085019450600184019350612092565b509695505050505050565b602081525f610aa76020830184612006565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612147577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612132858351612006565b945060209384019391909101906001016120f8565b50929695505050505050565b602080825282518282018190525f918401906040840190835b8181101561218a57835183526020938401939092019160010161216c565b509095945050505050565b80151581146101bc575f5ffd5b5f5f5f5f606085870312156121b5575f5ffd5b84359350602085013567ffffffffffffffff8111156121d2575f5ffd5b6121de87828801611f07565b90945092505060408501356121f281612195565b939692955090935050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112612289575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126122c6575f5ffd5b83018035915067ffffffffffffffff8211156122e0575f5ffd5b6020019150600581901b3603821315611f45575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261232a575f5ffd5b83018035915067ffffffffffffffff821115612344575f5ffd5b602001915036819003821315611f45575f5ffd5b805173ffffffffffffffffffffffffffffffffffffffff8116811461237b575f5ffd5b919050565b5f60208284031215612390575f5ffd5b610aa782612358565b80516020808301519190811015611e27577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b600181811c908216806123ef57607f821691505b602082108103611e27577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f821115610c2357805f5260205f20601f840160051c8101602085101561244b5750805b601f840160051c820191505b81811015610423575f8155600101612457565b67ffffffffffffffff831115612482576124826121fd565b6124968361249083546123db565b83612426565b5f601f8411600181146124e6575f85156124b05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610423565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156125335786850135825560209485019460019092019101612513565b508682101561256e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff81111561259a5761259a6121fd565b6125ae816125a884546123db565b84612426565b6020601f8211600181146125ff575f83156125c95750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610423565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561264c578785015182556020948501946001909201910161262c565b508482101561268857868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156126a7575f5ffd5b8151610aa781612195565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561270957835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126d5565b505060409390930193909352509392505050565b5f6020828403121561272d575f5ffd5b815167ffffffffffffffff811115612743575f5ffd5b8201601f81018413612753575f5ffd5b805167ffffffffffffffff81111561276d5761276d6121fd565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811067ffffffffffffffff821117156127b8576127b86121fd565b6040529182526020818401810192908101878411156127d5575f5ffd5b6020850194505b838510156120b5576127ed85612358565b8152602094850194016127dc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103a1576103a16127fb565b818103818111156103a1576103a16127fb565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd";
type ChannelsConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: ChannelsConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class Channels__factory extends ContractFactory {
constructor(...args: ChannelsConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override deploy(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<Channels> {
return super.deploy(overrides || {}) as Promise<Channels>;
}
override getDeployTransaction(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(overrides || {});
}
override attach(address: string): Channels {
return super.attach(address) as Channels;
}
override connect(signer: Signer): Channels__factory {
return super.connect(signer) as Channels__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): ChannelsInterface {
return new utils.Interface(_abi) as ChannelsInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): Channels {
return new Contract(address, _abi, signerOrProvider) as Channels;
}
}