@projectsophon/network
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

@projectsophon/network

This package contains functions and classes useful for communicating with the blockchain.

Installation

You can install this package using npm or yarn by running:

npm install --save @projectsophon/network
yarn add @projectsophon/network

When using this in a plugin, you might want to load it with skypack

import * as network from 'http://cdn.skypack.dev/@projectsophon/network'

Table of contents

Classes

Interfaces

Type Aliases

Functions

Type Aliases

AfterTransaction

Ƭ AfterTransaction: (transactionRequest: Transaction, performanceMetrics: unknown) => Promise<void>

Type declaration

▸ (transactionRequest, performanceMetrics): Promise<void>

TxExecutor calls this after executing a transaction.

Parameters
Name Type
transactionRequest Transaction
performanceMetrics unknown
Returns

Promise<void>


BeforeQueued

Ƭ BeforeQueued: (id: TransactionId, intent: TxIntent, overrides?: providers.TransactionRequest) => Promise<void>

Type declaration

▸ (id, intent, overrides?): Promise<void>

TxExecutor calls this before queueing a function to determine whether or not that function should be queued. If this function rejects, a transaction is not queued.

Parameters
Name Type
id TransactionId
intent TxIntent
overrides? providers.TransactionRequest
Returns

Promise<void>


BeforeTransaction

Ƭ BeforeTransaction: (transactionRequest: Transaction) => Promise<void>

Type declaration

▸ (transactionRequest): Promise<void>

TxExecutor calls this before executing a function to determine whether or not that function should execute. If this function rejects, the transaction is cancelled.

Parameters
Name Type
transactionRequest Transaction
Returns

Promise<void>


ContractLoader

Ƭ ContractLoader<C>: (address: string, provider: providers.JsonRpcProvider, signer: Wallet | undefined) => Promise<C>

Type parameters

Name Type
C extends BaseContract

Type declaration

▸ (address, provider, signer): Promise<C>

Parameters
Name Type
address string
provider providers.JsonRpcProvider
signer Wallet | undefined
Returns

Promise<C>


GasPriceSettingProvider

Ƭ GasPriceSettingProvider: (transactionRequest: Transaction) => AutoGasSetting | string

Type declaration

▸ (transactionRequest): AutoGasSetting | string

Returns either a string that represents the gas price we should use by default for transactions, or a string that represents the fact that we should be using one of the automatic gas prices.

Parameters
Name Type
transactionRequest Transaction
Returns

AutoGasSetting | string


RetryErrorHandler

Ƭ RetryErrorHandler: (i: number, e: Error) => void

Type declaration

▸ (i, e): void

Parameters
Name Type
i number
e Error
Returns

void

Functions

aggregateBulkGetter

aggregateBulkGetter<T>(total, querySize, getterFn, onProgress?, offset?): Promise<T[]>

A useful utility function that breaks up the proverbial number line (defined by {@code total} and {@code querySize}), and calls {@code getterFn} for each of the sections on the number line.

Type parameters

Name
T

Parameters

Name Type Default value Description
total number undefined the total amount of of items to get
querySize number undefined the chunk size
getterFn (startIdx: number, endIdx: number) => Promise<T[]> undefined a function that fetches something, given a start index and end index
onProgress? (fractionCompleted: number) => void undefined whenever a chunk is loaded, this function is called with the fraction of individual items that have been loaded so far.
offset number 0 the index to start fetching, can be used to skip previously fetched elements.

Returns

Promise<T[]>

a list of each of the individual items that were loaded.


assertProperlySigned

assertProperlySigned(message): void

Ensures that the given message was properly signed.

Parameters

Name Type
message SignedMessage<unknown>

Returns

void


callWithRetry

callWithRetry<T>(fn, args?, onError?, maxRetries?, retryInterval?): Promise<T>

Calls the given function, retrying it if there is an error.

Todo

Get rid of this, and make use of ContractCaller.

Type parameters

Name
T

Parameters

Name Type Default value
fn (...args: any[]) => Promise<T> undefined
args any[] []
onError? RetryErrorHandler undefined
maxRetries 12 DEFAULT_MAX_CALL_RETRIES
retryInterval number 1000

Returns

Promise<T>


createContract

createContract<C>(contractAddress, contractABI, provider, signer?): C

Type parameters

Name Type
C extends Contract<C>

Parameters

Name Type Description
contractAddress string the address of the contract you want to connect to
contractABI ContractInterface a javacript object representing the ABI
provider JsonRpcProvider -
signer? Wallet -

Returns

C


ethToWei

ethToWei(eth): BigNumber

Returns the given amount of eth in wei as a big integer.

Parameters

Name Type
eth number

Returns

BigNumber


getAutoGasPrices

getAutoGasPrices(): Promise<GasPrices>

Gets the current gas prices from xDai's price oracle. If the oracle is broken, return some sane defaults.

Returns

Promise<GasPrices>


getGasSettingGwei

getGasSettingGwei(setting, gasPrices): number | undefined

Given the user's auto gas setting, and the current set of gas prices on the network, returns the preferred gas price. If an invalid AutoGasSetting is provided, then returns undefined.

Parameters

Name Type
setting AutoGasSetting
gasPrices GasPrices

Returns

number | undefined


gweiToWei

gweiToWei(gwei): BigNumber

Returns the given amount of gwei in wei as a big integer.

Parameters

Name Type
gwei number

Returns

BigNumber


isPurchase

isPurchase(tx?): boolean

Whether or not some value is being transferred in this transaction.

Parameters

Name Type
tx? TransactionRequest

Returns

boolean


neverResolves

neverResolves(): Promise<void>

A function that just never resolves.s

Returns

Promise<void>


verifySignature

verifySignature(message, signature, addr): boolean

Returns whether or not the given message was signed by the given address.

Parameters

Name Type
message string
signature string
addr undefined | EthAddress

Returns

boolean


waitForTransaction

waitForTransaction(provider, txHash): Promise<providers.TransactionReceipt>

Given a transaction hash and a JsonRpcProvider, waits for the given transaction to complete.

Parameters

Name Type
provider JsonRpcProvider
txHash string

Returns

Promise<providers.TransactionReceipt>


weiToEth

weiToEth(wei): number

Returns the given amount of wei in gwei as a number.

Parameters

Name Type
wei BigNumber

Returns

number


weiToGwei

weiToGwei(wei): number

Returns the given amount of wei in gwei as a number.

Parameters

Name Type
wei BigNumber

Returns

number

Readme

Keywords

none

Package Sidebar

Install

npm i @projectsophon/network

Weekly Downloads

0

Version

0.1.3

License

MIT

Unpacked Size

146 kB

Total Files

39

Last publish

Collaborators

  • phated
  • sophonbot