Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dist/web3data.min.js

Large diffs are not rendered by default.

23 changes: 22 additions & 1 deletion src/web3data.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,16 @@ const {
BLOCKCHAIN_ID_HEADER,
DEFAULT_BASE_URL,
DEFAULT_RPC_URL,
ERROR_RPC_NO_METHOD
ERROR_RPC_NO_METHOD,
BLOCKCHAIN_ID_ETHEREUM_MAINNET,
BLOCKCHAIN_ID_ETHEREUM_RINKEBY,
BLOCKCHAIN_ID_BITCOIN,
BLOCKCHAIN_ID_BITCOIN_CASH,
BLOCKCHAIN_ID_BITCOIN_SV,
BLOCKCHAIN_ID_LITECOIN,
BLOCKCHAIN_ID_RIPPLE,
BLOCKCHAIN_ID_ZCASH,
BLOCKCHAIN_ID_STELLAR
} = require('./constants')
const {is, throwIf, formatJsonRpc} = require('./utils')
const Address = require('./address')
Expand Down Expand Up @@ -181,4 +190,16 @@ class Web3Data extends Web3DataFactory {
}
}

Object.assign(Web3Data, {
BLOCKCHAIN_ID_ETHEREUM_MAINNET,
BLOCKCHAIN_ID_ETHEREUM_RINKEBY,
BLOCKCHAIN_ID_BITCOIN,
BLOCKCHAIN_ID_BITCOIN_CASH,
BLOCKCHAIN_ID_BITCOIN_SV,
BLOCKCHAIN_ID_LITECOIN,
BLOCKCHAIN_ID_RIPPLE,
BLOCKCHAIN_ID_ZCASH,
BLOCKCHAIN_ID_STELLAR
})

module.exports = Web3Data
27 changes: 26 additions & 1 deletion test/web3data.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
import Web3Data from '../src/web3data'
import test from 'ava'
import {API_KEY_HEADER, DEFAULT_BASE_URL, BLOCKCHAIN_ID_HEADER} from "../src/constants";
import {
API_KEY_HEADER,
DEFAULT_BASE_URL,
BLOCKCHAIN_ID_HEADER,
BLOCKCHAIN_ID_ETHEREUM_MAINNET,
BLOCKCHAIN_ID_ETHEREUM_RINKEBY,
BLOCKCHAIN_ID_BITCOIN,
BLOCKCHAIN_ID_BITCOIN_CASH,
BLOCKCHAIN_ID_BITCOIN_SV,
BLOCKCHAIN_ID_LITECOIN,
BLOCKCHAIN_ID_RIPPLE,
BLOCKCHAIN_ID_ZCASH,
BLOCKCHAIN_ID_STELLAR
} from "../src/constants";

import {
TOKEN_ADDRESS,
Expand Down Expand Up @@ -53,6 +66,18 @@ test('web3data should accept a blockchain id & add to headers', t => {
t.is(web3data.headers[BLOCKCHAIN_ID_HEADER], BLOCKCHAIN_ID)
});

test('Web3data exposes blockchain id constants as public class properties', t => {
t.is(Web3Data.BLOCKCHAIN_ID_ETHEREUM_MAINNET, BLOCKCHAIN_ID_ETHEREUM_MAINNET)
t.is(Web3Data.BLOCKCHAIN_ID_ETHEREUM_RINKEBY, BLOCKCHAIN_ID_ETHEREUM_RINKEBY)
t.is(Web3Data.BLOCKCHAIN_ID_BITCOIN, BLOCKCHAIN_ID_BITCOIN)
t.is(Web3Data.BLOCKCHAIN_ID_BITCOIN_CASH, BLOCKCHAIN_ID_BITCOIN_CASH)
t.is(Web3Data.BLOCKCHAIN_ID_BITCOIN_SV, BLOCKCHAIN_ID_BITCOIN_SV)
t.is(Web3Data.BLOCKCHAIN_ID_LITECOIN, BLOCKCHAIN_ID_LITECOIN)
t.is(Web3Data.BLOCKCHAIN_ID_RIPPLE, BLOCKCHAIN_ID_RIPPLE)
t.is(Web3Data.BLOCKCHAIN_ID_ZCASH, BLOCKCHAIN_ID_ZCASH)
t.is(Web3Data.BLOCKCHAIN_ID_STELLAR, BLOCKCHAIN_ID_STELLAR)
});

test('Web3data rawQuery accepts url and returns valid response', async t => {
let response = await t.context.web3data.rawQuery('/addresses');
t.is(response.status, 200)
Expand Down