UNPKG

@towns-protocol/generated

Version:

## How to generate contract types

434 lines (426 loc) 37 kB
/* 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 { MockLegacyArchitect, MockLegacyArchitectInterface, } from "../MockLegacyArchitect"; const _abi = [ { type: "function", name: "__Architect_init", inputs: [], outputs: [], stateMutability: "nonpayable", }, { 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: "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: "Paused", inputs: [ { name: "account", type: "address", indexed: false, internalType: "address", }, ], anonymous: false, }, { 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: "event", name: "Unpaused", inputs: [ { name: "account", type: "address", indexed: false, 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: [], }, { type: "error", name: "Initializable_InInitializingState", inputs: [], }, { type: "error", name: "Initializable_NotInInitializingState", inputs: [], }, { type: "error", name: "Introspection_AlreadySupported", inputs: [], }, { type: "error", name: "Introspection_NotSupported", inputs: [], }, { type: "error", name: "Pausable__NotPaused", inputs: [], }, { type: "error", name: "Pausable__Paused", inputs: [], }, { type: "error", name: "Reentrancy", inputs: [], }, ] as const; const _bytecode = "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6130af806100ca5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063ade4c8fa14610038578063e8546e0714610074575b5f5ffd5b61004b610046366004611b97565b61007e565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007c610120565b005b5f3068929eee149b4bd21268540361009d5763ab143c065f526004601cfd5b3068929eee149b4bd21268557fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615610105576040517f059519da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010e826101ae565b3868929eee149b4bd212685592915050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610183576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ac7fade4c8fa00000000000000000000000000000000000000000000000000000000610626565b565b7f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d008054604080517f75794a3c00000000000000000000000000000000000000000000000000000000815290515f937f06bd04a817647c31ee485c8a0baab96facd62dbfd4b475796bb17ca2c12f0000939092859273ffffffffffffffffffffffffffffffffffffffff909216916375794a3c916004808201926020929091908290030181865afa158015610264573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102889190611cda565b905061029881866080015161077b565b8354909450835f6102a883611cf1565b90915550505f818152600284016020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925584526001870183529281902084905584548851928901518983015160608b015193517f3bf5b8f40000000000000000000000000000000000000000000000000000000081529290951694633bf5b8f4946103639490938b929190600401611d99565b6020604051808303815f875af115801561037f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a39190611cda565b5060018201545f906103cb9073ffffffffffffffffffffffffffffffffffffffff16866107a1565b60058401549091505f906103f59073ffffffffffffffffffffffffffffffffffffffff16876107a1565b6040805160028082526060820183529293505f92909160208301908036833701905050905082815f8151811061042d5761042d611e0d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061047b5761047b611e0d565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f8bfc820f00000000000000000000000000000000000000000000000000000000815290881690638bfc820f906104dc908490600401611e3a565b5f604051808303815f87803b1580156104f3575f5ffd5b505af1158015610505573d5f5f3e3d5ffd5b5050505061051d8784848b60800151602001516108ea565b5060808801518051516040909101515f9161053b918a919087610d77565b905061054c88828b60a00151610f2d565b85546040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810187905273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015f604051808303815f87803b1580156105c0575f5ffd5b505af11580156105d2573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff8b16925087915033907fe50fc3942f8a2d7e5a7c8fb9488499eba5255b41e18bc3f1b4791402976d1d0b905f90a450505050505050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166106fa577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561072c565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b5f5f5f6107888585611072565b91509150610796828261129b565b925050505b92915050565b5f5f604051806020016107b390611394565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff851660248201528590604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161088c93929101611e92565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526108c89291602001611ed7565b60405160208183030381529060405290506108e2816112ee565b949350505050565b6040805160018082528183019092525f91829190816020015b60608152602001906001900390816109035790505090506040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250815f8151811061096257610962611e0d565b60200260200101819052508573ffffffffffffffffffffffffffffffffffffffff16638fcd793d6040518060400160405280600681526020017f4d696e7465720000000000000000000000000000000000000000000000000000815250835f67ffffffffffffffff8111156109d9576109d96113ae565b604051908082528060200260200182016040528015610a1e57816020015b604080518082019091525f8152606060208201528152602001906001900390816109f75790505b506040518463ffffffff1660e01b8152600401610a3d93929190611f1f565b6020604051808303815f875af1158015610a59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7d9190611cda565b835190925015610bad576040805160018082528183019092525f91602080830190803683370190505090506001815f81518110610abc57610abc611e0d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff1663ba201ba88460405180604001604052808a73ffffffffffffffffffffffffffffffffffffffff16815260200185604051602001610b4b9190611e3a565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610b7a92919061202b565b5f604051808303815f87803b158015610b91575f5ffd5b505af1158015610ba3573d5f5f3e3d5ffd5b5050505050610d6e565b60208301515115610cac575f5b836020015151811015610bf557610bed84602001518281518110610be057610be0611e0d565b6020026020010151611345565b600101610bba565b508573ffffffffffffffffffffffffffffffffffffffff1663ba201ba88360405180604001604052808973ffffffffffffffffffffffffffffffffffffffff1681526020018760200151604051602001610c4f9190611e3a565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610c7e92919061202b565b5f604051808303815f87803b158015610c95575f5ffd5b505af1158015610ca7573d5f5f3e3d5ffd5b505050505b6040830151515115610d6e578573ffffffffffffffffffffffffffffffffffffffff1663ba201ba88360405180604001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018760400151604051602001610d119190612165565b6040516020818303038152906040528152506040518363ffffffff1660e01b8152600401610d4092919061202b565b5f604051808303815f87803b158015610d57575f5ffd5b505af1158015610d69573d5f5f3e3d5ffd5b505050505b50949350505050565b6040805160018082528183019092525f91829190602080830190803683370190505090506001815f81518110610daf57610daf611e0d565b73ffffffffffffffffffffffffffffffffffffffff92909216602092830291909101909101526040805160018082528183019092525f91816020015b604080518082019091525f815260606020820152815260200190600190039081610deb57905050905083815f81518110610e2757610e27611e0d565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff909216909152604051610e5d91849101611e3a565b604051602081830303815290604052815f81518110610e7e57610e7e611e0d565b60209081029190910181015101526040517f8fcd793d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881690638fcd793d90610ee290899089908690600401611f1f565b6020604051808303815f875af1158015610efe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f229190611cda565b979650505050505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110610f6157610f61611e0d565b6020908102919091018101919091526040517f2000000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660218201525f90603501604051602081830303815290604052610fe49061223e565b83516040517f921f717500000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff87169163921f71759161103e918591908790600401612283565b5f604051808303815f87803b158015611055575f5ffd5b505af1158015611067573d5f5f3e3d5ffd5b505050505050505050565b60408051336020808301919091528183018590524260608381019190915283518084038201815260809093019093528151910120825160c08101517f9e34afa7b4d27d347d25d9d9dab4f1a106fa081382e6c4243e834d093e787d00919073ffffffffffffffffffffffffffffffffffffffff166110f1573360c08201525b600682015460405173ffffffffffffffffffffffffffffffffffffffff9091169061111e602082016113a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828203810183526040601f9092011681810182527fdc9cc64500000000000000000000000000000000000000000000000000000000815230602082810182905283518085018552885473ffffffffffffffffffffffffffffffffffffffff1681529081018c90529251919285926111be923392909189906024016122dd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40e47dfe0000000000000000000000000000000000000000000000000000000017905290516112449493929101612448565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526112809291602001611ed7565b60405160208183030381529060405294505050509250929050565b5f818351602085015ff590508061079b57632b1c22465f52602080523d6040523d5f60603e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011660448101601cfd5b5f8151602083015ff090508061134057632b1c22465f52602080523d6040523d5f60603e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011660448101601cfd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116611389576113897fe6c4247b0000000000000000000000000000000000000000000000000000000061138c565b50565b805f5260045ffd5b6103a7806124c983390190565b61083f8061287083390190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113fe576113fe6113ae565b60405290565b6040516060810167ffffffffffffffff811182821017156113fe576113fe6113ae565b6040805190810167ffffffffffffffff811182821017156113fe576113fe6113ae565b604051610120810167ffffffffffffffff811182821017156113fe576113fe6113ae565b60405160c0810167ffffffffffffffff811182821017156113fe576113fe6113ae565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156114d8576114d86113ae565b604052919050565b5f82601f8301126114ef575f5ffd5b813567ffffffffffffffff811115611509576115096113ae565b61153a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611491565b81815284602083860101111561154e575f5ffd5b816020850160208301375f918101602001919091529392505050565b803567ffffffffffffffff81168114611340575f5ffd5b803573ffffffffffffffffffffffffffffffffffffffff81168114611340575f5ffd5b80358015158114611340575f5ffd5b5f67ffffffffffffffff8211156115cc576115cc6113ae565b5060051b60200190565b60038110611389575f5ffd5b803560ff81168114611340575f5ffd5b5f82601f830112611601575f5ffd5b813561161461160f826115b3565b611491565b8082825260208201915060208360071b860101925085831115611635575f5ffd5b602085015b8381101561169e5760808188031215611651575f5ffd5b6116596113db565b813560078110611667575f5ffd5b81526020828101359082015261167f60408301611581565b604082015260608281013590820152835260209092019160800161163a565b5095945050505050565b5f82601f8301126116b7575f5ffd5b81356116c561160f826115b3565b808282526020820191506020606084028601019250858311156116e6575f5ffd5b602085015b8381101561169e5760608188031215611702575f5ffd5b61170a611404565b8135611715816115d6565b8152611723602083016115e2565b6020820152611734604083016115e2565b604082015283526020909201916060016116eb565b5f60608284031215611759575f5ffd5b611761611404565b9050813567ffffffffffffffff811115611779575f5ffd5b8201601f81018413611789575f5ffd5b803561179761160f826115b3565b8082825260208201915060208360061b8501019250868311156117b8575f5ffd5b6020840193505b8284101561181157604084880312156117d6575f5ffd5b6117de611427565b84356117e9816115d6565b81526117f7602086016115e2565b6020820152808352506020820191506040840193506117bf565b8452505050602082013567ffffffffffffffff81111561182f575f5ffd5b61183b848285016115f2565b602083015250604082013567ffffffffffffffff81111561185a575f5ffd5b611866848285016116a8565b60408301525092915050565b5f60808284031215611882575f5ffd5b61188a6113db565b9050611895826115a4565b8152602082013567ffffffffffffffff8111156118b0575f5ffd5b8201601f810184136118c0575f5ffd5b80356118ce61160f826115b3565b8082825260208201915060208360051b8501019250868311156118ef575f5ffd5b6020840193505b828410156119185761190784611581565b8252602093840193909101906118f6565b6020850152505050604082013567ffffffffffffffff811115611939575f5ffd5b61194584828501611749565b604083015250611957606083016115a4565b606082015292915050565b5f82601f830112611971575f5ffd5b813561197f61160f826115b3565b8082825260208201915060208360051b8601019250858311156119a0575f5ffd5b602085015b8381101561169e57803567ffffffffffffffff8111156119c3575f5ffd5b6119d2886020838a01016114e0565b845250602092830192016119a5565b5f606082840312156119f1575f5ffd5b6119f9611404565b9050813567ffffffffffffffff811115611a11575f5ffd5b82016101208185031215611a23575f5ffd5b611a2b61144a565b813567ffffffffffffffff811115611a41575f5ffd5b611a4d868285016114e0565b825250602082013567ffffffffffffffff811115611a69575f5ffd5b611a75868285016114e0565b6020830152506040828101359082015260608083013590820152611a9b6080830161156a565b6080820152611aac60a08301611581565b60a0820152611abd60c08301611581565b60c082015260e08281013590820152611ad96101008301611581565b610100820152825250602082013567ffffffffffffffff811115611afb575f5ffd5b611b0784828501611872565b602083015250604082013567ffffffffffffffff811115611b26575f5ffd5b61186684828501611962565b5f60208284031215611b42575f5ffd5b6040516020810167ffffffffffffffff81118282101715611b6557611b656113ae565b604052905080823567ffffffffffffffff811115611b81575f5ffd5b611b8d858286016114e0565b8252505092915050565b5f60208284031215611ba7575f5ffd5b813567ffffffffffffffff811115611bbd575f5ffd5b820160c08185031215611bce575f5ffd5b611bd661146e565b813567ffffffffffffffff811115611bec575f5ffd5b611bf8868285016114e0565b825250602082013567ffffffffffffffff811115611c14575f5ffd5b611c20868285016114e0565b602083015250604082013567ffffffffffffffff811115611c3f575f5ffd5b611c4b868285016114e0565b604083015250606082013567ffffffffffffffff811115611c6a575f5ffd5b611c76868285016114e0565b606083015250608082013567ffffffffffffffff811115611c95575f5ffd5b611ca1868285016119e1565b60808301525060a082013567ffffffffffffffff811115611cc0575f5ffd5b611ccc86828501611b32565b60a083015250949350505050565b5f60208284031215611cea575f5ffd5b5051919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d46577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60a081525f611dab60a0830188611d4d565b8281036020840152611dbd8188611d4d565b905073ffffffffffffffffffffffffffffffffffffffff861660408401528281036060840152611ded8186611d4d565b90508281036080840152611e018185611d4d565b98975050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b81811015611e8757835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611e53565b509095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6108e26040830184611d4d565b5f81518060208401855e5f93019283525090919050565b5f6108e2611ee58386611ec0565b84611ec0565b73ffffffffffffffffffffffffffffffffffffffff81511682525f6020820151604060208501526108e26040850182611d4d565b606081525f611f316060830186611d4d565b828103602084015280855180835260208301915060208160051b840101602088015f5b83811015611fa4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018552611f8e838351611d4d565b6020958601959093509190910190600101611f54565b50508581036040870152865180825260208083019550909350600584901b82018101925087015f5b8481101561201c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838503018652612006848351611eeb565b6020968701969094509190910190600101611fcc565b50919998505050505050505050565b828152604060208201525f6108e26040830184611eeb565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061138957611389612043565b5f8151808452602084019350602083015f5b828110156120fe5781518051600781106120ae576120ae612043565b808852506020810151602088015273ffffffffffffffffffffffffffffffffffffffff60408201511660408801526060810151606088015250608086019550602082019150600181019050612092565b5093949350505050565b5f8151808452602084019350602083015f5b828110156120fe578151805161212f81612070565b8088525060ff602082015116602088015260ff60408201511660408801525060608601955060208201915060018101905061211a565b602080825282516060838301528051608084018190525f929190910190829060a08501905b808310156121c5578351805161219f81612070565b835260209081015160ff168184015293909301926001929092019160409091019061218a565b50602086015192507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030160408601526122018184612080565b9250505060408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526107968282612108565b8051602080830151919081101561227d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b838152606060208201525f61229b6060830185611d4d565b8281036040840152835180825260208086019201905f5b818110156122d05783518352602093840193909201916001016122b2565b5090979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83511660408201526020830151606082015260a060808201525f825161012060a08401526123596101c0840182611d4d565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608483030160c08501526123948282611d4d565b915050604084015160e0840152606084015161010084015260808401516123c861012085018267ffffffffffffffff169052565b5060a084015173ffffffffffffffffffffffffffffffffffffffff81166101408501525060c084015173ffffffffffffffffffffffffffffffffffffffff81166101608501525060e084015161018084015261010084015173ffffffffffffffffffffffffffffffffffffffff81166101a0850152509695505050505050565b7fffffffff00000000000000000000000000000000000000000000000000000000845116815273ffffffffffffffffffffffffffffffffffffffff602085015116602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f6124bf6080830184611d4d565b9594505050505056fe60806040526040516103a73803806103a78339810160408190526100229161023c565b61002c8282610033565b5050610321565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030b565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020f5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024d575f5ffd5b82516001600160a01b0381168114610263575f5ffd5b60208401519092506001600160401b0381111561027e575f5ffd5b8301601f8101851361028e575f5ffd5b80516001600160401b038111156102a7576102a7610228565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d5576102d5610228565b6040528181528282016020018710156102ec575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b607a8061032d5f395ff3fe6080604052600a600c565b005b60186014601a565b605d565b565b5f60587f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156076573d5ff35b3d5ffd608060405234801561000f575f5ffd5b5060405161083f38038061083f83398101604081905261002e9161022d565b6100948380517f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a0080546020909301516001600160a01b03166001600160a01b031960e09390931c600160a01b02929092166001600160c01b031990931692909217179055565b61009e82826100a7565b5050505061032e565b60605f5f846001600160a01b0316846040516100c39190610318565b5f60405180830381855af49150503d805f81146100fb576040519150601f19603f3d011682016040523d82523d5f602084013e610100565b606091505b50909250905061011185838361011a565b95945050505050565b60608261012f5761012a8261017d565b610176565b815115801561014657506001600160a01b0384163b155b1561017357604051639996b31560e01b81526001600160a01b038516600482015260240160405180910390fd5b50805b9392505050565b80511561018d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156101dc576101dc6101a6565b60405290565b604051601f8201601f191681016001600160401b038111828210171561020a5761020a6101a6565b604052919050565b80516001600160a01b0381168114610228575f5ffd5b919050565b5f5f5f8385036080811215610240575f5ffd5b604081121561024d575f5ffd5b506102566101ba565b84516001600160e01b03198116811461026d575f5ffd5b815261027b60208601610212565b6020820152925061028e60408501610212565b60608501519092506001600160401b038111156102a9575f5ffd5b8401601f810186136102b9575f5ffd5b80516001600160401b038111156102d2576102d26101a6565b6102e5601f8201601f19166020016101e2565b8181528760208385010111156102f9575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b6105048061033b5f395ff3fe608060405260043610610021575f3560e01c8063ac9650d81461003257610028565b3661002857005b61003061005b565b005b610045610040366004610383565b6100d4565b60405161005291906103f4565b60405180910390f35b5f6100646100f8565b90508073ffffffffffffffffffffffffffffffffffffffff163b5f036100b6576040517f87c9fc3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b365f5f375f5f365f845af43d5f5f3e8080156100d0573d5ff35b3d5ffd5b606034156100e0575f5ffd5b6100f26100ed84846102e0565b610372565b92915050565b7f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a00545f9074010000000000000000000000000000000000000000900460e01b81806101777f9c16cba5b9f2fcbd952b38bec34079e93cbe107475c15fc20705f4e704198a005473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fffffffff000000000000000000000000000000000000000000000000000000005f3516602482015273ffffffffffffffffffffffffffffffffffffffff91909116908490604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161024b91906104b4565b5f60405180830381855afa9150503d805f8114610283576040519150601f19603f3d011682016040523d82523d5f602084013e610288565b606091505b5091509150816102c4576040517f391aa44500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906102d891906104ca565b935050505090565b5f60405190506020815281816020015280604001808360051b80868437820180851561035a575b8351870180356020820183375f38823584305af4610327573d5f873e3d86fd5b5082810384523d815260209384019381013d5f823e5f3d8201523d01601f0167ffffffffffffffe0169050818410610307575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b5f5f60208385031215610394575f5ffd5b823567ffffffffffffffff8111156103aa575f5ffd5b8301601f810185136103ba575f5ffd5b803567ffffffffffffffff8111156103d0575f5ffd5b8560208260051b84010111156103e4575f5ffd5b6020919091019590945092505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156104a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815180518087528060208301602089015e5f6020828901015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168801019650505060208201915060208401935060018101905061041a565b50929695505050505050565b5f82518060208501845e5f920191825250919050565b5f602082840312156104da575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff811681146104fd575f5ffd5b939250505056"; type MockLegacyArchitectConstructorParams = | [signer?: Signer] | ConstructorParameters<typeof ContractFactory>; const isSuperArgs = ( xs: MockLegacyArchitectConstructorParams ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1; export class MockLegacyArchitect__factory extends ContractFactory { constructor(...args: MockLegacyArchitectConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } override deploy( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<MockLegacyArchitect> { return super.deploy(overrides || {}) as Promise<MockLegacyArchitect>; } override getDeployTransaction( overrides?: Overrides & { from?: PromiseOrValue<string> } ): TransactionRequest { return super.getDeployTransaction(overrides || {}); } override attach(address: string): MockLegacyArchitect { return super.attach(address) as MockLegacyArchitect; } override connect(signer: Signer): MockLegacyArchitect__factory { return super.connect(signer) as MockLegacyArchitect__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): MockLegacyArchitectInterface { return new utils.Interface(_abi) as MockLegacyArchitectInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): MockLegacyArchitect { return new Contract(address, _abi, signerOrProvider) as MockLegacyArchitect; } }