@towns-protocol/generated
Version:
## How to generate contract types
812 lines (804 loc) • 36.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 { DropFacet, DropFacetInterface } from "../DropFacet";
const _abi = [
{
type: "function",
name: "__DropFacet_init",
inputs: [
{
name: "rewardsDistribution",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "addClaimCondition",
inputs: [
{
name: "condition",
type: "tuple",
internalType: "struct DropGroup.ClaimCondition",
components: [
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "startTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "endTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "penaltyBps",
type: "uint16",
internalType: "uint16",
},
{
name: "maxClaimableSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "supplyClaimed",
type: "uint256",
internalType: "uint256",
},
{
name: "merkleRoot",
type: "bytes32",
internalType: "bytes32",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "claimAndStake",
inputs: [
{
name: "req",
type: "tuple",
internalType: "struct DropClaim.Claim",
components: [
{
name: "conditionId",
type: "uint256",
internalType: "uint256",
},
{
name: "account",
type: "address",
internalType: "address",
},
{
name: "quantity",
type: "uint256",
internalType: "uint256",
},
{
name: "points",
type: "uint256",
internalType: "uint256",
},
{
name: "proof",
type: "bytes32[]",
internalType: "bytes32[]",
},
],
},
{
name: "delegatee",
type: "address",
internalType: "address",
},
{
name: "deadline",
type: "uint256",
internalType: "uint256",
},
{
name: "signature",
type: "bytes",
internalType: "bytes",
},
],
outputs: [
{
name: "amount",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "claimWithPenalty",
inputs: [
{
name: "req",
type: "tuple",
internalType: "struct DropClaim.Claim",
components: [
{
name: "conditionId",
type: "uint256",
internalType: "uint256",
},
{
name: "account",
type: "address",
internalType: "address",
},
{
name: "quantity",
type: "uint256",
internalType: "uint256",
},
{
name: "points",
type: "uint256",
internalType: "uint256",
},
{
name: "proof",
type: "bytes32[]",
internalType: "bytes32[]",
},
],
},
{
name: "expectedPenaltyBps",
type: "uint16",
internalType: "uint16",
},
],
outputs: [
{
name: "amount",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "getActiveClaimConditionId",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getClaimConditionById",
inputs: [
{
name: "conditionId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "condition",
type: "tuple",
internalType: "struct DropGroup.ClaimCondition",
components: [
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "startTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "endTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "penaltyBps",
type: "uint16",
internalType: "uint16",
},
{
name: "maxClaimableSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "supplyClaimed",
type: "uint256",
internalType: "uint256",
},
{
name: "merkleRoot",
type: "bytes32",
internalType: "bytes32",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getClaimConditions",
inputs: [],
outputs: [
{
name: "",
type: "tuple[]",
internalType: "struct DropGroup.ClaimCondition[]",
components: [
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "startTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "endTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "penaltyBps",
type: "uint16",
internalType: "uint16",
},
{
name: "maxClaimableSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "supplyClaimed",
type: "uint256",
internalType: "uint256",
},
{
name: "merkleRoot",
type: "bytes32",
internalType: "bytes32",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getDepositIdByWallet",
inputs: [
{
name: "account",
type: "address",
internalType: "address",
},
{
name: "conditionId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getSupplyClaimedByWallet",
inputs: [
{
name: "account",
type: "address",
internalType: "address",
},
{
name: "conditionId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "setClaimConditions",
inputs: [
{
name: "conditions",
type: "tuple[]",
internalType: "struct DropGroup.ClaimCondition[]",
components: [
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "startTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "endTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "penaltyBps",
type: "uint16",
internalType: "uint16",
},
{
name: "maxClaimableSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "supplyClaimed",
type: "uint256",
internalType: "uint256",
},
{
name: "merkleRoot",
type: "bytes32",
internalType: "bytes32",
},
],
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "event",
name: "DropFacet_ClaimConditionAdded",
inputs: [
{
name: "conditionId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "condition",
type: "tuple",
indexed: false,
internalType: "struct DropGroup.ClaimCondition",
components: [
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "startTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "endTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "penaltyBps",
type: "uint16",
internalType: "uint16",
},
{
name: "maxClaimableSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "supplyClaimed",
type: "uint256",
internalType: "uint256",
},
{
name: "merkleRoot",
type: "bytes32",
internalType: "bytes32",
},
],
},
],
anonymous: false,
},
{
type: "event",
name: "DropFacet_ClaimConditionsUpdated",
inputs: [
{
name: "conditionId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "conditions",
type: "tuple[]",
indexed: false,
internalType: "struct DropGroup.ClaimCondition[]",
components: [
{
name: "currency",
type: "address",
internalType: "address",
},
{
name: "startTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "endTimestamp",
type: "uint40",
internalType: "uint40",
},
{
name: "penaltyBps",
type: "uint16",
internalType: "uint16",
},
{
name: "maxClaimableSupply",
type: "uint256",
internalType: "uint256",
},
{
name: "supplyClaimed",
type: "uint256",
internalType: "uint256",
},
{
name: "merkleRoot",
type: "bytes32",
internalType: "bytes32",
},
],
},
],
anonymous: false,
},
{
type: "event",
name: "DropFacet_Claimed_And_Staked",
inputs: [
{
name: "conditionId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "claimer",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "account",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "amount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "DropFacet_Claimed_WithPenalty",
inputs: [
{
name: "conditionId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "claimer",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "account",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "amount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
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: "error",
name: "DropFacet__AlreadyClaimed",
inputs: [],
},
{
type: "error",
name: "DropFacet__CannotSetClaimConditions",
inputs: [],
},
{
type: "error",
name: "DropFacet__ClaimConditionsNotInAscendingOrder",
inputs: [],
},
{
type: "error",
name: "DropFacet__ClaimHasEnded",
inputs: [],
},
{
type: "error",
name: "DropFacet__ClaimHasNotStarted",
inputs: [],
},
{
type: "error",
name: "DropFacet__CurrencyNotSet",
inputs: [],
},
{
type: "error",
name: "DropFacet__ExceedsMaxClaimableSupply",
inputs: [],
},
{
type: "error",
name: "DropFacet__InsufficientBalance",
inputs: [],
},
{
type: "error",
name: "DropFacet__InvalidProof",
inputs: [],
},
{
type: "error",
name: "DropFacet__MerkleRootNotSet",
inputs: [],
},
{
type: "error",
name: "DropFacet__NoActiveClaimCondition",
inputs: [],
},
{
type: "error",
name: "DropFacet__QuantityMustBeGreaterThanZero",
inputs: [],
},
{
type: "error",
name: "DropFacet__RewardsDistributionNotSet",
inputs: [],
},
{
type: "error",
name: "DropFacet__UnexpectedPenaltyBps",
inputs: [],
},
{
type: "error",
name: "ERC20InsufficientBalance",
inputs: [
{
name: "sender",
type: "address",
internalType: "address",
},
{
name: "balance",
type: "uint256",
internalType: "uint256",
},
{
name: "needed",
type: "uint256",
internalType: "uint256",
},
],
},
{
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: "Ownable__NotOwner",
inputs: [
{
name: "account",
type: "address",
internalType: "address",
},
],
},
{
type: "error",
name: "Ownable__ZeroAddress",
inputs: [],
},
] as const;
const _bytecode =
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612498806100ca5f395ff3fe608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806381045e3611610072578063c68907de11610058578063c68907de146101b6578063c9ac9368146101be578063fff96374146101d1575f5ffd5b806381045e361461018e578063a1550b2f146101a1575f5ffd5b806364843393116100a257806364843393146100f85780636f8934f41461010b5780637a05557c1461012b575f5ffd5b806314c9fcbc146100bd57806333d42dc6146100d2575b5f5ffd5b6100d06100cb366004611c20565b6101e4565b005b6100e56100e0366004611c3b565b61027c565b6040519081526020015b60405180910390f35b6100d0610106366004611c65565b6102d1565b61011e610119366004611c7e565b610351565b6040516100ef9190611c95565b6100e5610139366004611c3b565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff949094168352929052206001015490565b6100e561019c366004611d3f565b61047b565b6101a9610614565b6040516100ef9190611d8e565b6100e5610623565b6100d06101cc366004611e42565b61062c565b6100e56101df366004611eb3565b6106ac565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610247576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102707f9251dd060000000000000000000000000000000000000000000000000000000061090f565b61027981610a64565b50565b5f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610348576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61027981610a6d565b604080515f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820152908190526103ba825f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015292915050565b81355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040808220600181015490916104e69190860135907e01000000000000000000000000000000000000000000000000000000000000900461ffff1685610cca565b91506104f28183610d2a565b6004810154610502908590610ef7565b61051d6105156040860160208701611c20565b829084610f4b565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf70061055d6105516040870160208801611c20565b82906060880135610fbf565b6105926105706040870160208801611c20565b600184015473ffffffffffffffffffffffffffffffffffffffff169085610fdb565b6105a26040860160208701611c20565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16865f01357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018660405161060491815260200190565b60405180910390a4505092915050565b606061061e61102e565b905090565b5f61061e61128a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461069e576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6106a88282611445565b5050565b84355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0160205260409081902090860135906106eb8183610d2a565b60048101546106fb908890610ef7565b61070e6105156040890160208a01611c20565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf70061074e61074260408a0160208b01611c20565b829060608b0135610fbf565b60018201546107739073ffffffffffffffffffffffffffffffffffffffff168461171b565b5f7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff1663e69f94956107ba86611760565b8a6107cb60408e0160208f01611c20565b8d60200160208101906107de9190611c20565b8c8c8c6040518863ffffffff1660e01b81526004016108039796959493929190611f64565b6020604051808303815f875af115801561081f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108439190612023565b90505f838161085860408d0160208e01611c20565b73ffffffffffffffffffffffffffffffffffffffff16815260208082019290925260409081015f2060018101859055925061089891908c01908c01611c20565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168b5f01357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea7886040516108fa91815260200190565b60405180910390a45050505095945050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166109e3577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610a15565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b61027981611781565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005465ffffffffffff7401000000000000000000000000000000000000000082048116917a0100000000000000000000000000000000000000000000000000009004165f610adb8284612067565b905065ffffffffffff821615610bae5765ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab01602052604081206001019050610b576040860160208701612097565b815464ffffffffff9182167401000000000000000000000000000000000000000090910490911610610bac57610bac7f7b10269c0000000000000000000000000000000000000000000000000000000061182b565b505b610bc8610bbe6020860186611c20565b8560800135611833565b83610c048265ffffffffffff165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902090565b600101610c1182826120ca565b50610c1f9050826001612067565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805479ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000065ffffffffffff93841602179055604051908216907fb2d7f7a48138c995ec7024ac4e176fad4415d42377559f3178e3830941b0484190610cbc9087906122d3565b60405180910390a250505050565b5f8161ffff168361ffff1614610d0357610d037f70566c000000000000000000000000000000000000000000000000000000000061182b565b61ffff831615610d22575f610d1c858561ffff16611883565b90940393505b509192915050565b60048201546001830190610d6157610d617ff235dd010000000000000000000000000000000000000000000000000000000061182b565b815f03610d9157610d917fdf4e56a50000000000000000000000000000000000000000000000000000000061182b565b805473ffffffffffffffffffffffffffffffffffffffff16610dd657610dd67fe211c34c0000000000000000000000000000000000000000000000000000000061182b565b8060010154828260020154610deb91906122e1565b1115610e1a57610e1a7fb0b4e6d40000000000000000000000000000000000000000000000000000000061182b565b805474010000000000000000000000000000000000000000900464ffffffffff16421015610e6b57610e6b7f4b3950d80000000000000000000000000000000000000000000000000000000061182b565b8054790100000000000000000000000000000000000000000000000000900464ffffffffff1615801590610ec457508054790100000000000000000000000000000000000000000000000000900464ffffffffff164210155b15610ef257610ef27fd87c5b1d0000000000000000000000000000000000000000000000000000000061182b565b505050565b5f610f01836118d6565b9050610f1e8282610f1560808701876122f4565b90929091611914565b610ef257610ef27f592fca340000000000000000000000000000000000000000000000000000000061182b565b73ffffffffffffffffffffffffffffffffffffffff82165f908152602084905260409020805415610f9f57610f9f7f7f76444f0000000000000000000000000000000000000000000000000000000061182b565b81846001016002015f828254610fb591906122e1565b9091555050555050565b610fca83838361194c565b600290920180549290920390915550565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661102457803d853b151710611024576390b8ec185f526004601cfd5b505f603452505050565b60605f5f61109d7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff1667ffffffffffffffff8111156110c2576110c261235f565b60405190808252806020026020018201604052801561114657816020015b6040805160e0810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816110e05790505b5092505f5b8165ffffffffffff16811015611284576111a26111708265ffffffffffff86166122e1565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015284518590839081106112715761127161238c565b602090810291909101015260010161114b565b50505090565b5f5f5f6112f87feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff165f03611334576113347f44d5f0940000000000000000000000000000000000000000000000000000000061182b565b65ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8383010116805b8365ffffffffffff16811061141b575f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0160205260409020600101805464ffffffffff79010000000000000000000000000000000000000000000000000082048116917401000000000000000000000000000000000000000090041642108015906113f857508015806113f857508042105b1561140857509095945050505050565b505080611414906123b9565b9050611363565b506112847f44d5f0940000000000000000000000000000000000000000000000000000000061182b565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805465ffffffffffff7401000000000000000000000000000000000000000082048116917a01000000000000000000000000000000000000000000000000000090048116906114b585846122e1565b11156114e4576114e47fae4eeeb10000000000000000000000000000000000000000000000000000000061182b565b835f80805b8365ffffffffffff16811015611620573689898381811061150c5761150c61238c565b905060e0020190508060200160208101906115279190612097565b64ffffffffff168465ffffffffffff1610611565576115657f7b10269c0000000000000000000000000000000000000000000000000000000061182b565b5f600189018161157d8565ffffffffffff8c166122e1565b815260208101919091526040015f20600381015490915060808301358111156115c9576115c97fae4eeeb10000000000000000000000000000000000000000000000000000000061182b565b6115d382846119c2565b6115e36040840160208501612097565b64ffffffffff1695506115fa6080840135866122e1565b945061161261160c6020850185611c20565b86611833565b5050508060010190506114e9565b50855465ffffffffffff8085167a010000000000000000000000000000000000000000000000000000810279ffffffffffffffffffffffffffffffffffffffffffffffffffff909316929092178855851611156116cf5765ffffffffffff83165b8465ffffffffffff168110156116cd5765ffffffffffff861681015f90815260018089016020526040822080820183905560028101839055600381018390556004019190915501611681565b505b8465ffffffffffff167ff91c9c864018770f197086e7e64354d3a54259e85887953cbbe7d02ba32aba8e89896040516117099291906123ed565b60405180910390a25050505050505050565b6106a87feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff848116911683611b43565b5f6c01000000000000000000000000821061177d5761177d611b8c565b5090565b73ffffffffffffffffffffffffffffffffffffffff81166117c5576117c57fe3224c780000000000000000000000000000000000000000000000000000000061182b565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b805f5260045ffd5b61185373ffffffffffffffffffffffffffffffffffffffff831630611b99565b8111156106a8576106a87f42e1bedf0000000000000000000000000000000000000000000000000000000061182b565b5f6127108211156118b8576118b87f197f19620000000000000000000000000000000000000000000000000000000083611bcc565b6127106118c5838561242e565b6118cf9190612445565b9392505050565b5f806118e86040840160208501611c20565b604080515f92835281860135602090815260609687013583529583208352949091209390525090919050565b5f8315611944578360051b8501855b803580851160051b94855260209485185260405f2093018181106119235750505b501492915050565b5f5f611959858585611bd8565b9150915081156119bb576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810184905260640161033f565b5050505050565b600182016119d66040830160208401612097565b815464ffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff909116178155611a306060830160408401612097565b815464ffffffffff91909116790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff9091161781556080820135600182015560c08201356003820155611aa06020830183611c20565b81547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff91909116178155611af0608083016060840161247d565b815461ffff919091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790555050565b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f51141661102457803d853b15171061102457633e3f8f735f526004601cfd5b6335278d125f526004601cfd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b815f528060045260245ffd5b5f82815260208490526040902080548281109182611bf65783820381555b50935093915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610279575f5ffd5b5f60208284031215611c30575f5ffd5b81356118cf81611bff565b5f5f60408385031215611c4c575f5ffd5b8235611c5781611bff565b946020939093013593505050565b5f60e0828403128015611c76575f5ffd5b509092915050565b5f60208284031215611c8e575f5ffd5b5035919050565b60e081016102cb828473ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b5f60a08284031215611d1a575f5ffd5b50919050565b61ffff81168114610279575f5ffd5b8035611d3a81611d20565b919050565b5f5f60408385031215611d50575f5ffd5b823567ffffffffffffffff811115611d66575f5ffd5b611d7285828601611d0a565b9250506020830135611d8381611d20565b809150509250929050565b602080825282518282018190525f918401906040840190835b81811015611e3757611e2183855173ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6020939093019260e09290920191600101611da7565b509095945050505050565b5f5f60208385031215611e53575f5ffd5b823567ffffffffffffffff811115611e69575f5ffd5b8301601f81018513611e79575f5ffd5b803567ffffffffffffffff811115611e8f575f5ffd5b85602060e083028401011115611ea3575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f60808688031215611ec7575f5ffd5b853567ffffffffffffffff811115611edd575f5ffd5b611ee988828901611d0a565b9550506020860135611efa81611bff565b935060408601359250606086013567ffffffffffffffff811115611f1c575f5ffd5b8601601f81018813611f2c575f5ffd5b803567ffffffffffffffff811115611f42575f5ffd5b886020828401011115611f53575f5ffd5b959894975092955050506020019190565b6bffffffffffffffffffffffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015273ffffffffffffffffffffffffffffffffffffffff8616604082015273ffffffffffffffffffffffffffffffffffffffff8516606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019695505050505050565b5f60208284031215612033575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b65ffffffffffff81811683821601908111156102cb576102cb61203a565b64ffffffffff81168114610279575f5ffd5b5f602082840312156120a7575f5ffd5b81356118cf81612085565b5f81356102cb81612085565b5f81356102cb81611d20565b81356120d581611bff565b73ffffffffffffffffffffffffffffffffffffffff81167fffffffffffffffffffffffff000000000000000000000000000000000000000083541617825550602082013561212281612085565b81547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b78ffffffffff0000000000000000000000000000000000000000161781556121c8612179604084016120b2565b82547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c89190911b7dffffffffff0000000000000000000000000000000000000000000000000016178255565b6122266121d7606084016120be565b82547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016178255565b6080820135600182015560a0820135600282015560c090910135600390910155565b803561225381611bff565b73ffffffffffffffffffffffffffffffffffffffff168252602081013561227981612085565b64ffffffffff166020830152604081013561229381612085565b64ffffffffff1660408301526122ab60608201611d2f565b61ffff1660608301526080818101359083015260a0808201359083015260c090810135910152565b60e081016102cb8284612248565b808201808211156102cb576102cb61203a565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612327575f5ffd5b83018035915067ffffffffffffffff821115612341575f5ffd5b6020019150600581901b3603821315612358575f5ffd5b9250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f816123c7576123c761203a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b602080825281018290525f8360408301825b85811015612424576124118284612248565b60e09283019291909101906001016123ff565b5095945050505050565b80820281158282048414176102cb576102cb61203a565b5f82612478577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f6020828403121561248d575f5ffd5b81356118cf81611d2056";
type DropFacetConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: DropFacetConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class DropFacet__factory extends ContractFactory {
constructor(...args: DropFacetConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override deploy(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<DropFacet> {
return super.deploy(overrides || {}) as Promise<DropFacet>;
}
override getDeployTransaction(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(overrides || {});
}
override attach(address: string): DropFacet {
return super.attach(address) as DropFacet;
}
override connect(signer: Signer): DropFacet__factory {
return super.connect(signer) as DropFacet__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): DropFacetInterface {
return new utils.Interface(_abi) as DropFacetInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): DropFacet {
return new Contract(address, _abi, signerOrProvider) as DropFacet;
}
}