1.0.0 • Published 5 months ago

payard-vault-sdk v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

Payard Vault SDK

A TypeScript SDK for interacting with Payard Vault and Receiver contracts.

Installation

npm install payard-vault-sdk

Usage

import { Vault, Receiver } from 'payard-vault-sdk';
import { ethers } from 'ethers';

// Initialize the SDK
const provider = new ethers.JsonRpcProvider('YOUR_RPC_URL');
const signer = new ethers.Wallet('YOUR_PRIVATE_KEY', provider);
const vault = new Vault('VAULT_CONTRACT_ADDRESS', signer);
const receiver = new Receiver('RECEIVER_CONTRACT_ADDRESS', signer);

// Example usage
async function example() {
  // Get vault information
  const operator = await vault.getOperator();
  const limits = await vault.getTransferLimits('TOKEN_ADDRESS');

  // Create a receiver
  const salt = ethers.keccak256(ethers.toUtf8Bytes('unique-salt'));
  await vault.createReceiver(salt);

  // Execute an automated transfer
  const deadline = Math.floor(Date.now() / 1000) + 3600; // 1 hour from now
  const signature = await vault.signAutomatedTransfer(
    'TOKEN_ADDRESS',
    'RECIPIENT_ADDRESS',
    ethers.parseEther('1.0'),
    deadline
  );

  await vault.executeAutomatedTransfer({
    token: 'TOKEN_ADDRESS',
    to: 'RECIPIENT_ADDRESS',
    amount: ethers.parseEther('1.0'),
    deadline,
    signature
  });

  // Get balances
  const nativeBalance = await vault.getBalance();
  const tokenBalance = await vault.getBalance('TOKEN_ADDRESS');
}

Features

  • Full TypeScript support
  • Comprehensive contract interaction methods
  • Built-in helper functions
  • Support for both ERC20 and native token operations
  • Automated transfer signing and execution
  • Receiver contract management

License

MIT

1.0.0

5 months ago