Merge pull request #34 from poanetwork/vb-rsk-testnet-explorer

RSK Testnet explorer
This commit is contained in:
Victor Baranov 2020-03-23 14:35:07 +03:00 committed by GitHub
commit 94431f07e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 2 deletions

View File

@ -9,11 +9,13 @@ const {
POA_CORE_CODE, POA_CORE_CODE,
XDAI_CODE, XDAI_CODE,
RSK_CODE, RSK_CODE,
RSK_TESTNET_CODE,
CLASSIC_CODE, CLASSIC_CODE,
} = networkIDs } = networkIDs
const blockScoutLink = (net, prefix) => `https://blockscout.com/${net}/${prefix}` const blockScoutLink = (net, prefix) => `https://blockscout.com/${net}/${prefix}`
const etherscanLink = (prefix) => `https://${prefix}.etherscan.io` const etherscanLink = (prefix) => `https://${prefix}.etherscan.io`
const rskTestnetExplorerLink = 'https://explorer.testnet.rsk.co'
const explorerLink = (networkCode, net, prefix) => { const explorerLink = (networkCode, net, prefix) => {
switch (networkCode) { switch (networkCode) {
@ -24,6 +26,8 @@ const explorerLink = (networkCode, net, prefix) => {
case CLASSIC_CODE: // ETC mainnet case CLASSIC_CODE: // ETC mainnet
case RSK_CODE: // RSK mainnet case RSK_CODE: // RSK mainnet
return blockScoutLink(net, prefix) return blockScoutLink(net, prefix)
case RSK_TESTNET_CODE: // RSK testnet
return rskTestnetExplorerLink
case ROPSTEN_CODE: // ropsten testnet case ROPSTEN_CODE: // ropsten testnet
case RINKEBY_CODE: // rinkeby testnet case RINKEBY_CODE: // rinkeby testnet
case KOVAN_CODE: // kovan testnet case KOVAN_CODE: // kovan testnet
@ -37,6 +41,7 @@ const explorerLink = (networkCode, net, prefix) => {
const tokenLink = (networkCode, chain, prefix, tokenAddress, holderAddress) => { const tokenLink = (networkCode, chain, prefix, tokenAddress, holderAddress) => {
const blockscoutLinkStr = `${blockScoutLink(chain, prefix)}/address/${holderAddress}/tokens/${tokenAddress}/token_transfers` const blockscoutLinkStr = `${blockScoutLink(chain, prefix)}/address/${holderAddress}/tokens/${tokenAddress}/token_transfers`
const etherscanLinkStr = `${etherscanLink(prefix)}/token/${tokenAddress}?a=${holderAddress}` const etherscanLinkStr = `${etherscanLink(prefix)}/token/${tokenAddress}?a=${holderAddress}`
const rskTestnetExplorerLinkStr = `${rskTestnetExplorerLink}/address/${tokenAddress}`
switch (networkCode) { switch (networkCode) {
case MAINNET_CODE: // main net case MAINNET_CODE: // main net
case SOKOL_CODE: // POA Sokol testnet case SOKOL_CODE: // POA Sokol testnet
@ -45,6 +50,8 @@ const tokenLink = (networkCode, chain, prefix, tokenAddress, holderAddress) => {
case CLASSIC_CODE: // ETC mainnet case CLASSIC_CODE: // ETC mainnet
case RSK_CODE: // RSK mainnet case RSK_CODE: // RSK mainnet
return blockscoutLinkStr return blockscoutLinkStr
case RSK_TESTNET_CODE: // RSK testnet
return rskTestnetExplorerLinkStr
case ROPSTEN_CODE: // ropsten testnet case ROPSTEN_CODE: // ropsten testnet
case RINKEBY_CODE: // rinkeby testnet case RINKEBY_CODE: // rinkeby testnet
case KOVAN_CODE: // kovan testnet case KOVAN_CODE: // kovan testnet

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "eth-net-props", "name": "eth-net-props",
"version": "1.0.32", "version": "1.0.33",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "eth-net-props", "name": "eth-net-props",
"version": "1.0.32", "version": "1.0.33",
"description": "Get properties of EMV-based network", "description": "Get properties of EMV-based network",
"main": "index.js", "main": "index.js",
"directories": { "directories": {

View File

@ -35,6 +35,9 @@ describe('eth-net-props', () => {
it(`${claimPrefix} RSK`, () => { it(`${claimPrefix} RSK`, () => {
assert.equal(explorerLinks.getExplorerAccountLinkFor('0x70FDd102DDB03Dc55B1719E76DfeA784916621fd', 30), 'https://blockscout.com/rsk/mainnet/address/0x70FDd102DDB03Dc55B1719E76DfeA784916621fd') assert.equal(explorerLinks.getExplorerAccountLinkFor('0x70FDd102DDB03Dc55B1719E76DfeA784916621fd', 30), 'https://blockscout.com/rsk/mainnet/address/0x70FDd102DDB03Dc55B1719E76DfeA784916621fd')
}) })
it(`${claimPrefix} RSK Testnet`, () => {
assert.equal(explorerLinks.getExplorerAccountLinkFor('0x70FDd102DDB03Dc55B1719E76DfeA784916621fd', 31), 'https://explorer.testnet.rsk.co/address/0x70FDd102DDB03Dc55B1719E76DfeA784916621fd')
})
it(`${claimPrefix} Goerli Testnet`, () => { it(`${claimPrefix} Goerli Testnet`, () => {
assert.equal(explorerLinks.getExplorerAccountLinkFor('0xd8fe15886d2dcbc5d7c06394beb417aadaf1eee0', 5), 'https://goerli.etherscan.io/address/0xd8fe15886d2dcbc5d7c06394beb417aadaf1eee0') assert.equal(explorerLinks.getExplorerAccountLinkFor('0xd8fe15886d2dcbc5d7c06394beb417aadaf1eee0', 5), 'https://goerli.etherscan.io/address/0xd8fe15886d2dcbc5d7c06394beb417aadaf1eee0')
}) })
@ -71,6 +74,9 @@ describe('eth-net-props', () => {
it(`${claimPrefix} RSK`, () => { it(`${claimPrefix} RSK`, () => {
assert.equal(explorerLinks.getExplorerTxLinkFor('0x33a7511c7838f5be0ade40d732f0a51cd28c8a641de9079836170cbdac8e7d83', 30), 'https://blockscout.com/rsk/mainnet/tx/0x33a7511c7838f5be0ade40d732f0a51cd28c8a641de9079836170cbdac8e7d83') assert.equal(explorerLinks.getExplorerTxLinkFor('0x33a7511c7838f5be0ade40d732f0a51cd28c8a641de9079836170cbdac8e7d83', 30), 'https://blockscout.com/rsk/mainnet/tx/0x33a7511c7838f5be0ade40d732f0a51cd28c8a641de9079836170cbdac8e7d83')
}) })
it(`${claimPrefix} RSK Testnet`, () => {
assert.equal(explorerLinks.getExplorerTxLinkFor('0x33a7511c7838f5be0ade40d732f0a51cd28c8a641de9079836170cbdac8e7d83', 31), 'https://explorer.testnet.rsk.co/tx/0x33a7511c7838f5be0ade40d732f0a51cd28c8a641de9079836170cbdac8e7d83')
})
it(`${claimPrefix} Goerli Testnet`, () => { it(`${claimPrefix} Goerli Testnet`, () => {
assert.equal(explorerLinks.getExplorerTxLinkFor('0xb9599801c83e6aa20769e7dcdce0989c7380ba78cb587d3d7db11e1b30b17b54', 5), 'https://goerli.etherscan.io/tx/0xb9599801c83e6aa20769e7dcdce0989c7380ba78cb587d3d7db11e1b30b17b54') assert.equal(explorerLinks.getExplorerTxLinkFor('0xb9599801c83e6aa20769e7dcdce0989c7380ba78cb587d3d7db11e1b30b17b54', 5), 'https://goerli.etherscan.io/tx/0xb9599801c83e6aa20769e7dcdce0989c7380ba78cb587d3d7db11e1b30b17b54')
}) })
@ -104,6 +110,9 @@ describe('eth-net-props', () => {
it(`${claimPrefix} RSK`, () => { it(`${claimPrefix} RSK`, () => {
assert.equal(explorerLinks.getExplorerTokenLinkFor('0x16cb2604ce5951c8506fbf690d816be6d0aa00fb', '0x604056c0f88aed17ef975269aab1ae9d02840bb2', 30), 'https://blockscout.com/rsk/mainnet/address/0x604056c0f88aed17ef975269aab1ae9d02840bb2/tokens/0x16cb2604ce5951c8506fbf690d816be6d0aa00fb/token_transfers') assert.equal(explorerLinks.getExplorerTokenLinkFor('0x16cb2604ce5951c8506fbf690d816be6d0aa00fb', '0x604056c0f88aed17ef975269aab1ae9d02840bb2', 30), 'https://blockscout.com/rsk/mainnet/address/0x604056c0f88aed17ef975269aab1ae9d02840bb2/tokens/0x16cb2604ce5951c8506fbf690d816be6d0aa00fb/token_transfers')
}) })
it(`${claimPrefix} RSK Testnet`, () => {
assert.equal(explorerLinks.getExplorerTokenLinkFor('0x16cb2604ce5951c8506fbf690d816be6d0aa00fb', '0x604056c0f88aed17ef975269aab1ae9d02840bb2', 31), 'https://explorer.testnet.rsk.co/address/0x16cb2604ce5951c8506fbf690d816be6d0aa00fb')
})
it(`${claimPrefix} Goerli Testnet`, () => { it(`${claimPrefix} Goerli Testnet`, () => {
assert.equal(explorerLinks.getExplorerTokenLinkFor('0x7af963cf6d228e564e2a0aa0ddbf06210b38615d', '0x604056c0f88aed17ef975269aab1ae9d02840bb2', 5), 'https://goerli.etherscan.io/token/0x7af963cf6d228e564e2a0aa0ddbf06210b38615d?a=0x604056c0f88aed17ef975269aab1ae9d02840bb2') assert.equal(explorerLinks.getExplorerTokenLinkFor('0x7af963cf6d228e564e2a0aa0ddbf06210b38615d', '0x604056c0f88aed17ef975269aab1ae9d02840bb2', 5), 'https://goerli.etherscan.io/token/0x7af963cf6d228e564e2a0aa0ddbf06210b38615d?a=0x604056c0f88aed17ef975269aab1ae9d02840bb2')
}) })