Skip to content

etherspot/etherspot-sdk

Repository files navigation

Etherspot SDK

Deprecation Notice (PLEASE READ)

Warning

This is the OLD version of the Etherspot SDK.

ERC4337 is the new standard for Account Abstraction on Ethereum. Any Account Abstraction development done on EVM based networks going forward should be done using this standard.

This SDK is pre 4337 and not being updated anymore.

Please refer to the links below and use Etherspot Prime going forward:


NPM version MIT licensed

Etherspot is a blockchain development framework for EVM-compatible chains that creates direct state channel bridges to provide a seamless user experience across chains and wallets.

With just one deposit you’re able to onboard your users to the entire multichain world.

Developers can use the Buidler and TransactionKit tools to easily include Etherspot features into their dapps.

For more powerful but complex uses, developers can dive deeper into the SDK and explore a number of custom use cases.

More information at etherspot.io

Resources

Installation

$ npm i ethers@^5.5.2 reflect-metadata@^0.1.13 rxjs@^6.6.2 -S
$ npm i etherspot -S
$ npm i ws -s # node.js only

Usage

import { Sdk, randomPrivateKey } from 'etherspot';

const PRIVATE_KEY = randomPrivateKey();

async function main() {
  const sdk = new Sdk(PRIVATE_KEY);

  sdk.notifications$.subscribe(notification => console.log('notification:', notification));
  
  await sdk.computeContractAccount();
  
  const { account } = sdk.state;
  
  console.log('contract account:', account);
  
  // top-up contract account (account.address)
  
  // add transaction to gateway batch
  await sdk.batchExecuteAccountTransaction({
    to: '0xEEb4801FBc9781EEF20801853C1Cb25faB8A7a3b',
    value: 100, // 100 wei
  });
  
  console.log('gateway batch estimation:', await sdk.estimateGatewayBatch());

  console.log('submitted gateway batch:', await sdk.submitGatewayBatch());
}

main().catch(console.error);

Notification of transactions

notification of transactions is not available for fuse

Transaction History on Klaytn

History of transactions would be incomplete only on Klaytn Network due to lack of resources for fetching the required data

License

MIT