SDK integration
Installation
npm i aa-conla-sdkLowLevel API
BaseWalletAPI
SimpleAccountAPI
High-Level Provider API
Last updated
npm i aa-conla-sdkLast updated
Conla bundler
Entry point address: 0x3bFc49341Aae93e30F6e2BE5a7Fa371cEbd5bea4
Bundler rpc url: https://aa-bundler.conla.com/rpcowner = provider.getSigner()
const dest = ethers.Wallet.createRandom()
const paymasterAPI = new PaymasterAPI(entryPointAddress, bundlerUrl)
const accountAPI = new SimpleAccountAPI({
provider: provider,
entryPointAddress: entryPointAddress,
owner: owner,
factoryAddress: factoryAddress,
paymasterAPI: paymasterAPI,
})
const gasPrice = await provider.getGasPrice()
const value = parseEther('0.1')
const op = await accountAPI.createSignedUserOp({
target: dest.address,
data: "0x",
value: value,
maxFeePerGas: gasPrice,
maxPriorityFeePerGas: gasPrice,
})
const packeUserOp = await packUserOp(op)
const tx = await accountAPI.sendHandlerOps([packeUserOp])
console.log("tx hash: ", tx.hash)import { wrapProvider } from 'aa-conla-sdk'
//use this account as wallet-owner (which will be used to sign the requests)
const aaSigner = provider.getSigner()
const paymasterAPI = new PaymasterAPI(entryPointAddress, bundlerUrl)
const config = {
chainId: await provider.getNetwork().then(net => net.chainId),
entryPointAddress,
bundlerUrl: 'bundlerUrl',
paymasterAPI
}
const aaProvider = await wrapProvider(provider, config, aaSigner)
const walletAddress = await aaProvider.getSigner().getAddress()
// send some eth to the wallet Address: wallet should have some balance to pay for its own creation, and for calling methods.
const myContract = new Contract(abi, aaProvider)
// this method will get called from the wallet address, through account-abstraction EntryPoint
await myContract.someMethod()