0.3.1 • Published 5 months ago

@walletmesh/aztec v0.3.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
5 months ago

WalletMesh Aztec RPC Library

This package provides an implementation of a Wallet Provider and Service for Aztec.

It is built on top of the @walletmesh/jsonrpc library.

Features

  • Connect to Aztec wallet
  • Get account addresses
  • Send and simulate transactions
  • Register contacts and contracts
  • Type-safe RPC interfaces (see src/types.ts)

Installation

npm install @walletmesh/aztec

Usage

On the dApp (client) side

import { AztecProviderRPC } from '@walletmesh/aztec';
import type { FunctionAbi } from '@aztec/foundation/abi';

// Create provider that sends requests via postMessage
const provider = new AztecProviderRPC(request => {
    window.postMessage(JSON.stringify(request), '*');
});

// Handle responses from wallet
window.addEventListener('message', event => {
    const response = JSON.parse(event.data);
    provider.receiveResponse(response);
});

// Example: Connect and interact with a contract
async function interact() {
    // Connect to wallet
    await provider.connect();

    // Get user's account address
    const account = await provider.getAccount();

    // Send a transaction
    const txHash = await provider.sendTransaction(
        contractAddress,
        functionAbi,
        args
    );

    // Simulate a transaction
    const result = await provider.simulateTransaction(
        contractAddress, 
        functionAbi,
        args
    );
}

On the wallet (server) side

import { AztecWalletRPC } from '@walletmesh/aztec';
import type { Wallet } from '@aztec/aztec.js';

// Initialize with your Aztec wallet instance
const walletRPC = new AztecWalletRPC(
    wallet,
    response => {
        window.postMessage(JSON.stringify(response), '*');
    }
);

// Handle incoming requests
window.addEventListener('message', event => {
    const request = JSON.parse(event.data);
    walletRPC.receiveRequest(request);
});
0.3.1

5 months ago

0.3.0

5 months ago

0.2.0

5 months ago

0.1.1

5 months ago

0.1.0

6 months ago

0.0.8

7 months ago

0.0.7

7 months ago

0.0.5

7 months ago

0.0.4

7 months ago

0.0.6

7 months ago

0.0.3

7 months ago

0.0.2

7 months ago

0.0.1

7 months ago