mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
creating interface for the dispenser contract
This commit is contained in:
parent
f2d2463d87
commit
413b17e668
45
src/dispenser/Dispenser.ts
Normal file
45
src/dispenser/Dispenser.ts
Normal file
@ -0,0 +1,45 @@
|
||||
import Web3 from 'web3'
|
||||
import { AbiItem } from 'web3-utils/types'
|
||||
|
||||
import defaultDispenserABI from '@oceanprotocol/contracts/artifacts/Dispenser.json'
|
||||
import defaultDatatokensABI from '@oceanprotocol/contracts/artifacts/DataTokenTemplate.json'
|
||||
import { Logger, getFairGasPrice } from '../utils'
|
||||
import wordListDefault from '../data/words.json'
|
||||
import { TransactionReceipt } from 'web3-core'
|
||||
import BigNumber from 'bignumber.js'
|
||||
import Decimal from 'decimal.js'
|
||||
|
||||
/**
|
||||
* Provides an interface to Dispenser
|
||||
*/
|
||||
export class Dispenser {
|
||||
public GASLIMIT_DEFAULT = 1000000
|
||||
public dispenserAddress: string
|
||||
public dispenserABI: AbiItem | AbiItem[]
|
||||
public datatokensABI: AbiItem | AbiItem[]
|
||||
public web3: Web3
|
||||
private logger: Logger
|
||||
public startBlock: number
|
||||
/**
|
||||
* Instantiate DataTokens (independently of Ocean).
|
||||
* @param {String} factoryAddress
|
||||
* @param {AbiItem | AbiItem[]} factoryABI
|
||||
* @param {AbiItem | AbiItem[]} datatokensABI
|
||||
* @param {Web3} web3
|
||||
*/
|
||||
constructor(
|
||||
dispenserAddress: string,
|
||||
dispenserABI: AbiItem | AbiItem[],
|
||||
datatokensABI: AbiItem | AbiItem[],
|
||||
web3: Web3,
|
||||
logger: Logger,
|
||||
startBlock?: number
|
||||
) {
|
||||
this.dispenserAddress = dispenserAddress
|
||||
this.dispenserABI = dispenserABI || (defaultDispenserABI.abi as AbiItem[])
|
||||
this.datatokensABI = datatokensABI || (defaultDatatokensABI.abi as AbiItem[])
|
||||
this.web3 = web3
|
||||
this.logger = logger
|
||||
this.startBlock = startBlock || 0
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user