@river-build/sdk
Version:
For more details, visit the following resources:
39 lines • 1.31 kB
JavaScript
import { makeRiverConfig } from '../../riverConfig';
import { ethers } from 'ethers';
import { LocalhostWeb3Provider } from '@river-build/web3';
import { makeSignerContext } from '../../signerContext';
import { SyncAgent } from '../syncAgent';
export class Bot {
riverConfig;
rootWallet;
delegateWallet;
web3Provider;
constructor(rootWallet, riverConfig) {
this.riverConfig = riverConfig || makeRiverConfig();
this.rootWallet = rootWallet || ethers.Wallet.createRandom();
this.delegateWallet = ethers.Wallet.createRandom();
this.web3Provider = new LocalhostWeb3Provider(this.riverConfig.base.rpcUrl, this.rootWallet);
}
get userId() {
return this.rootWallet.address;
}
get signer() {
return this.web3Provider.signer;
}
async fundWallet() {
return this.web3Provider.fundWallet();
}
async makeSyncAgent(opts) {
const signerContext = await makeSignerContext(this.rootWallet, this.delegateWallet, {
days: 1,
});
const syncAgent = new SyncAgent({
context: signerContext,
riverConfig: this.riverConfig,
baseProvider: this.web3Provider,
...opts,
});
return syncAgent;
}
}
//# sourceMappingURL=bot.js.map