@towns-protocol/generated
Version:
## How to generate contract types
290 lines (286 loc) • 8.65 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Contract, Signer, utils } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type {
ILegacyArchitect,
ILegacyArchitectInterface,
} from "../../IMockLegacyArchitect.sol/ILegacyArchitect";
const _abi = [
{
type: "function",
name: "createSpace",
inputs: [
{
name: "SpaceInfo",
type: "tuple",
internalType: "struct ILegacyArchitectBase.SpaceInfo",
components: [
{
name: "name",
type: "string",
internalType: "string",
},
{
name: "uri",
type: "string",
internalType: "string",
},
{
name: "shortDescription",
type: "string",
internalType: "string",
},
{
name: "longDescription",
type: "string",
internalType: "string",
},
{
name: "membership",
type: "tuple",
internalType: "struct ILegacyArchitectBase.Membership",
components: [
{
name: "settings",
type: "tuple",
internalType: "struct IMembershipBase.Membership",
components: [
{
name: "name",
type: "string",
internalType: "string",
},
{
name: "symbol",
type: "string",
internalType: "string",
},
{
name: "price",
type: "uint256",
internalType: "uint256",
},
{
name: "maxSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "duration",
type: "uint64",
internalType: "uint64",
},
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "feeRecipient",
type: "address",
internalType: "address",
},
{
name: "freeAllocation",
type: "uint256",
internalType: "uint256",
},
{
name: "pricingModule",
type: "address",
internalType: "address",
},
],
},
{
name: "requirements",
type: "tuple",
internalType:
"struct ILegacyArchitectBase.MembershipRequirements",
components: [
{
name: "everyone",
type: "bool",
internalType: "bool",
},
{
name: "users",
type: "address[]",
internalType: "address[]",
},
{
name: "ruleData",
type: "tuple",
internalType: "struct IRuleEntitlementBase.RuleData",
components: [
{
name: "operations",
type: "tuple[]",
internalType: "struct IRuleEntitlementBase.Operation[]",
components: [
{
name: "opType",
type: "uint8",
internalType:
"enum IRuleEntitlementBase.CombinedOperationType",
},
{
name: "index",
type: "uint8",
internalType: "uint8",
},
],
},
{
name: "checkOperations",
type: "tuple[]",
internalType:
"struct IRuleEntitlementBase.CheckOperation[]",
components: [
{
name: "opType",
type: "uint8",
internalType:
"enum IRuleEntitlementBase.CheckOperationType",
},
{
name: "chainId",
type: "uint256",
internalType: "uint256",
},
{
name: "contractAddress",
type: "address",
internalType: "address",
},
{
name: "threshold",
type: "uint256",
internalType: "uint256",
},
],
},
{
name: "logicalOperations",
type: "tuple[]",
internalType:
"struct IRuleEntitlementBase.LogicalOperation[]",
components: [
{
name: "logOpType",
type: "uint8",
internalType:
"enum IRuleEntitlementBase.LogicalOperationType",
},
{
name: "leftOperationIndex",
type: "uint8",
internalType: "uint8",
},
{
name: "rightOperationIndex",
type: "uint8",
internalType: "uint8",
},
],
},
],
},
{
name: "syncEntitlements",
type: "bool",
internalType: "bool",
},
],
},
{
name: "permissions",
type: "string[]",
internalType: "string[]",
},
],
},
{
name: "channel",
type: "tuple",
internalType: "struct ILegacyArchitectBase.ChannelInfo",
components: [
{
name: "metadata",
type: "string",
internalType: "string",
},
],
},
],
},
],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "nonpayable",
},
{
type: "event",
name: "SpaceCreated",
inputs: [
{
name: "owner",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "tokenId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "space",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "error",
name: "Architect__InvalidAddress",
inputs: [],
},
{
type: "error",
name: "Architect__InvalidNetworkId",
inputs: [],
},
{
type: "error",
name: "Architect__InvalidStringLength",
inputs: [],
},
{
type: "error",
name: "Architect__NotContract",
inputs: [],
},
] as const;
export class ILegacyArchitect__factory {
static readonly abi = _abi;
static createInterface(): ILegacyArchitectInterface {
return new utils.Interface(_abi) as ILegacyArchitectInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): ILegacyArchitect {
return new Contract(address, _abi, signerOrProvider) as ILegacyArchitect;
}
}