Bastion SDK
  • Introduction
    • Bastion
    • Getting Started
    • Chains supported
  • Account Abstraction
    • The Basics
    • User Operations
  • NextJS Tutorial
    • Part 1 - Connect Wallet using Metamask and mint an NFT
    • Part 2 - Social login via Particle Auth
  • GUIDES
    • Sponsored transactions
    • Non-sponsored transactions
    • Using ERC-20 tokens to pay gas
    • Batch Transactions
    • Get Account Addresses
Powered by GitBook
On this page
  1. GUIDES

Batch Transactions

You can also do batch transactions through the Bastion SDK.

Some great use cases for batch transactions are airdrops, transferring tokens to multiple addresses, 'approve and transferFrom' in the same transaction.

const bastion = new Bastion();
const bastionConnect = await bastion.bastionConnect;

const CONFIG = {
	chainId: <chain_id>, // optional
	privateKey: <your_private_key>, //optional
	rpcUrl: <RPC_URL>, //optional
	apiKey: <your_api_key> //required
};			
bastionConnect.init(<your_web3Provider>, CONFIG);

// ... Other Transaction and contract details

const transfer1 = {
	to: contractAddress,
	value: 0,
	data: erc721Contract.interface.encodeFunctionData("transferFrom", [fromAddress, toAddress, 46]),
};

const transfer2 = {
	to: contractAddress,
	value: 0,
	data: erc721Contract.interface.encodeFunctionData("transferFrom", [fromAddress, toAddress, 47]),
};

const transactionArray = [transfer1, transfer2];
const res = await bastionConnect.executeBatch(transactionArray);
PreviousUsing ERC-20 tokens to pay gasNextGet Account Addresses

Last updated 1 year ago