Files
bls-wallet/aggregator-proxy
2023-02-03 14:53:56 +00:00
..
2022-05-05 04:54:34 +00:00
2022-12-02 10:58:09 +00:00
2022-05-03 04:55:34 +00:00
2022-05-05 05:02:43 +00:00
2023-02-03 14:53:56 +00:00
2022-05-05 05:02:43 +00:00

Aggregator Proxy

npm version

This package makes it easy to provide an aggregator by proxying another. The primary use-case is to expose a free aggregator based on one that requires payment by augmenting the bundles with transactions that pay tx.origin.

Setup

npm install bls-wallet-aggregator-proxy
yarn install bls-wallet-aggregator-proxy

Usage

import {
  runAggregatorProxy,

  // AggregatorProxyCallback,
  // ^ Alternatively, for manual control, import AggregatorProxyCallback to
  // just generate the req,res callback for use with http.createServer
} from 'bls-wallet-aggregator-proxy';

runAggregatorProxy(
  'https://arbitrum-goerli.blswallet.org',
  async bundle => {
    console.log('proxying bundle', JSON.stringify(bundle, null, 2));

    // Return a different/augmented bundle to send to the upstream aggregator
    return bundle;
  },
  8080,
  '0.0.0.0',
  () => {
    console.log('Proxying aggregator on port 8080');
  },
);

Instant wallet example without dapp-sponsored transaction

Instant wallet without dapp-sponsored transactions

Instant wallet example with dapp-sponsored transaction

Instant wallet with dapp-sponsored transaction

Example dApp using a proxy aggregator