ABI's from contract/out files
This commit is contained in:
25
contract.js
Normal file
25
contract.js
Normal 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)
|
||||
}
|
||||
Reference in New Issue
Block a user