From d37ed63dc7c1906a6313630c394f17879a543d7b Mon Sep 17 00:00:00 2001 From: "Miquel A. Cabot" Date: Thu, 9 Jun 2022 11:01:50 +0200 Subject: [PATCH] add getContract() to SmartContract class --- src/contracts/SmartContract.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/contracts/SmartContract.ts b/src/contracts/SmartContract.ts index 3dd0cf41..08272870 100644 --- a/src/contracts/SmartContract.ts +++ b/src/contracts/SmartContract.ts @@ -1,7 +1,13 @@ import Web3 from 'web3' +import { Contract } from 'web3-eth-contract' import { AbiItem } from 'web3-utils' import { Config, ConfigHelper } from '../config' -import { amountToUnits, getFairGasPrice, unitsToAmount } from '../utils' +import { + amountToUnits, + getFairGasPrice, + setContractDefaults, + unitsToAmount +} from '../utils' export abstract class SmartContract { public web3: Web3 @@ -47,4 +53,11 @@ export abstract class SmartContract { async getFairGasPrice(): Promise { return getFairGasPrice(this.web3, this.config) } + + getContract(address: string, account?: string): Contract { + const contract = new this.web3.eth.Contract(this.abi, address, { + from: account + }) + return setContractDefaults(contract, this.config) + } }