@requestnetwork/currency
@requestnetwork/currency
is a typescript library part of the Request Network protocol.
It is a collection of tools for the currencies and chains shared between the @requestnetwork packages.
Installation
npm install @requestnetwork/currency
Usage
import { RequestLogicTypes } from '@requestnetwork/types';
import { Currency, Token } from '@requestnetwork/currency';
const decimals = new Currency({
type: RequestLogicTypes.CURRENCY.ETH,
value: 'ETH',
}).getDecimals();
console.log(decimals);
const ETHHash = new Currency({
type: RequestLogicTypes.CURRENCY.ETH,
value: 'ETH',
}).getHash();
console.log(ETHHash);
const ETHCurrency: RequestLogicTypes.ICurrency = Currency.from('ETH');
const FAUCurrency: RequestLogicTypes.ICurrency = Currency.from('DAI');
const DAICurrency: RequestLogicTypes.ICurrency = Currency.from(
'0x6B175474E89094C44Da98b954EedeAC495271d0F',
);
console.log(FAUCurrency.toString());
console.log(DAICurrency.toString());
const FAUToken = Token.from('0xFab46E002BbF0b4509813474841E0716E6730136');
console.log(FAUToken.symbol);
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Read the contributing guide
Adding a new chain
Supported chains are listed in src/chains
:
src/chains/btc/data
for BTC type chains
src/chains/evm/data
for EVM type chains
src/chains/near/data
for NEAR type chains
The chain names are subjective, but they are unique and uniform across all Request Network packages.
They are formatted with the kebab-case naming convention.
In order to add a new chain, first create a file [nameOfTheChain].ts
in the correct directory.
Its internal structure should conform with the corresponding type, respectively:
BtcChain
EvmChain
NearChain
These types are described in the index.ts
file of each chain subdirectory.
Please add the testnet: true
property for staging chains.
License
MIT