UNPKG

@concrete-xyz/sdk

Version:

Concrete SDK for interacting with vault contracts

33 lines (23 loc) 1.05 kB
import { ethers } from "ethers"; import { getVault } from "../dist/sdk/index.mjs"; const mainnetRpcUrl = "https://ethereum-rpc.publicnode.com"; const mainnetProvider = new ethers.JsonRpcProvider(mainnetRpcUrl); const randomWallet = ethers.Wallet.createRandom(); const testSigner = randomWallet.connect(mainnetProvider); console.log("Test signer address:", testSigner.address); const vault = getVault("0x15cE9bE6609db102b70D68ca75a39c555bEa5Fac", "Ethereum", mainnetProvider, testSigner) const input = BigInt(1 * 10 ** 18); const conversion = await vault.previewConversion(input) const data = await vault.getVaultDetails(); console.log(`From ${await vault.toUnderlyingDecimals(input)} ${data.underlying.symbol}`) console.log(`To ${await vault.toUnderlyingDecimals(conversion.vaultTokensReciving)} ${data.vaultAsset.symbol}`) { const tx = await vault.approve(vault.getAddress(), input) const receipt = await tx.wait() console.log(receipt) } { const tx = await vault.deposit(input) const receipt = await tx.wait() console.log(receipt) }