diff --git a/scripts/XPReward.ts b/scripts/XPReward.ts index 614d21c..4b7639c 100644 --- a/scripts/XPReward.ts +++ b/scripts/XPReward.ts @@ -6,7 +6,7 @@ import { NonceManager, } from "ethers"; import { processTypechainAbis } from "./process-typechain-abis"; -import * as typechain from "../typechain-types"; +import * as typechain from "../typechain-types-push"; import dotenv from "dotenv"; dotenv.config({ path: ".env" }); diff --git a/typechain-types-push/XPReward.ts b/typechain-types-push/XPReward.ts new file mode 100644 index 0000000..bb7792f --- /dev/null +++ b/typechain-types-push/XPReward.ts @@ -0,0 +1,232 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "./common"; + +export interface XPRewardInterface extends Interface { + getFunction( + nameOrSignature: + | "claimXP" + | "getMyXP" + | "lastClaimedTimestamp" + | "timeUntilNextClaim" + | "timesSigned" + | "timesUpdated" + | "updateTimeSigned" + | "updateTimeUpdated" + | "xpBalances" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "XPClaimed"): EventFragment; + + encodeFunctionData(functionFragment: "claimXP", values?: undefined): string; + encodeFunctionData(functionFragment: "getMyXP", values?: undefined): string; + encodeFunctionData( + functionFragment: "lastClaimedTimestamp", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "timeUntilNextClaim", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "timesSigned", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "timesUpdated", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateTimeSigned", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateTimeUpdated", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "xpBalances", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "claimXP", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getMyXP", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lastClaimedTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "timeUntilNextClaim", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "timesSigned", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "timesUpdated", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateTimeSigned", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateTimeUpdated", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "xpBalances", data: BytesLike): Result; +} + +export namespace XPClaimedEvent { + export type InputTuple = [user: AddressLike, amount: BigNumberish]; + export type OutputTuple = [user: string, amount: bigint]; + export interface OutputObject { + user: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface XPReward extends BaseContract { + connect(runner?: ContractRunner | null): XPReward; + waitForDeployment(): Promise; + + interface: XPRewardInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + claimXP: TypedContractMethod<[], [void], "nonpayable">; + + getMyXP: TypedContractMethod<[], [bigint], "view">; + + lastClaimedTimestamp: TypedContractMethod< + [arg0: AddressLike], + [bigint], + "view" + >; + + timeUntilNextClaim: TypedContractMethod<[], [bigint], "view">; + + timesSigned: TypedContractMethod<[], [bigint], "view">; + + timesUpdated: TypedContractMethod<[], [bigint], "view">; + + updateTimeSigned: TypedContractMethod<[], [void], "nonpayable">; + + updateTimeUpdated: TypedContractMethod<[], [void], "nonpayable">; + + xpBalances: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "claimXP" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "getMyXP" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "lastClaimedTimestamp" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "timeUntilNextClaim" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "timesSigned" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "timesUpdated" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateTimeSigned" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateTimeUpdated" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "xpBalances" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + getEvent( + key: "XPClaimed" + ): TypedContractEvent< + XPClaimedEvent.InputTuple, + XPClaimedEvent.OutputTuple, + XPClaimedEvent.OutputObject + >; + + filters: { + "XPClaimed(address,uint256)": TypedContractEvent< + XPClaimedEvent.InputTuple, + XPClaimedEvent.OutputTuple, + XPClaimedEvent.OutputObject + >; + XPClaimed: TypedContractEvent< + XPClaimedEvent.InputTuple, + XPClaimedEvent.OutputTuple, + XPClaimedEvent.OutputObject + >; + }; +} diff --git a/typechain-types-push/common.ts b/typechain-types-push/common.ts new file mode 100644 index 0000000..56b5f21 --- /dev/null +++ b/typechain-types-push/common.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + FunctionFragment, + Typed, + EventFragment, + ContractTransaction, + ContractTransactionResponse, + DeferredTopicFilter, + EventLog, + TransactionRequest, + LogDescription, +} from "ethers"; + +export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> + extends DeferredTopicFilter {} + +export interface TypedContractEvent< + InputTuple extends Array = any, + OutputTuple extends Array = any, + OutputObject = any +> { + (...args: Partial): TypedDeferredTopicFilter< + TypedContractEvent + >; + name: string; + fragment: EventFragment; + getFragment(...args: Partial): EventFragment; +} + +type __TypechainAOutputTuple = T extends TypedContractEvent< + infer _U, + infer W +> + ? W + : never; +type __TypechainOutputObject = T extends TypedContractEvent< + infer _U, + infer _W, + infer V +> + ? V + : never; + +export interface TypedEventLog + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export interface TypedLogDescription + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export type TypedListener = ( + ...listenerArg: [ + ...__TypechainAOutputTuple, + TypedEventLog, + ...undefined[] + ] +) => void; + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; + +export type StateMutability = "nonpayable" | "payable" | "view"; + +export type BaseOverrides = Omit; +export type NonPayableOverrides = Omit< + BaseOverrides, + "value" | "blockTag" | "enableCcipRead" +>; +export type PayableOverrides = Omit< + BaseOverrides, + "blockTag" | "enableCcipRead" +>; +export type ViewOverrides = Omit; +export type Overrides = S extends "nonpayable" + ? NonPayableOverrides + : S extends "payable" + ? PayableOverrides + : ViewOverrides; + +export type PostfixOverrides, S extends StateMutability> = + | A + | [...A, Overrides]; +export type ContractMethodArgs< + A extends Array, + S extends StateMutability +> = PostfixOverrides<{ [I in keyof A]-?: A[I] | Typed }, S>; + +export type DefaultReturnType = R extends Array ? R[0] : R; + +// export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> { +export interface TypedContractMethod< + A extends Array = Array, + R = any, + S extends StateMutability = "payable" +> { + (...args: ContractMethodArgs): S extends "view" + ? Promise> + : Promise; + + name: string; + + fragment: FunctionFragment; + + getFragment(...args: ContractMethodArgs): FunctionFragment; + + populateTransaction( + ...args: ContractMethodArgs + ): Promise; + staticCall( + ...args: ContractMethodArgs + ): Promise>; + send(...args: ContractMethodArgs): Promise; + estimateGas(...args: ContractMethodArgs): Promise; + staticCallResult(...args: ContractMethodArgs): Promise; +} diff --git a/typechain-types-push/factories/XPReward__factory.ts b/typechain-types-push/factories/XPReward__factory.ts new file mode 100644 index 0000000..95afc2a --- /dev/null +++ b/typechain-types-push/factories/XPReward__factory.ts @@ -0,0 +1,191 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../common"; +import type { XPReward, XPRewardInterface } from "../XPReward"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "XPClaimed", + type: "event", + }, + { + inputs: [], + name: "claimXP", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getMyXP", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lastClaimedTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timeUntilNextClaim", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timesSigned", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timesUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "updateTimeSigned", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "updateTimeUpdated", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "xpBalances", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405260008055600060015534801561001957600080fd5b50610754806100296000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80636dd73944116100665780636dd73944146101205780639770f0131461013e578063a55675d61461015c578063c58ce0c014610166578063dfe35b041461017057610093565b806302ee0efb146100985780631acf282e146100c857806329f1eba3146100e657806349d147d414610116575b600080fd5b6100b260048036038101906100ad91906104db565b61018e565b6040516100bf9190610521565b60405180910390f35b6100d06101a6565b6040516100dd9190610521565b60405180910390f35b61010060048036038101906100fb91906104db565b6101ac565b60405161010d9190610521565b60405180910390f35b61011e6101c4565b005b6101286101de565b6040516101359190610521565b60405180910390f35b610146610298565b6040516101539190610521565b60405180910390f35b61016461029e565b005b61016e6102b7565b005b610178610431565b6040516101859190610521565b60405180910390f35b60036020528060005260406000206000915090505481565b60005481565b60026020528060005260406000206000915090505481565b600160008154809291906101d79061056b565b9190505550565b6000603c600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461022c91906105b3565b421061023b5760009050610295565b42603c600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461028891906105b3565b61029291906105e7565b90505b90565b60015481565b6000808154809291906102b09061056b565b9190505550565b603c600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461030391906105b3565b421015610345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033c9061069e565b60405180910390fd5b42600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103d991906105b3565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f7b62bb2cd98fa42d3b236fc7ed5382f42a1f206651d2f594c1411c305a91cd2860016040516104279190610703565b60405180910390a2565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104a88261047d565b9050919050565b6104b88161049d565b81146104c357600080fd5b50565b6000813590506104d5816104af565b92915050565b6000602082840312156104f1576104f0610478565b5b60006104ff848285016104c6565b91505092915050565b6000819050919050565b61051b81610508565b82525050565b60006020820190506105366000830184610512565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061057682610508565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105a8576105a761053c565b5b600182019050919050565b60006105be82610508565b91506105c983610508565b92508282019050808211156105e1576105e061053c565b5b92915050565b60006105f282610508565b91506105fd83610508565b92508282039050818111156106155761061461053c565b5b92915050565b600082825260208201905092915050565b7f596f752063616e206f6e6c7920636c61696d206f6e636520657665727920312060008201527f6d696e7574652e00000000000000000000000000000000000000000000000000602082015250565b600061068860278361061b565b91506106938261062c565b604082019050919050565b600060208201905081810360008301526106b78161067b565b9050919050565b6000819050919050565b6000819050919050565b60006106ed6106e86106e3846106be565b6106c8565b610508565b9050919050565b6106fd816106d2565b82525050565b600060208201905061071860008301846106f4565b9291505056fea264697066735822122043953b9f814c1e2940b25796c0c5d55e605170c99adaddffe97a02050c7a4d0a64736f6c63430008140033"; + +type XPRewardConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: XPRewardConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class XPReward__factory extends ContractFactory { + constructor(...args: XPRewardConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + XPReward & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): XPReward__factory { + return super.connect(runner) as XPReward__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): XPRewardInterface { + return new Interface(_abi) as XPRewardInterface; + } + static connect(address: string, runner?: ContractRunner | null): XPReward { + return new Contract(address, _abi, runner) as unknown as XPReward; + } +} diff --git a/typechain-types-push/factories/index.ts b/typechain-types-push/factories/index.ts new file mode 100644 index 0000000..7606852 --- /dev/null +++ b/typechain-types-push/factories/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { XPReward__factory } from "./XPReward__factory"; diff --git a/typechain-types-push/hardhat.d.ts b/typechain-types-push/hardhat.d.ts new file mode 100644 index 0000000..c4e8e98 --- /dev/null +++ b/typechain-types-push/hardhat.d.ts @@ -0,0 +1,63 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { ethers } from "ethers"; +import { + DeployContractOptions, + FactoryOptions, + HardhatEthersHelpers as HardhatEthersHelpersBase, +} from "@nomicfoundation/hardhat-ethers/types"; + +import * as Contracts from "."; + +declare module "hardhat/types/runtime" { + interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "XPReward", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + + getContractAt( + name: "XPReward", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + + deployContract( + name: "XPReward", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + deployContract( + name: "XPReward", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + // default types + getContractFactory( + name: string, + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + abi: any[], + bytecode: ethers.BytesLike, + signer?: ethers.Signer + ): Promise; + getContractAt( + nameOrAbi: string | any[], + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + deployContract( + name: string, + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: string, + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + } +} diff --git a/typechain-types-push/index.ts b/typechain-types-push/index.ts new file mode 100644 index 0000000..9e87505 --- /dev/null +++ b/typechain-types-push/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { XPReward } from "./XPReward"; +export * as factories from "./factories"; +export { XPReward__factory } from "./factories/XPReward__factory";