@citizenwallet/sdk
Version:
An sdk to easily work with citizen wallet.
43 lines • 1.87 kB
TypeScript
import { ethers } from "ethers";
import type { CommunityConfig } from "../config";
export interface UserOpData {
[key: string]: string;
}
export interface UserOpExtraData {
description: string;
}
export interface UserOp {
sender: string;
nonce: bigint;
initCode: Uint8Array;
callData: Uint8Array;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
paymasterAndData: Uint8Array;
signature: Uint8Array;
}
export interface BundlerOptions {
}
export declare class BundlerService {
private config;
private provider;
private accountType;
private options;
constructor(config: CommunityConfig, options?: BundlerOptions);
senderAccountExists(sender: string): Promise<boolean>;
private generateUserOp;
private prepareUserOp;
private paymasterSignUserOp;
private signUserOp;
private submitUserOp;
call(signer: ethers.Signer, contractAddress: string, sender: string, data: Uint8Array, value?: bigint, userOpData?: UserOpData, extraData?: UserOpExtraData): Promise<string>;
sendERC20Token(signer: ethers.Signer, tokenAddress: string, from: string, to: string, amount: string, description?: string): Promise<string>;
mintERC20Token(signer: ethers.Signer, tokenAddress: string, from: string, to: string, amount: string, description?: string): Promise<string>;
burnFromERC20Token(signer: ethers.Signer, tokenAddress: string, sender: string, from: string, amount: string, description?: string): Promise<string>;
setProfile(signer: ethers.Signer, signerAccountAddress: string, profileAccountAddress: string, username: string, ipfsHash: string): Promise<string>;
awaitSuccess(txHash: string, timeout?: number): Promise<ethers.TransactionReceipt>;
}
//# sourceMappingURL=index.d.ts.map