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
.
npm install bls-wallet-aggregator-proxy
yarn install bls-wallet-aggregator-proxy
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-testnet.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');
},
);