@river-build/generated
Version:
## How to generate contract types
941 lines (933 loc) • 47.5 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 {
MockEntitlementGated,
MockEntitlementGatedInterface,
} from "../MockEntitlementGated";
const _abi = [
{
type: "constructor",
inputs: [
{
name: "checker",
type: "address",
internalType: "contract IEntitlementChecker",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "__EntitlementGated_init",
inputs: [
{
name: "entitlementChecker",
type: "address",
internalType: "contract IEntitlementChecker",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "getCrossChainEntitlementData",
inputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "tuple",
internalType: "struct IEntitlementDataQueryableBase.EntitlementData",
components: [
{
name: "entitlementType",
type: "string",
internalType: "string",
},
{
name: "entitlementData",
type: "bytes",
internalType: "bytes",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRuleData",
inputs: [
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
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",
},
],
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRuleData",
inputs: [
{
name: "transactionId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
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",
},
],
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRuleDataV2",
inputs: [
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "tuple",
internalType: "struct IRuleEntitlementBase.RuleDataV2",
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.CheckOperationV2[]",
components: [
{
name: "opType",
type: "uint8",
internalType: "enum IRuleEntitlementBase.CheckOperationType",
},
{
name: "chainId",
type: "uint256",
internalType: "uint256",
},
{
name: "contractAddress",
type: "address",
internalType: "address",
},
{
name: "params",
type: "bytes",
internalType: "bytes",
},
],
},
{
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",
},
],
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "postEntitlementCheckResult",
inputs: [
{
name: "transactionId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
{
name: "result",
type: "uint8",
internalType: "enum IEntitlementGatedBase.NodeVoteStatus",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "postEntitlementCheckResultV2",
inputs: [
{
name: "transactionId",
type: "bytes32",
internalType: "bytes32",
},
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
{
name: "result",
type: "uint8",
internalType: "enum IEntitlementGatedBase.NodeVoteStatus",
},
],
outputs: [],
stateMutability: "payable",
},
{
type: "function",
name: "requestEntitlementCheckV1RuleDataV1",
inputs: [
{
name: "roleId",
type: "uint256",
internalType: "uint256",
},
{
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",
},
],
},
],
},
],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "requestEntitlementCheckV1RuleDataV2",
inputs: [
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "ruleData",
type: "tuple",
internalType: "struct IRuleEntitlementBase.RuleDataV2",
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.CheckOperationV2[]",
components: [
{
name: "opType",
type: "uint8",
internalType: "enum IRuleEntitlementBase.CheckOperationType",
},
{
name: "chainId",
type: "uint256",
internalType: "uint256",
},
{
name: "contractAddress",
type: "address",
internalType: "address",
},
{
name: "params",
type: "bytes",
internalType: "bytes",
},
],
},
{
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",
},
],
},
],
},
],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "requestEntitlementCheckV2RuleDataV1",
inputs: [
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
{
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",
},
],
},
],
},
],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "payable",
},
{
type: "function",
name: "requestEntitlementCheckV2RuleDataV2",
inputs: [
{
name: "roleIds",
type: "uint256[]",
internalType: "uint256[]",
},
{
name: "ruleData",
type: "tuple",
internalType: "struct IRuleEntitlementBase.RuleDataV2",
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.CheckOperationV2[]",
components: [
{
name: "opType",
type: "uint8",
internalType: "enum IRuleEntitlementBase.CheckOperationType",
},
{
name: "chainId",
type: "uint256",
internalType: "uint256",
},
{
name: "contractAddress",
type: "address",
internalType: "address",
},
{
name: "params",
type: "bytes",
internalType: "bytes",
},
],
},
{
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",
},
],
},
],
},
],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "payable",
},
{
type: "event",
name: "EntitlementCheckResultPosted",
inputs: [
{
name: "transactionId",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "result",
type: "uint8",
indexed: false,
internalType: "enum IEntitlementGatedBase.NodeVoteStatus",
},
],
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: "error",
name: "EntitlementGated_InvalidAddress",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_InvalidEntitlement",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_NodeAlreadyVoted",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_NodeNotFound",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_OnlyEntitlementChecker",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_RequestIdNotFound",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_TransactionCheckAlreadyCompleted",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_TransactionCheckAlreadyRegistered",
inputs: [],
},
{
type: "error",
name: "EntitlementGated_TransactionNotRegistered",
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: "Reentrancy",
inputs: [],
},
] as const;
const _bytecode =
"0x60806040523480156200001157600080fd5b5060405162002deb38038062002deb833981016040819052620000349162000127565b6200003e6200007f565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0080546001600160a01b0319166001600160a01b0383161790555062000159565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff1615620000cc576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff90811610156200012457805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6000602082840312156200013a57600080fd5b81516001600160a01b03811681146200015257600080fd5b9392505050565b612c8280620001696000396000f3fe60806040526004361061009c5760003560e01c80637adc9cbe116100645780637adc9cbe1461018157806392c399ff146101a1578063c1066f18146101c1578063caeb8088146101d4578063e58690f2146101e7578063ffbfd74d146101fa57600080fd5b8063069a3ee9146100a15780630fe44a21146100d75780634739e805146101045780635bf0fec71461012657806368ab7dd614610154575b600080fd5b3480156100ad57600080fd5b506100c16100bc366004611770565b61021a565b6040516100ce919061186c565b60405180910390f35b3480156100e357600080fd5b506100f76100f2366004611929565b61044d565b6040516100ce9190611991565b34801561011057600080fd5b5061012461011f3660046119e0565b610530565b005b34801561013257600080fd5b50610146610141366004611a31565b610577565b6040519081526020016100ce565b34801561016057600080fd5b5061017461016f366004611770565b6105d4565b6040516100ce9190611a77565b34801561018d57600080fd5b5061012461019c366004611b65565b610881565b3480156101ad57600080fd5b506100c16101bc366004611929565b6108d7565b6101466101cf366004611bcd565b610905565b6101466101e2366004611bcd565b6109c1565b6101246101f53660046119e0565b610a69565b34801561020657600080fd5b50610146610215366004611bcd565b610ace565b61023e60405180606001604052806060815260200160608152602001606081525090565b6000828152602081815260408083208151815460809481028201850190935260608101838152909491938593919285929185015b828210156102db57600084815260209020604080518082019091529083018054829060ff1660028111156102a8576102a8611789565b60028111156102b9576102b9611789565b81529054610100900460ff166020918201529082526001929092019101610272565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015610393576000848152602090206040805160808101909152600484029091018054829060ff16600681111561034357610343611789565b600681111561035457610354611789565b815260018281015460208084019190915260028401546001600160a01b0316604084015260039093015460609092019190915291835292019101610308565b50505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b8282101561043f5760008481526020902060408051606081019091529083018054829060ff1660028111156103f7576103f7611789565b600281111561040857610408611789565b8152905460ff61010082048116602080850191909152620100009092041660409092019190915290825260019290920191016103c0565b505050915250909392505050565b6040805180820190915260608082526020820152600082815260208190526040902054156104da5760408051608081018252600f8183019081526e149d5b19515b9d1a5d1b195b595b9d608a1b60608301528152600084815260208181529083902092519192818401926104c19201611ce3565b604051602081830303815290604052815250905061052a565b60408051608081018252601181830190815270293ab632a2b73a34ba3632b6b2b73a2b1960791b606083015281526000848152600160209081529083902092519192818401926104c19201611dd9565b92915050565b3068929eee149b4bd21268540361054f5763ab143c066000526004601cfd5b3068929eee149b4bd2126855610566838383610b81565b3868929eee149b4bd2126855505050565b6000828152602081905260408120829061059182826122c7565b905050600032436040516020016105a9929190612390565b6040516020818303038152906040528051906020012090506105cd33823087610e2e565b9392505050565b6105f860405180606001604052806060815260200160608152602001606081525090565b60008281526001602090815260408083208151815460809481028201850190935260608101838152909491938593919285929185015b8282101561069757600084815260209020604080518082019091529083018054829060ff16600281111561066457610664611789565b600281111561067557610675611789565b81529054610100900460ff16602091820152908252600192909201910161062e565b50505050815260200160018201805480602002602001604051908101604052809291908181526020016000905b828210156107d5576000848152602090206040805160808101909152600484029091018054829060ff1660068111156106ff576106ff611789565b600681111561071057610710611789565b81526001820154602082015260028201546001600160a01b0316604082015260038201805460609092019161074490611da5565b80601f016020809104026020016040519081016040528092919081815260200182805461077090611da5565b80156107bd5780601f10610792576101008083540402835291602001916107bd565b820191906000526020600020905b8154815290600101906020018083116107a057829003601f168201915b505050505081525050815260200190600101906106c4565b50505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b8282101561043f5760008481526020902060408051606081019091529083018054829060ff16600281111561083957610839611789565b600281111561084a5761084a611789565b8152905460ff6101008204811660208085019190915262010000909204166040909201919091529082526001929092019101610802565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166108cb57604051630ef4733760e31b815260040160405180910390fd5b6108d481611115565b50565b6108fb60405180606001604052806060815260200160608152602001606081525090565b6105cd8383611150565b6000805b838110156109525782600080878785818110610927576109276123b2565b905060200201358152602001908152602001600020818161094891906122c7565b5050600101610909565b5060003243604051602001610968929190612390565b60405160208183030381529060405280519060200120905060005b848110156109b8576109b0333084308a8a878181106109a4576109a46123b2565b90506020020135611241565b600101610983565b50949350505050565b6000805b83811015610a0f5782600160008787858181106109e4576109e46123b2565b9050602002013581526020019081526020016000208181610a0591906126b7565b50506001016109c5565b5060003243604051602001610a25929190612390565b60405160208183030381529060405280519060200120905060005b848110156109b857610a61333084308a8a878181106109a4576109a46123b2565b600101610a40565b600080516020612c42833981519152546001600160a01b03163314610a9857610a98630b2395d760e41b611348565b3068929eee149b4bd212685403610ab75763ab143c066000526004601cfd5b3068929eee149b4bd2126855610566838383611352565b6000805b83811015610b1c578260016000878785818110610af157610af16123b2565b9050602002013581526020019081526020016000208181610b1291906126b7565b5050600101610ad2565b5060003243604051602001610b32929190612390565b60405160208183030381529060405280519060200120905060005b848110156109b857610b79338330898986818110610b6d57610b6d6123b2565b90506020020135610e2e565b600101610b4d565b6000838152600080516020612c62833981519152602052604090208054600080516020612c42833981519152919061010090046001600160a01b03161580610bcb5750805460ff16155b15610be957604051637ad5a43960e11b815260040160405180910390fd5b600084815260028201602052604090205460ff1615610c1b57604051637912b73960e01b815260040160405180910390fd5b60008481526001820160205260408120805482918291825b81811015610d35576000838281548110610c4f57610c4f6123b2565b60009182526020909120018054909150336001600160a01b0390911603610cdb5760008154600160a01b900460ff166002811115610c8f57610c8f611789565b14610cad576040516347592a4d60e01b815260040160405180910390fd5b80548a90829060ff60a01b1916600160a01b836002811115610cd157610cd1611789565b0217905550600196505b8054600160a01b900460ff166001816002811115610cfb57610cfb611789565b03610d0b57866001019650610d2b565b6002816002811115610d1f57610d1f611789565b03610d2b578560010195505b5050600101610c33565b5084610d5457604051638223a7e960e01b815260040160405180910390fd5b610d5f60028261275d565b841180610d755750610d7260028261275d565b83115b15610e225760008981526002870160205260408120805460ff19166001179055838511610da3576002610da6565b60015b90506000610db38c6113df565b90506001826002811115610dc957610dc9611789565b1480610dd25750805b15610e10578b7fb9d6ce397e562841871d119aaf77469c60a3b5bf8b99a5d9851656015015c63383604051610e07919061277f565b60405180910390a25b8015610e1f57610e1f8c61147c565b50505b50505050505050505050565b6001600160a01b038416610e4c57610e4c63133de07160e31b611348565b6000838152600080516020612c62833981519152602052604090208054600080516020612c42833981519152919060ff1615610edc57600481015460005b81811015610ed95784836004018281548110610ea857610ea86123b2565b906000526020600020015403610ed1576040516301ab53df60e31b815260040160405180910390fd5b600101610e8a565b50505b81546001600160a01b0316610ef357610ef3611552565b8154604051634f84544560e01b8152600560048201526000916001600160a01b031690634f84544590602401600060405180830381865afa158015610f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f649190810190612851565b825490915060ff16610faf5781546003830180546001600160a01b038089166001600160a01b0319909216919091179091558816610100026001600160a81b03199091161760011782555b600482018054600181810183556000928352602080842090920187905583518784529085019091526040822090915b828110156110a257816040518060400160405280868481518110611004576110046123b2565b60200260200101516001600160a01b031681526020016000600281111561102d5761102d611789565b9052815460018101835560009283526020928390208251910180546001600160a01b031981166001600160a01b03909316928317825593830151929390929183916001600160a81b03191617600160a01b83600281111561109057611090611789565b02179055505050806001019050610fde565b50845460405163541da4e560e01b81526001600160a01b039091169063541da4e5906110d8908c908c908b9089906004016128ef565b600060405180830381600087803b1580156110f257600080fd5b505af1158015611106573d6000803e3d6000fd5b50505050505050505050505050565b611125636afd38fd60e11b611623565b600080516020612c4283398151915280546001600160a01b0319166001600160a01b03831617905550565b61117460405180606001604052806060815260200160608152602001606081525090565b6000838152600080516020612c62833981519152602052604090208054600080516020612c42833981519152919060ff166111c257604051637ad5a43960e11b815260040160405180910390fd5b600381015460405163069a3ee960e01b8152600481018690526001600160a01b0390911690819063069a3ee990602401600060405180830381865afa15801561120f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112379190810190612ab8565b9695505050505050565b6001600160a01b03851661125f5761125f63133de07160e31b611348565b6001600160a01b03821661127d5761127d634bb7c20560e01b611348565b6000838152600080516020612c6283398151915260209081526040808320805460ff191660011781556003810180546001600160a01b0319166001600160a01b0388811691909117909155825190891693810193909352600080516020612c4283398151915293909290910160408051601f198184030181529082905284546310df028560e11b83529092506001600160a01b0316906321be050a90349061132f908c908b908a908890600401612bf7565b6000604051808303818588803b1580156110f257600080fd5b8060005260046000fd5b6000838152600080516020612c62833981519152602052604090208054600080516020612c42833981519152919060ff1661139757611397637ad5a43960e11b611348565b847fb9d6ce397e562841871d119aaf77469c60a3b5bf8b99a5d9851656015015c633846040516113c7919061277f565b60405180910390a26113d88561147c565b5050505050565b6000818152600080516020612c62833981519152602052604081206004810154600080516020612c428339815191529190835b8181101561146c57826002016000846004018381548110611435576114356123b2565b6000918252602080832090910154835282019290925260400190205460ff166114645750600095945050505050565b600101611412565b50600195945050505050565b5050565b6000818152600080516020612c62833981519152602052604081206004810154600080516020612c42833981519152925b818110156114fd578260010160008460040183815481106114d0576114d06123b2565b9060005260206000200154815260200190815260200160002060006114f591906116fc565b6001016114ad565b5061150c60048301600061171a565b6000848152600184016020526040812080546001600160a81b03191681556003810180546001600160a01b03191690559061154a600483018261171a565b505050505050565b6000600080516020612c42833981519152905060007fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60060060154604051628956cd60e71b81526c29b830b1b2a7b832b930ba37b960991b60048201526001600160a01b03909116906344ab668090602401602060405180830381865afa1580156115e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116049190612c24565b82546001600160a01b0319166001600160a01b03919091161790915550565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166116ab576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff191660011790556116c4565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b50805460008255906000526020600020908101906108d49190611738565b50805460008255906000526020600020908101906108d4919061175b565b5b808211156117575780546001600160a81b0319168155600101611739565b5090565b5b80821115611757576000815560010161175c565b60006020828403121561178257600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600381106108d4576108d4611789565b60008151808452602080850194506020840160005b838110156117f757815180516117d98161179f565b885283015160ff1683880152604090960195908201906001016117c4565b509495945050505050565b6007811061181257611812611789565b9052565b60008151808452602080850194506020840160005b838110156117f757815180516118408161179f565b88528084015160ff908116858a015260409182015116908801526060909601959082019060010161182b565b60006020808352608084516060808487015261188b60808701836117af565b915083870151601f196040818986030160408a015284835180875288870191508885019650600094505b808510156118fe5786516118ca838251611802565b808a0151838b0152838101516001600160a01b031684840152860151868301529588019560019490940193908701906118b5565b5060408b01519750828a82030160608b015261191a8189611816565b9b9a5050505050505050505050565b6000806040838503121561193c57600080fd5b50508035926020909101359150565b6000815180845260005b8181101561197157602081850181015186830182015201611955565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260008251604060208401526119ad606084018261194b565b90506020840151601f198483030160408501526119ca828261194b565b95945050505050565b600381106108d457600080fd5b6000806000606084860312156119f557600080fd5b83359250602084013591506040840135611a0e816119d3565b809150509250925092565b600060608284031215611a2b57600080fd5b50919050565b60008060408385031215611a4457600080fd5b8235915060208301356001600160401b03811115611a6157600080fd5b611a6d85828601611a19565b9150509250929050565b600060208083526080845160608084870152611a9660808701836117af565b915083870151601f196040818986030160408a01528483518087528887019150888160051b880101898601955060005b82811015611b2357858983030184528651611ae2838251611802565b808c0151838d0152858101516001600160a01b0316868401528801518883018b9052611b108b84018261194b565b978c0197948c0194925050600101611ac6565b5060408d01519950848c82030160608d0152611b3f818b611816565b9d9c50505050505050505050505050565b6001600160a01b03811681146108d457600080fd5b600060208284031215611b7757600080fd5b81356105cd81611b50565b60008083601f840112611b9457600080fd5b5081356001600160401b03811115611bab57600080fd5b6020830191508360208260051b8501011115611bc657600080fd5b9250929050565b600080600060408486031215611be257600080fd5b83356001600160401b0380821115611bf957600080fd5b611c0587838801611b82565b90955093506020860135915080821115611c1e57600080fd5b50611c2b86828701611a19565b9150509250925092565b600081548084526020808501945083600052602060002060005b838110156117f757815460ff808216611c678161179f565b895260089190911c168388015260409096019560019182019101611c4f565b600081548084526020808501945083600052602060002060005b838110156117f757815460ff808216611cb88161179f565b8952600882901c8116858a015260109190911c16604088015260609096019560019182019101611ca0565b6000602080835260806060806020860152611d016080860187611c35565b6001808801601f196040818a86030160408b01528483548087526020870191508460005260206000209650600094505b80851015611d7d57611d478260ff895416611802565b86860154828b015260028701546001600160a01b0316838301526003870154888301526004909601959385019390880190611d31565b50828b82030160608c0152611d958160028e01611c86565b9c9b505050505050505050505050565b600181811c90821680611db957607f821691505b602082108103611a2b57634e487b7160e01b600052602260045260246000fd5b60006020808352606081840152611df36080840185611c35565b60018501601f19808684030160408701528282548085528585019150858160051b86010160008581528781209550805b83811015611ef75785888403018552611e408360ff895416611802565b6001870154838a015260028701546001600160a01b03166040840152608060608401526003870180548390611e7481611da5565b8060808801526001821660008114611e935760018114611eaf57611ede565b60ff19831660a089015260a082151560051b8901019350611ede565b8487528d8720875b83811015611ed55781548a820160a001526001909101908f01611eb7565b890160a0019450505b50505060049890980197958a0195935050600101611e23565b5050838982030160608a0152611f108160028c01611c86565b9a9950505050505050505050565b6000808335601e19843603018112611f3557600080fd5b8301803591506001600160401b03821115611f4f57600080fd5b6020019150600681901b3603821315611bc657600080fd5b634e487b7160e01b600052604160045260246000fd5b600281901b6001600160fe1b0382168214611fa857634e487b7160e01b600052601160045260246000fd5b919050565b60ff811681146108d457600080fd5b8135611fc7816119d3565b611fd08161179f565b60ff1982541660ff82168117835550506020820135611fee81611fad565b815461ff001916600882901b61ff0016178255505050565b505050565b6000808335601e1984360301811261202257600080fd5b8301803591506001600160401b0382111561203c57600080fd5b6020019150600781901b3603821315611bc657600080fd5b600781106108d457600080fd5b6007821061207157612071611789565b60ff1981541660ff831681178255505050565b80546001600160a01b0319166001600160a01b0392909216919091179055565b81356120af81612054565b6120b98183612061565b506020820135600182015560408201356120d281611b50565b6120df8160028401612084565b50606082013560038201555050565b600160401b83111561210257612102611f67565b8054838255808410156121605761211881611f7d565b61212185611f7d565b6000848152602081209283019291909101905b8282101561215c57808255806001830155806002830155806003830155600482019150612134565b5050505b5060008181526020812083915b8581101561154a5761217f83836120a4565b608092909201916004919091019060010161216d565b6000808335601e198436030181126121ac57600080fd5b8301803591506001600160401b038211156121c657600080fd5b6020019150606081023603821315611bc657600080fd5b81356121e8816119d3565b6121f18161179f565b60ff1982541660ff8216811783555050602082013561220f81611fad565b815461ff001916600882901b61ff001617825550604082013561223181611fad565b815462ff0000191660109190911b62ff00001617905550565b600160401b83111561225e5761225e611f67565b805483825580841015612295576000828152602081208581019083015b808210156122915782825560018201915061227b565b5050505b5060008181526020812083915b8581101561154a576122b483836121dd565b60609290920191600191820191016122a2565b6122d18283611f1e565b600160401b8111156122e5576122e5611f67565b82548184558082101561231c576000848152602081208381019083015b8082101561231857828255600182019150612302565b5050505b5060008381526020902060005b8281101561234e5761233b8483611fbc565b6040939093019260019182019101612329565b5050505061235f602083018361200b565b61236d8183600186016120ee565b505061237c6040830183612195565b61238a81836002860161224a565b50505050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126123df57600080fd5b8301803591506001600160401b038211156123f957600080fd5b6020019150600581901b3603821315611bc657600080fd5b60008235607e1983360301811261242757600080fd5b9190910192915050565b5b818110156114785760008155600101612432565b601f82111561200657806000526020600020601f840160051c8101602085101561246d5750805b6113d8601f850160051c830182612431565b813561248a81612054565b6124948183612061565b506001602080840135600184015560408401356124b081611b50565b6124bd8160028601612084565b50600383016060850135601e198636030181126124d957600080fd5b850180356001600160401b038111156124f157600080fd5b803603848301131561250257600080fd5b612516816125108554611da5565b85612446565b6000601f82116001811461254c576000831561253457508382018601355b600019600385901b1c1916600184901b1785556125a7565b600085815260209020601f19841690835b8281101561257c5786850189013582559388019390890190880161255d565b508482101561259b5760001960f88660031b161c198885880101351681555b505060018360011b0185555b505050505050505050565b600160401b8311156125c6576125c6611f67565b805483825580841015612679576125dc81611f7d565b6125e585611f7d565b6000848152602081209283019291909101905b8282101561267557808255600181818401558160028401556003830161261e8154611da5565b801561266757601f8082116001811461263957858455612664565b60008481526020902061265583850160051c8201878301612431565b50600084815260208120818655555b50505b5050506004820191506125f8565b5050505b5060008181526020812083915b8581101561154a576126a161269b8487612411565b8361247f565b6020929092019160049190910190600101612686565b6126c18283611f1e565b600160401b8111156126d5576126d5611f67565b82548184558082101561270c576000848152602081208381019083015b80821015612708578282556001820191506126f2565b5050505b5060008381526020902060005b8281101561273e5761272b8483611fbc565b6040939093019260019182019101612719565b5050505061274f60208301836123c8565b61236d8183600186016125b2565b60008261277a57634e487b7160e01b600052601260045260246000fd5b500490565b6020810161278c8361179f565b91905290565b604051608081016001600160401b03811182821017156127b4576127b4611f67565b60405290565b604051606081016001600160401b03811182821017156127b4576127b4611f67565b604080519081016001600160401b03811182821017156127b4576127b4611f67565b604051601f8201601f191681016001600160401b038111828210171561282657612826611f67565b604052919050565b60006001600160401b0382111561284757612847611f67565b5060051b60200190565b6000602080838503121561286457600080fd5b82516001600160401b0381111561287a57600080fd5b8301601f8101851361288b57600080fd5b805161289e6128998261282e565b6127fe565b81815260059190911b820183019083810190878311156128bd57600080fd5b928401925b828410156128e45783516128d581611b50565b825292840192908401906128c2565b979650505050505050565b60006080820160018060a01b03808816845260208760208601528660408601526080606086015282865180855260a08701915060208801945060005b8181101561294957855185168352948301949183019160010161292b565b50909a9950505050505050505050565b600082601f83011261296a57600080fd5b8151602061297a6128998361282e565b82815260079290921b8401810191818101908684111561299957600080fd5b8286015b848110156129fe57608081890312156129b65760008081fd5b6129be612792565b81516129c981612054565b815281850151858201526040808301516129e281611b50565b908201526060828101519082015283529183019160800161299d565b509695505050505050565b600082601f830112612a1a57600080fd5b81516020612a2a6128998361282e565b82815260609283028501820192828201919087851115612a4957600080fd5b8387015b85811015612aab5781818a031215612a655760008081fd5b612a6d6127ba565b8151612a78816119d3565b815281860151612a8781611fad565b81870152604082810151612a9a81611fad565b908201528452928401928101612a4d565b5090979650505050505050565b60006020808385031215612acb57600080fd5b82516001600160401b0380821115612ae257600080fd5b9084019060608287031215612af657600080fd5b612afe6127ba565b825182811115612b0d57600080fd5b8301601f81018813612b1e57600080fd5b8051612b2c6128998261282e565b81815260069190911b8201860190868101908a831115612b4b57600080fd5b928701925b82841015612ba1576040848c031215612b695760008081fd5b612b716127dc565b8451612b7c816119d3565b815284890151612b8b81611fad565b818a015282526040939093019290870190612b50565b84525050508284015182811115612bb757600080fd5b612bc388828601612959565b85830152506040830151935081841115612bdc57600080fd5b612be887858501612a09565b60408201529695505050505050565b60018060a01b0385168152836020820152826040820152608060608201526000611237608083018461194b565b600060208284031215612c3657600080fd5b81516105cd81611b5056fe9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e009075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e01";
type MockEntitlementGatedConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: MockEntitlementGatedConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class MockEntitlementGated__factory extends ContractFactory {
constructor(...args: MockEntitlementGatedConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override deploy(
checker: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<MockEntitlementGated> {
return super.deploy(
checker,
overrides || {}
) as Promise<MockEntitlementGated>;
}
override getDeployTransaction(
checker: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(checker, overrides || {});
}
override attach(address: string): MockEntitlementGated {
return super.attach(address) as MockEntitlementGated;
}
override connect(signer: Signer): MockEntitlementGated__factory {
return super.connect(signer) as MockEntitlementGated__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): MockEntitlementGatedInterface {
return new utils.Interface(_abi) as MockEntitlementGatedInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): MockEntitlementGated {
return new Contract(
address,
_abi,
signerOrProvider
) as MockEntitlementGated;
}
}