1.0.22 • Published 5 months ago

vice-aa v1.0.22

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

Installation

npm install vice-aa

Supported Networks

Paymaster URL's

Simple Paymaster -> https://vice-aa-api.vercel.app/paymaster

ERC20 Token Paymaster -> https://vice-aa-api.vercel.app/tokenpaymaster

ERC20 Token For TokenPaymaster

  • Token Name: CORE TOKEN
  • Token Address: 0x4613246FF4F29FaE8a6a70aceaF11670259F9A41

You can get this token from Uniswap

⚠️ WARNING: MAKE SURE TO APPROVE THE ERC20PAYMASTER CONTRACT FOR CORE TOKEN TO USE ERC20PAYMASTER URL.

Usage

This package provides four main functions:

  • getUserOperation
  • getSignedUserOp
  • CustomJsonRpcProvider
  • waitForReceipt

Follow the steps below to use these functions in your project.

Step 1: Create a Provider and Contract Instance

First, set up your provider and create an instance of the contract with which you wish to interact.

import { ethers } from "ethers";
import { YourContractAddress, YourContractABI } from "<your-contract-data-location>";

const provider = new ethers.providers.Web3Provider(window.ethereum);
const contract = new ethers.Contract(YourContractAddress, YourContractABI, provider);

Step 2: Populate Your Transaction

Next, populate the transaction you intend to execute.

const populatedTx = await contract.populateTransaction.<YourContractMethod>(
  // Method parameters go here
);

Step 3: Get User Operation

Use getUserOperation with your contract wallet address, contract address, populated transaction, paymaster URL, and your chosen RPC URL.

import { getUserOperation } from "vice-aa";

const userOperation = await getUserOperation(
  yourContractWalletAddress,
  YourContractAddress,
  populatedTx,
  "https://<your-paymaster-url>",
  "<your-rpc-url>"
);

Step 4: Get Signed User Operation

Then, call getSignedUserOp with the userOperation , paymaster URL, and a boolean to indicate the type of paymaster.

import { getSignedUserOp } from "vice-aa";

const signedUserOp = await getSignedUserOp(
  userOperation,
  "https://<your-paymaster-url>",
  true // Set to false for ERC20 paymaster
);

Step 5: Send User Operation

Create a custom provider and send the user operation.

import { CustomJsonRpcProvider } from "vice-aa";

const customProvider = new CustomJsonRpcProvider("<your-rpc-url>");
const userOpHash = await customProvider.sendUserOperation(signedUserOp);

Step 6: Wait for Transaction Receipt

Finally, wait for the transaction hash using waitForReceipt.

import { waitForReceipt } from "vice-aa";
const txHash = await waitForReceipt(customProvider, userOpHash);

Example

Support

For additional support or queries, feel free to reach out or open an issue on the vice-aa repository.

1.0.19

5 months ago

1.0.18

5 months ago

1.0.17

5 months ago

1.0.16

5 months ago

1.0.9

5 months ago

1.0.8

5 months ago

1.0.7

5 months ago

1.0.6

5 months ago

1.0.5

5 months ago

1.0.4

5 months ago

1.0.22

5 months ago

1.0.21

5 months ago

1.0.20

5 months ago

1.0.11

5 months ago

1.0.10

5 months ago

1.0.15

5 months ago

1.0.14

5 months ago

1.0.13

5 months ago

1.0.12

5 months ago

1.0.2

5 months ago

1.0.3

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago