UNPKG

@towns-protocol/generated

Version:

## How to generate contract types

290 lines (286 loc) 8.65 kB
/* 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; } }