feat(@wallet): add pokt network + fallbark

This commit is contained in:
Anthony Laibe 2023-02-17 13:21:46 +01:00 committed by Anthony Laibe
parent 2accc52b15
commit 7d9a6f5a71
16 changed files with 64 additions and 29 deletions

View File

@ -316,12 +316,20 @@ $(QM_BINARIES): $(TS_SOURCES) | check-qt-dir
compile-translations: $(QM_BINARIES) compile-translations: $(QM_BINARIES)
# default token is a free-tier token with limited capabilities and usage
# limits; our docs should include directions for community contributor to setup
# their own Pokt account and token instead of relying on this default token
# during development
DEFAULT_POKT_TOKEN := 849214fd2f85acead08f5184
POKT_TOKEN ?= $(DEFAULT_POKT_TOKEN)
NIM_PARAMS += -d:POKT_TOKEN:"$(POKT_TOKEN)"
# default token is a free-tier token with limited capabilities and usage # default token is a free-tier token with limited capabilities and usage
# limits; our docs should include directions for community contributor to setup # limits; our docs should include directions for community contributor to setup
# their own Infura account and token instead of relying on this default token # their own Infura account and token instead of relying on this default token
# during development # during development
DEFAULT_TOKEN := 220a1abb4b6943a093c35d0ce4fb0732 DEFAULT_INFURA_TOKEN := 220a1abb4b6943a093c35d0ce4fb0732
INFURA_TOKEN ?= $(DEFAULT_TOKEN) INFURA_TOKEN ?= $(DEFAULT_INFURA_TOKEN)
NIM_PARAMS += -d:INFURA_TOKEN:"$(INFURA_TOKEN)" NIM_PARAMS += -d:INFURA_TOKEN:"$(INFURA_TOKEN)"
DEFAULT_OPENSEA_API_KEY := "" DEFAULT_OPENSEA_API_KEY := ""

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
pipeline { pipeline {
agent { label 'linux' } agent { label 'linux' }

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.6.3' library 'status-jenkins-lib@v1.6.8'
/* Options section can't access functions in objects. */ /* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild() def isPRBuild = utils.isPRBuild()

View File

@ -1,6 +1,17 @@
import json, os, chronicles, strutils import json, os, chronicles, strutils
import ../../constants as main_constants import ../../constants as main_constants
# set via `nim c` param `-d:POKT_TOKEN:[token]`; should be set in CI/release builds
const POKT_TOKEN {.strdefine.} = ""
# allow runtime override via environment variable; core contributors can set a
# release token in this way for local development
let POKT_TOKEN_ENV = $getEnv("POKT_TOKEN")
let POKT_TOKEN_RESOLVED =
if POKT_TOKEN_ENV != "":
POKT_TOKEN_ENV
else:
POKT_TOKEN
# set via `nim c` param `-d:INFURA_TOKEN:[token]`; should be set in CI/release builds # set via `nim c` param `-d:INFURA_TOKEN:[token]`; should be set in CI/release builds
const INFURA_TOKEN {.strdefine.} = "" const INFURA_TOKEN {.strdefine.} = ""
# allow runtime override via environment variable; core contributors can set a # allow runtime override via environment variable; core contributors can set a
@ -43,7 +54,8 @@ var NETWORKS* = %* [
{ {
"chainId": 1, "chainId": 1,
"chainName": "Ethereum Mainnet", "chainName": "Ethereum Mainnet",
"rpcUrl": "https://mainnet.infura.io/v3/" & INFURA_TOKEN_RESOLVED, "rpcUrl": "https://eth-mainnet.gateway.pokt.network/v1/lb/" & POKT_TOKEN_RESOLVED,
"fallbackUrl": "https://mainnet.infura.io/v3/" & INFURA_TOKEN_RESOLVED,
"blockExplorerUrl": "https://etherscan.io/", "blockExplorerUrl": "https://etherscan.io/",
"iconUrl": "network/Network=Ethereum", "iconUrl": "network/Network=Ethereum",
"chainColor": "#627EEA", "chainColor": "#627EEA",
@ -56,24 +68,26 @@ var NETWORKS* = %* [
"enabled": true, "enabled": true,
}, },
{ {
"chainId": 5, "chainId": 5,
"chainName": "Goerli", "chainName": "Goerli",
"rpcUrl": "https://goerli.infura.io/v3/" & INFURA_TOKEN_RESOLVED, "rpcUrl": "https://eth-goerli.gateway.pokt.network/v1/lb/" & POKT_TOKEN_RESOLVED,
"blockExplorerUrl": "https://goerli.etherscan.io/", "fallbackUrl": "https://goerli.infura.io/v3/" & INFURA_TOKEN_RESOLVED,
"iconUrl": "network/Network=Testnet", "blockExplorerUrl": "https://goerli.etherscan.io/",
"chainColor": "#939BA1", "iconUrl": "network/Network=Testnet",
"shortName": "goEth", "chainColor": "#939BA1",
"nativeCurrencyName": "Ether", "shortName": "goEth",
"nativeCurrencySymbol": "ETH", "nativeCurrencyName": "Ether",
"nativeCurrencyDecimals": 18, "nativeCurrencySymbol": "ETH",
"isTest": true, "nativeCurrencyDecimals": 18,
"layer": 1, "isTest": true,
"enabled": true, "layer": 1,
"enabled": true,
}, },
{ {
"chainId": 10, "chainId": 10,
"chainName": "Optimism", "chainName": "Optimism",
"rpcUrl": "https://optimism-mainnet.infura.io/v3/" & INFURA_TOKEN_RESOLVED, "rpcUrl": "https://optimism-mainnet.gateway.pokt.network/v1/lb/" & POKT_TOKEN_RESOLVED,
"fallbackUrl": "https://optimism-mainnet.infura.io/v3/" & INFURA_TOKEN_RESOLVED,
"blockExplorerUrl": "https://optimistic.etherscan.io", "blockExplorerUrl": "https://optimistic.etherscan.io",
"iconUrl": "network/Network=Optimism", "iconUrl": "network/Network=Optimism",
"chainColor": "#E90101", "chainColor": "#E90101",
@ -89,6 +103,7 @@ var NETWORKS* = %* [
"chainId": 420, "chainId": 420,
"chainName": "Optimism Goerli Testnet", "chainName": "Optimism Goerli Testnet",
"rpcUrl": "https://optimism-goerli.infura.io/v3/" & INFURA_TOKEN_RESOLVED, "rpcUrl": "https://optimism-goerli.infura.io/v3/" & INFURA_TOKEN_RESOLVED,
"fallbackUrl": "",
"blockExplorerUrl": "https://goerli-optimism.etherscan.io/", "blockExplorerUrl": "https://goerli-optimism.etherscan.io/",
"iconUrl": "network/Network=Testnet", "iconUrl": "network/Network=Testnet",
"chainColor": "#939BA1", "chainColor": "#939BA1",
@ -103,7 +118,8 @@ var NETWORKS* = %* [
{ {
"chainId": 42161, "chainId": 42161,
"chainName": "Arbitrum", "chainName": "Arbitrum",
"rpcUrl": "https://arbitrum-mainnet.infura.io/v3/" & INFURA_TOKEN_RESOLVED, "rpcUrl": "https://arbitrum-one.gateway.pokt.network/v1/lb/" & POKT_TOKEN_RESOLVED,
"fallbackUrl": "https://arbitrum-mainnet.infura.io/v3/" & INFURA_TOKEN_RESOLVED,
"blockExplorerUrl": "https://arbiscan.io/", "blockExplorerUrl": "https://arbiscan.io/",
"iconUrl": "network/Network=Arbitrum", "iconUrl": "network/Network=Arbitrum",
"chainColor": "#51D0F0", "chainColor": "#51D0F0",
@ -119,6 +135,7 @@ var NETWORKS* = %* [
"chainId": 421613, "chainId": 421613,
"chainName": "Arbitrum Goerli", "chainName": "Arbitrum Goerli",
"rpcUrl": "https://arbitrum-goerli.infura.io/v3/" & INFURA_TOKEN_RESOLVED, "rpcUrl": "https://arbitrum-goerli.infura.io/v3/" & INFURA_TOKEN_RESOLVED,
"fallbackUrl": "",
"blockExplorerUrl": "https://goerli.arbiscan.io/", "blockExplorerUrl": "https://goerli.arbiscan.io/",
"iconUrl": "network/Network=Testnet", "iconUrl": "network/Network=Testnet",
"chainColor": "#939BA1", "chainColor": "#939BA1",
@ -138,6 +155,7 @@ if GANACHE_NETWORK_RPC_URL != "":
"chainId": 1, "chainId": 1,
"chainName": "Ethereum Mainnet", "chainName": "Ethereum Mainnet",
"rpcUrl": GANACHE_NETWORK_RPC_URL, "rpcUrl": GANACHE_NETWORK_RPC_URL,
"fallbackUrl": GANACHE_NETWORK_RPC_URL,
"blockExplorerUrl": "https://etherscan.io/", "blockExplorerUrl": "https://etherscan.io/",
"iconUrl": "network/Network=Ethereum", "iconUrl": "network/Network=Ethereum",
"chainColor": "#627EEA", "chainColor": "#627EEA",
@ -159,6 +177,7 @@ if GANACHE_NETWORK_RPC_URL != "":
"chainId": 5, "chainId": 5,
"chainName": "Goerli", "chainName": "Goerli",
"rpcUrl": GANACHE_NETWORK_RPC_URL, "rpcUrl": GANACHE_NETWORK_RPC_URL,
"fallbackUrl": GANACHE_NETWORK_RPC_URL,
"blockExplorerUrl": "https://goerli.etherscan.io/", "blockExplorerUrl": "https://goerli.etherscan.io/",
"iconUrl": "network/Network=Testnet", "iconUrl": "network/Network=Testnet",
"chainColor": "#939BA1", "chainColor": "#939BA1",
@ -180,6 +199,7 @@ if GANACHE_NETWORK_RPC_URL != "":
"chainId": 10, "chainId": 10,
"chainName": "Optimism", "chainName": "Optimism",
"rpcUrl": GANACHE_NETWORK_RPC_URL, "rpcUrl": GANACHE_NETWORK_RPC_URL,
"fallbackUrl": GANACHE_NETWORK_RPC_URL,
"blockExplorerUrl": "https://optimistic.etherscan.io", "blockExplorerUrl": "https://optimistic.etherscan.io",
"iconUrl": "network/Network=Optimism", "iconUrl": "network/Network=Optimism",
"chainColor": "#E90101", "chainColor": "#E90101",
@ -195,6 +215,7 @@ if GANACHE_NETWORK_RPC_URL != "":
"chainId": 420, "chainId": 420,
"chainName": "Optimism Goerli Testnet", "chainName": "Optimism Goerli Testnet",
"rpcUrl": GANACHE_NETWORK_RPC_URL, "rpcUrl": GANACHE_NETWORK_RPC_URL,
"fallbackUrl": GANACHE_NETWORK_RPC_URL,
"blockExplorerUrl": "https://goerli-optimism.etherscan.io/", "blockExplorerUrl": "https://goerli-optimism.etherscan.io/",
"iconUrl": "network/Network=Testnet", "iconUrl": "network/Network=Testnet",
"chainColor": "#939BA1", "chainColor": "#939BA1",
@ -210,6 +231,7 @@ if GANACHE_NETWORK_RPC_URL != "":
"chainId": 42161, "chainId": 42161,
"chainName": "Arbitrum", "chainName": "Arbitrum",
"rpcUrl": GANACHE_NETWORK_RPC_URL, "rpcUrl": GANACHE_NETWORK_RPC_URL,
"fallbackUrl": GANACHE_NETWORK_RPC_URL,
"blockExplorerUrl": "https://arbiscan.io/", "blockExplorerUrl": "https://arbiscan.io/",
"iconUrl": "network/Network=Arbitrum", "iconUrl": "network/Network=Arbitrum",
"chainColor": "#51D0F0", "chainColor": "#51D0F0",
@ -225,6 +247,7 @@ if GANACHE_NETWORK_RPC_URL != "":
"chainId": 421613, "chainId": 421613,
"chainName": "Arbitrum Goerli", "chainName": "Arbitrum Goerli",
"rpcUrl": GANACHE_NETWORK_RPC_URL, "rpcUrl": GANACHE_NETWORK_RPC_URL,
"fallbackUrl": GANACHE_NETWORK_RPC_URL,
"blockExplorerUrl": "https://goerli.arbiscan.io/", "blockExplorerUrl": "https://goerli.arbiscan.io/",
"iconUrl": "network/Network=Testnet", "iconUrl": "network/Network=Testnet",
"chainColor": "#939BA1", "chainColor": "#939BA1",

View File

@ -9,6 +9,7 @@ type NetworkDto* = ref object
layer* {.serializedFieldName("layer").}: int layer* {.serializedFieldName("layer").}: int
chainName* {.serializedFieldName("chainName").}: string chainName* {.serializedFieldName("chainName").}: string
rpcURL* {.serializedFieldName("rpcUrl").}: string rpcURL* {.serializedFieldName("rpcUrl").}: string
fallbackURL* {.serializedFieldName("fallbackUrl").}: string
blockExplorerURL* {.serializedFieldName("blockExplorerUrl").}: string blockExplorerURL* {.serializedFieldName("blockExplorerUrl").}: string
iconURL* {.serializedFieldName("iconUrl").}: string iconURL* {.serializedFieldName("iconUrl").}: string
nativeCurrencyName* {.serializedFieldName("nativeCurrencyName").}: string nativeCurrencyName* {.serializedFieldName("nativeCurrencyName").}: string
@ -26,6 +27,7 @@ proc `$`*(self: NetworkDto): string =
chainName:{self.chainName}, chainName:{self.chainName},
name:{self.chainName}, name:{self.chainName},
rpcURL:{self.rpcURL}, rpcURL:{self.rpcURL},
fallbackURL:{self.rpcURL},
blockExplorerURL:{self.blockExplorerURL}, blockExplorerURL:{self.blockExplorerURL},
iconURL:{self.iconURL}, iconURL:{self.iconURL},
nativeCurrencyName:{self.nativeCurrencyName}, nativeCurrencyName:{self.nativeCurrencyName},

View File

@ -62,6 +62,7 @@ proc upsertNetwork*(self: Service, network: NetworkDto) =
layer: network.layer, layer: network.layer,
chainName: network.chainName, chainName: network.chainName,
rpcURL: network.rpcURL, rpcURL: network.rpcURL,
fallbackURL: network.fallbackURL,
blockExplorerURL: network.blockExplorerURL, blockExplorerURL: network.blockExplorerURL,
iconURL: network.iconURL, iconURL: network.iconURL,
nativeCurrencyName: network.nativeCurrencyName, nativeCurrencyName: network.nativeCurrencyName,

View File

@ -36,6 +36,7 @@ type
layer* {.serializedFieldName("layer").}: int layer* {.serializedFieldName("layer").}: int
chainName* {.serializedFieldName("chainName").}: string chainName* {.serializedFieldName("chainName").}: string
rpcURL* {.serializedFieldName("rpcUrl").}: string rpcURL* {.serializedFieldName("rpcUrl").}: string
fallbackURL* {.serializedFieldName("fallbackUrl").}: string
blockExplorerURL* {.serializedFieldName("blockExplorerUrl").}: string blockExplorerURL* {.serializedFieldName("blockExplorerUrl").}: string
iconURL* {.serializedFieldName("iconUrl").}: string iconURL* {.serializedFieldName("iconUrl").}: string
nativeCurrencyName* {.serializedFieldName("nativeCurrencyName").}: string nativeCurrencyName* {.serializedFieldName("nativeCurrencyName").}: string

2
vendor/status-go vendored

@ -1 +1 @@
Subproject commit 2d16e7b8910f40070086f3966ce8f9eb55ee8223 Subproject commit 60e1978bb5917078830aab13e1f2e1b3da17e865