ABI's from contract/out files

This commit is contained in:
Tim
2024-07-03 16:12:21 -04:00
parent 930ba86ef3
commit 7868195d5c
5 changed files with 45 additions and 83 deletions

25
contract.js Normal file
View File

@@ -0,0 +1,25 @@
import {AbiFileCache} from "../web/src/common.js"
import {ethers} from "ethers";
const ABI_BASE_URL = '../contract/out/'
const abiCache = new AbiFileCache(ABI_BASE_URL)
export async function getAbi(className) {
return await abiCache.get(className)
}
export async function newContract(addr, name, provider) {
const abi = await getAbi(name);
return new ethers.Contract(addr, abi, provider)
}
export async function mockERC20Contract(addr, provider) {
return await newContract(addr, 'MockERC20', provider)
}
export async function erc20Contract(addr, provider) {
return await newContract(addr, 'IERC20Metadata', provider)
}