From 71d5780006362d44d9c562294a348f47328f7d46 Mon Sep 17 00:00:00 2001 From: bludnic Date: Tue, 17 Oct 2023 00:15:21 +0100 Subject: [PATCH 01/13] chore(Tor, services): update config * feat(`src/config/*.json`): regenerated with Tor configuration * refactor: renamed `minApiVersion` -> minNodeVersion` * refactor: changed the structure of `src/config/*.json` --- adamant-wallets | 2 +- scripts/wallets.mjs | 76 ++++-- src/components/NodesTable/NodesTableItem.vue | 4 +- src/components/icons/cryptos/XcnIcon.vue | 36 +-- src/config/development.json | 112 +++++--- src/config/production.json | 66 +++-- src/config/tor.json | 85 ++++-- src/lib/adamant-api-client.js | 12 +- src/lib/constants/cryptos/data.json | 256 +++++++++---------- 9 files changed, 395 insertions(+), 254 deletions(-) diff --git a/adamant-wallets b/adamant-wallets index 428388861..a30290053 160000 --- a/adamant-wallets +++ b/adamant-wallets @@ -1 +1 @@ -Subproject commit 42838886118b8a10119d73c38f23ffc53a374759 +Subproject commit a3029005378c9a059b566ea3565ce7f449e7f4c3 diff --git a/scripts/wallets.mjs b/scripts/wallets.mjs index 2d41d9c0c..a99e3e1b6 100644 --- a/scripts/wallets.mjs +++ b/scripts/wallets.mjs @@ -14,19 +14,21 @@ async function run() { // update adamant-wallets repo await $`git submodule foreach git pull origin master` - const [coins, nodes, { coinDirNames, coinSymbols }] = await initCoins() + const { coins, config, coinDirNames, coinSymbols } = await initCoins() await applyBlockchains(coins, coinSymbols) await copyIcons(coins, coinDirNames) await writeFile(CRYPTOS_DATA_FILE_PATH, JSON.stringify(coins, null, 2)) - await updateConfig(nodes) + await updateProductionConfig(config) + await updateDevelopmentConfig(config) + await updateTorConfig(config) } async function initCoins() { + const config = {} const coins = {} - const nodes = {} const coinDirNames = {} const coinSymbols = {} @@ -69,18 +71,16 @@ async function initCoins() { if (coin.createCoin) { const nodeName = coin.symbol.toLowerCase() - - if (coin.nodes) { - nodes[nodeName] = coin.nodes - } - - if (coin.serviceNodes) { - nodes[`${nodeName}service`] = coin.serviceNodes - } + config[nodeName] = coin } }) - return [coins, nodes, { coinDirNames, coinSymbols }] + return { + coins, + config, + coinDirNames, + coinSymbols + } } async function applyBlockchains(coins, coinSymbols) { @@ -129,19 +129,55 @@ async function copyIcons(coins, coinDirNames) { } } +function updateProductionConfig(configs) { + return updateConfig(configs, 'production') +} + +function updateDevelopmentConfig(configs) { + return updateConfig(configs, 'development') +} + +function updateTorConfig(configs) { + const torConfigs = Object.entries(configs) + .map(([symbol, config]) => { + const torConfig = _.mergeWith(config, config.tor, (value, srcValue) => { + // customizer overrides `nodes`, `services` and `links` + // instead of merging them + if (_.isArray(srcValue)) { + return srcValue + } + }) + + return [symbol, torConfig] + }) + .reduce( + (acc, [key, value]) => ({ + ...acc, + [key]: value + }), + {} + ) + + return updateConfig(torConfigs, 'tor') +} + /** - * Updates the production config inside src/config + * Updates the config inside src/config */ -async function updateConfig(nodes) { - const configPath = resolve('src/config/production.json') - const config = await parseJsonFile(configPath) +async function updateConfig(configs, configName) { + const configPath = resolve(`src/config/${configName}.json`) + const configFile = await parseJsonFile(configPath) + + for (const configKey in configs) { + const config = configs[configKey] - config.server = { - ...config.server, // to keep `infoservice` - ...nodes + configFile[configKey].explorerTx = config.explorerTx + configFile[configKey].minNodeVersion = config.minNodeVersion + configFile[configKey].nodes = config.nodes + configFile[configKey].services = config.services } - await writeFile(configPath, JSON.stringify(config, null, 2)) + await writeFile(configPath, JSON.stringify(configFile, null, 2)) } async function forEachDir(path, callback) { diff --git a/src/components/NodesTable/NodesTableItem.vue b/src/components/NodesTable/NodesTableItem.vue index b442f7d87..25293fe12 100644 --- a/src/components/NodesTable/NodesTableItem.vue +++ b/src/components/NodesTable/NodesTableItem.vue @@ -54,7 +54,7 @@ import { useI18n } from 'vue-i18n' import { useStore } from 'vuex' function getNodeStatus(node, t) { - if (!node.hasMinApiVersion || !node.hasSupportedProtocol) { + if (!node.hasMinNodeVersion || !node.hasSupportedProtocol) { return t('nodes.unsupported') } else if (!node.active) { return t('nodes.inactive') @@ -70,7 +70,7 @@ function getNodeStatus(node, t) { function getNodeStatusColor(node) { let color = 'green' - if (!node.hasMinApiVersion || !node.hasSupportedProtocol) { + if (!node.hasMinNodeVersion || !node.hasSupportedProtocol) { color = 'red' } else if (!node.active) { color = 'grey' diff --git a/src/components/icons/cryptos/XcnIcon.vue b/src/components/icons/cryptos/XcnIcon.vue index 7a949c5ea..f5cc30704 100644 --- a/src/components/icons/cryptos/XcnIcon.vue +++ b/src/components/icons/cryptos/XcnIcon.vue @@ -1,18 +1,18 @@ - + diff --git a/src/config/development.json b/src/config/development.json index e3685f1da..165b240f8 100644 --- a/src/config/development.json +++ b/src/config/development.json @@ -1,7 +1,8 @@ { - "minApiVersion": "0.5.2", - "server": { - "adm": [ + "adm": { + "explorerTx": "https://explorer.adamant.im/tx/${ID}", + "minNodeVersion": "0.5.2", + "nodes": [ { "url": "https://clown.adamant.im" }, @@ -9,7 +10,8 @@ "url": "https://lake.adamant.im" }, { - "url": "https://endless.adamant.im" + "url": "https://endless.adamant.im", + "alt_ip": "http://149.102.157.15:36666" }, { "url": "https://bid.adamant.im" @@ -18,44 +20,92 @@ "url": "https://unusual.adamant.im" }, { - "url": "https://debate.adamant.im" - }, - { - "url": "http://23.226.231.225:36666" + "url": "https://debate.adamant.im", + "alt_ip": "http://95.216.161.113:36666" }, { "url": "http://78.47.205.206:36666" }, { "url": "http://5.161.53.74:36666" + }, + { + "url": "http://184.94.215.92:45555" + }, + { + "url": "https://node1.adamant.business" + }, + { + "url": "https://node2.blockchain2fa.io" } ], - "eth": [ + "services": { + "infoService": [ + { + "url": "https://info.adamant.im", + "alt_ip": "http://88.198.156.44" + } + ] + } + }, + "btc": { + "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}", + "nodes": [ + { + "url": "https://btcnode1.adamant.im" + }, + { + "url": "https://btcnode2.adamant.im" + } + ] + }, + "dash": { + "explorerTx": "https://dashblockexplorer.com/tx/${ID}", + "nodes": [ + { + "url": "https://dashnode1.adamant.im" + } + ] + }, + "doge": { + "explorerTx": "https://dogechain.info/tx/${ID}", + "nodes": [ + { + "url": "https://dogenode1.adamant.im" + }, + { + "url": "https://dogenode2.adamant.im" + } + ] + }, + "eth": { + "explorerTx": "https://etherscan.io/tx/${ID}", + "nodes": [ { "url": "https://ethnode1.adamant.im", "hasIndex": true } - ], - "doge": [ - { "url": "https://dogenode1.adamant.im/" } - ], - "dash": [ - { "url": "https://dashnode1.adamant.im" } - ], - "btc": [ - { "url": "https://btcnode2.adamant.im" } - ], - "lsk": [ - { "url": "https://lisknode3.adamant.im" }, - { "url": "https://lisknode4.adamant.im" } - ], - "lskservice": [ - { "url": "https://liskservice3.adamant.im" }, - { "url": "https://liskservice4.adamant.im" } - ], - "infoservice": [ - { "url": "https://info.adamant.im" } ] }, - "env": "development" -} + "lsk": { + "explorerTx": "https://liskscan.com/transaction/${ID}", + "nodes": [ + { + "url": "https://lisknode3.adamant.im" + }, + { + "url": "https://lisknode4.adamant.im" + } + ], + "services": { + "lskService": [ + { + "url": "https://liskservice3.adamant.im" + }, + { + "url": "https://liskservice4.adamant.im" + } + ] + } + } +} \ No newline at end of file diff --git a/src/config/production.json b/src/config/production.json index 4aa1b7719..45bc3bfaf 100644 --- a/src/config/production.json +++ b/src/config/production.json @@ -1,7 +1,7 @@ { - "minApiVersion": "0.5.2", - "server": { - "adm": [ + "adm": { + "minNodeVersion": "0.5.2", + "nodes": [ { "url": "https://clown.adamant.im" }, @@ -38,7 +38,18 @@ "url": "https://node2.blockchain2fa.io" } ], - "btc": [ + "services": { + "infoService": [ + { + "url": "https://info.adamant.im", + "alt_ip": "http://88.198.156.44" + } + ] + }, + "explorerTx": "https://explorer.adamant.im/tx/${ID}" + }, + "btc": { + "nodes": [ { "url": "https://btcnode1.adamant.im" }, @@ -46,12 +57,18 @@ "url": "https://btcnode2.adamant.im" } ], - "dash": [ + "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}" + }, + "dash": { + "nodes": [ { "url": "https://dashnode1.adamant.im" } ], - "doge": [ + "explorerTx": "https://dashblockexplorer.com/tx/${ID}" + }, + "doge": { + "nodes": [ { "url": "https://dogenode1.adamant.im" }, @@ -59,13 +76,19 @@ "url": "https://dogenode2.adamant.im" } ], - "eth": [ + "explorerTx": "https://dogechain.info/tx/${ID}" + }, + "eth": { + "nodes": [ { "url": "https://ethnode1.adamant.im", "hasIndex": true } ], - "lsk": [ + "explorerTx": "https://etherscan.io/tx/${ID}" + }, + "lsk": { + "nodes": [ { "url": "https://lisknode3.adamant.im" }, @@ -73,19 +96,16 @@ "url": "https://lisknode4.adamant.im" } ], - "lskservice": [ - { - "url": "https://liskservice3.adamant.im" - }, - { - "url": "https://liskservice4.adamant.im" - } - ], - "infoservice": [ - { - "url": "https://info.adamant.im" - } - ] - }, - "env": "production" + "explorerTx": "https://liskscan.com/transaction/${ID}", + "services": { + "lskService": [ + { + "url": "https://liskservice3.adamant.im" + }, + { + "url": "https://liskservice4.adamant.im" + } + ] + } + } } \ No newline at end of file diff --git a/src/config/tor.json b/src/config/tor.json index 97a2f2b37..f18b7cc80 100644 --- a/src/config/tor.json +++ b/src/config/tor.json @@ -1,7 +1,7 @@ { - "minApiVersion": "0.5.2", - "server": { - "adm": [ + "adm": { + "minNodeVersion": "0.5.2", + "nodes": [ { "url": "http://37g5to2z6bdoeegun4hms2hvkfbdxh4rcon4e3p267wtfkh4ji2ns6id.onion" }, @@ -18,32 +18,67 @@ "url": "http://rukehjd2yalzgny7mdjqtzown2mazsaeh4zr7zjdg4l5afkgc3z2kgqd.onion" } ], - "eth": [ + "services": { + "infoService": [ + { + "url": "http://czjsawp2crjmnkliw2h2kpk7wwd3a36zvvnvqgvzmi4t4vc2yzm7j2qd.onion" + } + ] + }, + "explorerTx": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion/tx/${ID}" + }, + "btc": { + "nodes": [ { - "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion", - "hasIndex": true + "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" } ], - "doge": [ - { "url": "http://mtg4mq43p67cbj6qwcqgppjv7uzm7ximjlzapsbnbh5ls6zqkjsq26ad.onion" } - ], - "dash": [ - { "url": "http://ldod53womnlwjmd4noq5yuq26xx3mmbrr4uogkfymuakhofjcuqeygad.onion" } - ], - "btc": [ - { "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" } + "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}" + }, + "dash": { + "nodes": [ + { + "url": "http://ldod53womnlwjmd4noq5yuq26xx3mmbrr4uogkfymuakhofjcuqeygad.onion" + } ], - "lsk": [ - { "url": "http://nl2c4vcsdrd6je3ebt4236yst55mbso72ojmksrmlyoikapgnu647tid.onion" }, - { "url": "http://qpjxvkathebm7oso3dk5hb4cggbeecqvcpcthuxlpovtn66plr6f4wyd.onion" } + "explorerTx": "https://dashblockexplorer.com/tx/${ID}" + }, + "doge": { + "nodes": [ + { + "url": "http://mtg4mq43p67cbj6qwcqgppjv7uzm7ximjlzapsbnbh5ls6zqkjsq26ad.onion" + } ], - "lskservice": [ - { "url": "http://xqrymra5go2nb3cslb3c3iv4weeuicybcxpjee4ay2indk2hgo7rw4qd.onion" }, - { "url": "http://s2q6phc22icy73zjccjq66555gwtvyuyrodmadwhjdhmvyehb3qrcsid.onion" } + "explorerTx": "https://dogechain.info/tx/${ID}" + }, + "eth": { + "nodes": [ + { + "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion", + "hasIndex": true + } ], - "infoservice": [ - { "url": "http://czjsawp2crjmnkliw2h2kpk7wwd3a36zvvnvqgvzmi4t4vc2yzm7j2qd.onion" } - ] + "explorerTx": "https://etherscan.io/tx/${ID}" }, - "env": "production" -} + "lsk": { + "nodes": [ + { + "url": "http://nl2c4vcsdrd6je3ebt4236yst55mbso72ojmksrmlyoikapgnu647tid.onion" + }, + { + "url": "http://qpjxvkathebm7oso3dk5hb4cggbeecqvcpcthuxlpovtn66plr6f4wyd.onion" + } + ], + "explorerTx": "https://liskscan.com/transaction/${ID}", + "services": { + "lskService": [ + { + "url": "http://xqrymra5go2nb3cslb3c3iv4weeuicybcxpjee4ay2indk2hgo7rw4qd.onion" + }, + { + "url": "http://s2q6phc22icy73zjccjq66555gwtvyuyrodmadwhjdhmvyehb3qrcsid.onion" + } + ] + } + } +} \ No newline at end of file diff --git a/src/lib/adamant-api-client.js b/src/lib/adamant-api-client.js index eb2fb6332..b5c558554 100644 --- a/src/lib/adamant-api-client.js +++ b/src/lib/adamant-api-client.js @@ -301,7 +301,7 @@ class ApiClient { * Creates new client instance * @param {Array} endpoints endpoints URLs */ - constructor (endpoints = [], minApiVersion = '0.0.0') { + constructor (endpoints = [], minNodeVersion = '0.0.0') { /** * List of the available nodes * @type {Array} @@ -312,7 +312,7 @@ class ApiClient { * Minimum API version a node is required to have * @type {String} */ - this._minApiVersion = minApiVersion + this._minNodeVersion = minNodeVersion /** * A callback that is called every time a node status is updated * @type {function({url: string, ping: number, online: boolean}): void} @@ -338,7 +338,7 @@ class ApiClient { version: node.version, active: node.active, outOfSync: node.outOfSync, - hasMinApiVersion: node.version >= this._minApiVersion, + hasMinNodeVersion: node.version >= this._minNodeVersion, hasSupportedProtocol: node._hasSupportedProtocol, socketSupport: node.socketSupport }) @@ -519,7 +519,7 @@ class ApiClient { * @returns {boolean} */ _isCompatible (version) { - return !!(version && semver.gte(version, this._minApiVersion)) + return !!(version && semver.gte(version, this._minNodeVersion)) } /** @@ -559,7 +559,7 @@ class ApiClient { } } -const endpoints = config.server.adm.map(endpoint => endpoint.url) -const apiClient = new ApiClient(endpoints, config.minApiVersion) +const endpoints = config.adm.nodes.map(endpoint => endpoint.url) +const apiClient = new ApiClient(endpoints, config.adm.minNodeVersion) export default apiClient diff --git a/src/lib/constants/cryptos/data.json b/src/lib/constants/cryptos/data.json index 5e568a5f2..123f903ba 100644 --- a/src/lib/constants/cryptos/data.json +++ b/src/lib/constants/cryptos/data.json @@ -55,6 +55,37 @@ "defaultOrdinalLevel": 0, "explorerTx": "https://explorer.adamant.im/tx/${ID}" }, + "BTC": { + "symbol": "BTC", + "name": "Bitcoin", + "qrPrefix": "bitcoin", + "minBalance": 0.00001, + "regexAddress": "^bc1[a-zA-Z0-9]{39,59}$|^[13][1-9A-HJ-NP-Za-km-z]{25,34}$", + "decimals": 8, + "minTransferAmount": 0.00000546, + "nodes": [ + { + "url": "https://btcnode1.adamant.im" + }, + { + "url": "https://btcnode2.adamant.im" + } + ], + "createCoin": true, + "cryptoTransferDecimals": 8, + "defaultFee": 0.00003153, + "defaultVisibility": true, + "txFetchInfo": { + "newPendingInterval": 10000, + "oldPendingInterval": 3000, + "registeredInterval": 40000, + "newPendingAttempts": 20, + "oldPendingAttempts": 4 + }, + "txConsistencyMaxTime": 10800000, + "defaultOrdinalLevel": 10, + "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}" + }, "BNB": { "symbol": "BNB", "name": "Binance Coin", @@ -109,37 +140,6 @@ "defaultOrdinalLevel": 80, "explorerTx": "https://dashblockexplorer.com/tx/${ID}" }, - "BTC": { - "symbol": "BTC", - "name": "Bitcoin", - "qrPrefix": "bitcoin", - "minBalance": 0.00001, - "regexAddress": "^bc1[a-zA-Z0-9]{39,59}$|^[13][1-9A-HJ-NP-Za-km-z]{25,34}$", - "decimals": 8, - "minTransferAmount": 0.00000546, - "nodes": [ - { - "url": "https://btcnode1.adamant.im" - }, - { - "url": "https://btcnode2.adamant.im" - } - ], - "createCoin": true, - "cryptoTransferDecimals": 8, - "defaultFee": 0.00003153, - "defaultVisibility": true, - "txFetchInfo": { - "newPendingInterval": 10000, - "oldPendingInterval": 3000, - "registeredInterval": 40000, - "newPendingAttempts": 20, - "oldPendingAttempts": 4 - }, - "txConsistencyMaxTime": 10800000, - "defaultOrdinalLevel": 10, - "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}" - }, "DAI": { "symbol": "DAI", "name": "Dai", @@ -185,32 +185,6 @@ "defaultOrdinalLevel": 70, "explorerTx": "https://dogechain.info/tx/${ID}" }, - "ENS": { - "symbol": "ENS", - "name": "Ethereum Name Service", - "decimals": 18, - "contractId": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, - "HOT": { - "symbol": "HOT", - "name": "Holo", - "decimals": 18, - "contractId": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, "ETH": { "symbol": "ETH", "name": "Ethereum", @@ -239,34 +213,6 @@ "defaultOrdinalLevel": 20, "explorerTx": "https://etherscan.io/tx/${ID}" }, - "LINK": { - "symbol": "LINK", - "name": "Chainlink", - "decimals": 18, - "contractId": "0x514910771af9ca656af840dff83e8264ecf986ca", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, - "INJ": { - "symbol": "INJ", - "name": "Injective", - "regexAddress": "^(inj)[a-zA-HJ-NP-Z0-9]{25,39}$", - "decimals": 18, - "contractId": "0xe28b3b32b6c345a34ff64674606124dd5aceca30", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "explorerTx": "https://explorer.injective.network/transaction/${ID}", - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, "LSK": { "symbol": "LSK", "name": "Lisk", @@ -297,6 +243,19 @@ "defaultOrdinalLevel": 60, "explorerTx": "https://liskscan.com/transaction/${ID}" }, + "HOT": { + "symbol": "HOT", + "name": "Holo", + "decimals": 18, + "contractId": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, "MANA": { "symbol": "MANA", "name": "Decentraland", @@ -310,14 +269,29 @@ "type": "ERC20", "fees": "ethereum" }, - "PAXG": { - "symbol": "PAXG", - "name": "PAX Gold", + "LINK": { + "symbol": "LINK", + "name": "Chainlink", "decimals": 18, - "contractId": "0x45804880de22913dafe09f4980848ece6ecbaf78", + "contractId": "0x514910771af9ca656af840dff83e8264ecf986ca", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "INJ": { + "symbol": "INJ", + "name": "Injective", + "regexAddress": "^(inj)[a-zA-HJ-NP-Z0-9]{25,39}$", + "decimals": 18, + "contractId": "0xe28b3b32b6c345a34ff64674606124dd5aceca30", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, + "explorerTx": "https://explorer.injective.network/transaction/${ID}", "status": "active", "mainCoin": "ETH", "type": "ERC20", @@ -338,11 +312,24 @@ "type": "ERC20", "fees": "ethereum" }, - "QNT": { - "symbol": "QNT", - "name": "Quant", + "PAXG": { + "symbol": "PAXG", + "name": "PAX Gold", "decimals": 18, - "contractId": "0x4a220E6096B25EADb88358cb44068A3248254675", + "contractId": "0x45804880de22913dafe09f4980848ece6ecbaf78", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "ENS": { + "symbol": "ENS", + "name": "Ethereum Name Service", + "decimals": 18, + "contractId": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -364,11 +351,24 @@ "type": "ERC20", "fees": "ethereum" }, - "SNT": { - "symbol": "SNT", - "name": "Status", + "QNT": { + "symbol": "QNT", + "name": "Quant", "decimals": 18, - "contractId": "0x744d70fdbe2ba4cf95131626614a1763df805b9e", + "contractId": "0x4a220E6096B25EADb88358cb44068A3248254675", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "SNX": { + "symbol": "SNX", + "name": "Synthetix Network", + "decimals": 18, + "contractId": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -403,11 +403,26 @@ "type": "ERC20", "fees": "ethereum" }, - "SKL": { - "symbol": "SKL", - "name": "SKALE", + "USDC": { + "symbol": "USDC", + "name": "USD Coin", + "decimals": 6, + "contractId": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultVisibility": true, + "defaultGasLimit": 58000, + "defaultOrdinalLevel": 40, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "SNT": { + "symbol": "SNT", + "name": "Status", "decimals": 18, - "contractId": "0x00c83aecc790e8a4453e5dd3b0b4b3680501a7a7", + "contractId": "0x744d70fdbe2ba4cf95131626614a1763df805b9e", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -416,16 +431,14 @@ "type": "ERC20", "fees": "ethereum" }, - "USDC": { - "symbol": "USDC", - "name": "USD Coin", - "decimals": 6, - "contractId": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "SKL": { + "symbol": "SKL", + "name": "SKALE", + "decimals": 18, + "contractId": "0x00c83aecc790e8a4453e5dd3b0b4b3680501a7a7", "createCoin": false, "cryptoTransferDecimals": 6, - "defaultVisibility": true, "defaultGasLimit": 58000, - "defaultOrdinalLevel": 40, "status": "active", "mainCoin": "ETH", "type": "ERC20", @@ -457,21 +470,6 @@ "type": "ERC20", "fees": "ethereum" }, - "USDT": { - "symbol": "USDT", - "name": "Tether", - "decimals": 6, - "contractId": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultVisibility": true, - "defaultGasLimit": 58000, - "defaultOrdinalLevel": 30, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, "XCN": { "symbol": "XCN", "name": "Onyxcoin", @@ -487,14 +485,16 @@ "type": "ERC20", "fees": "ethereum" }, - "SNX": { - "symbol": "SNX", - "name": "Synthetix Network", - "decimals": 18, - "contractId": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f", + "USDT": { + "symbol": "USDT", + "name": "Tether", + "decimals": 6, + "contractId": "0xdac17f958d2ee523a2206206994597c13d831ec7", "createCoin": false, "cryptoTransferDecimals": 6, + "defaultVisibility": true, "defaultGasLimit": 58000, + "defaultOrdinalLevel": 30, "status": "active", "mainCoin": "ETH", "type": "ERC20", From a9a965c0472024c88524171aec86771b2a7ccf44 Mon Sep 17 00:00:00 2001 From: bludnic Date: Wed, 18 Oct 2023 16:40:28 +0100 Subject: [PATCH 02/13] chore: regenerate `adamant-wallets` --- adamant-wallets | 2 +- scripts/wallets.mjs | 2 + src/config/development.json | 43 +++- src/config/production.json | 43 +++- src/config/tor.json | 36 +++- src/lib/constants/cryptos/data.json | 317 ++++++++++++++-------------- 6 files changed, 259 insertions(+), 184 deletions(-) diff --git a/adamant-wallets b/adamant-wallets index a30290053..44a33f3ed 160000 --- a/adamant-wallets +++ b/adamant-wallets @@ -1 +1 @@ -Subproject commit a3029005378c9a059b566ea3565ce7f449e7f4c3 +Subproject commit 44a33f3eddc799848704d433cd06581f1da9e0e3 diff --git a/scripts/wallets.mjs b/scripts/wallets.mjs index a99e3e1b6..4a84f942b 100644 --- a/scripts/wallets.mjs +++ b/scripts/wallets.mjs @@ -171,7 +171,9 @@ async function updateConfig(configs, configName) { for (const configKey in configs) { const config = configs[configKey] + configFile[configKey].explorer = config.explorer configFile[configKey].explorerTx = config.explorerTx + configFile[configKey].explorerAddress = config.explorerAddress configFile[configKey].minNodeVersion = config.minNodeVersion configFile[configKey].nodes = config.nodes configFile[configKey].services = config.services diff --git a/src/config/development.json b/src/config/development.json index 165b240f8..019a7009a 100644 --- a/src/config/development.json +++ b/src/config/development.json @@ -1,7 +1,7 @@ { "adm": { "explorerTx": "https://explorer.adamant.im/tx/${ID}", - "minNodeVersion": "0.5.2", + "minNodeVersion": "0.7.0", "nodes": [ { "url": "https://clown.adamant.im" @@ -43,21 +43,27 @@ "infoService": [ { "url": "https://info.adamant.im", - "alt_ip": "http://88.198.156.44" + "alt_ip": "http://88.198.156.44:80" } ] - } + }, + "explorer": "https://explorer.adamant.im", + "explorerAddress": "https://explorer.adamant.im/address/${ID}" }, "btc": { "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}", "nodes": [ { - "url": "https://btcnode1.adamant.im" + "url": "https://btcnode1.adamant.im", + "alt_ip": "http://176.9.38.204:44099" }, { - "url": "https://btcnode2.adamant.im" + "url": "https://btcnode2.adamant.im", + "alt_ip": "http://176.9.32.126:44099" } - ] + ], + "explorer": "https://explorer.btc.com", + "explorerAddress": "https://explorer.btc.com/btc/address/${ID}" }, "dash": { "explorerTx": "https://dashblockexplorer.com/tx/${ID}", @@ -65,7 +71,9 @@ { "url": "https://dashnode1.adamant.im" } - ] + ], + "explorer": "https://dashblockexplorer.com", + "explorerAddress": "https://dashblockexplorer.com/address/${ID}" }, "doge": { "explorerTx": "https://dogechain.info/tx/${ID}", @@ -74,18 +82,29 @@ "url": "https://dogenode1.adamant.im" }, { - "url": "https://dogenode2.adamant.im" + "url": "https://dogenode2.adamant.im", + "alt_ip": "http://176.9.32.126:44098" } - ] + ], + "explorer": "https://dogechain.info", + "explorerAddress": "https://dogechain.info/address/${ID}" }, "eth": { "explorerTx": "https://etherscan.io/tx/${ID}", "nodes": [ { "url": "https://ethnode1.adamant.im", + "alt_ip": "http://95.216.41.106:44099", + "hasIndex": true + }, + { + "url": "https://ethnode2.adamant.im", + "alt_ip": "http://95.216.114.252:44099", "hasIndex": true } - ] + ], + "explorer": "https://etherscan.io", + "explorerAddress": "https://etherscan.io/address/${ID}" }, "lsk": { "explorerTx": "https://liskscan.com/transaction/${ID}", @@ -106,6 +125,8 @@ "url": "https://liskservice4.adamant.im" } ] - } + }, + "explorer": "https://liskscan.com", + "explorerAddress": "https://liskscan.com/account/${ID}" } } \ No newline at end of file diff --git a/src/config/production.json b/src/config/production.json index 45bc3bfaf..b34488510 100644 --- a/src/config/production.json +++ b/src/config/production.json @@ -1,6 +1,6 @@ { "adm": { - "minNodeVersion": "0.5.2", + "minNodeVersion": "0.7.0", "nodes": [ { "url": "https://clown.adamant.im" @@ -42,22 +42,28 @@ "infoService": [ { "url": "https://info.adamant.im", - "alt_ip": "http://88.198.156.44" + "alt_ip": "http://88.198.156.44:80" } ] }, - "explorerTx": "https://explorer.adamant.im/tx/${ID}" + "explorerTx": "https://explorer.adamant.im/tx/${ID}", + "explorer": "https://explorer.adamant.im", + "explorerAddress": "https://explorer.adamant.im/address/${ID}" }, "btc": { "nodes": [ { - "url": "https://btcnode1.adamant.im" + "url": "https://btcnode1.adamant.im", + "alt_ip": "http://176.9.38.204:44099" }, { - "url": "https://btcnode2.adamant.im" + "url": "https://btcnode2.adamant.im", + "alt_ip": "http://176.9.32.126:44099" } ], - "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}" + "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}", + "explorer": "https://explorer.btc.com", + "explorerAddress": "https://explorer.btc.com/btc/address/${ID}" }, "dash": { "nodes": [ @@ -65,7 +71,9 @@ "url": "https://dashnode1.adamant.im" } ], - "explorerTx": "https://dashblockexplorer.com/tx/${ID}" + "explorerTx": "https://dashblockexplorer.com/tx/${ID}", + "explorer": "https://dashblockexplorer.com", + "explorerAddress": "https://dashblockexplorer.com/address/${ID}" }, "doge": { "nodes": [ @@ -73,19 +81,30 @@ "url": "https://dogenode1.adamant.im" }, { - "url": "https://dogenode2.adamant.im" + "url": "https://dogenode2.adamant.im", + "alt_ip": "http://176.9.32.126:44098" } ], - "explorerTx": "https://dogechain.info/tx/${ID}" + "explorerTx": "https://dogechain.info/tx/${ID}", + "explorer": "https://dogechain.info", + "explorerAddress": "https://dogechain.info/address/${ID}" }, "eth": { "nodes": [ { "url": "https://ethnode1.adamant.im", + "alt_ip": "http://95.216.41.106:44099", + "hasIndex": true + }, + { + "url": "https://ethnode2.adamant.im", + "alt_ip": "http://95.216.114.252:44099", "hasIndex": true } ], - "explorerTx": "https://etherscan.io/tx/${ID}" + "explorerTx": "https://etherscan.io/tx/${ID}", + "explorer": "https://etherscan.io", + "explorerAddress": "https://etherscan.io/address/${ID}" }, "lsk": { "nodes": [ @@ -106,6 +125,8 @@ "url": "https://liskservice4.adamant.im" } ] - } + }, + "explorer": "https://liskscan.com", + "explorerAddress": "https://liskscan.com/account/${ID}" } } \ No newline at end of file diff --git a/src/config/tor.json b/src/config/tor.json index f18b7cc80..90074d83b 100644 --- a/src/config/tor.json +++ b/src/config/tor.json @@ -1,6 +1,6 @@ { "adm": { - "minNodeVersion": "0.5.2", + "minNodeVersion": "0.7.0", "nodes": [ { "url": "http://37g5to2z6bdoeegun4hms2hvkfbdxh4rcon4e3p267wtfkh4ji2ns6id.onion" @@ -25,15 +25,22 @@ } ] }, - "explorerTx": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion/tx/${ID}" + "explorerTx": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion/tx/${ID}", + "explorer": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion", + "explorerAddress": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion/address/${ID}" }, "btc": { "nodes": [ + { + "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" + }, { "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" } ], - "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}" + "explorerTx": "https://explorer.btc.com/btc/transaction/${ID}", + "explorer": "https://explorer.btc.com", + "explorerAddress": "https://explorer.btc.com/btc/address/${ID}" }, "dash": { "nodes": [ @@ -41,24 +48,37 @@ "url": "http://ldod53womnlwjmd4noq5yuq26xx3mmbrr4uogkfymuakhofjcuqeygad.onion" } ], - "explorerTx": "https://dashblockexplorer.com/tx/${ID}" + "explorerTx": "https://dashblockexplorer.com/tx/${ID}", + "explorer": "https://dashblockexplorer.com", + "explorerAddress": "https://dashblockexplorer.com/address/${ID}" }, "doge": { "nodes": [ { "url": "http://mtg4mq43p67cbj6qwcqgppjv7uzm7ximjlzapsbnbh5ls6zqkjsq26ad.onion" + }, + { + "url": "http://bfu3iiofsagyhi22zijfilbkzlzbalpylhhfcluqmezx2avdwcxut7yd.onion" } ], - "explorerTx": "https://dogechain.info/tx/${ID}" + "explorerTx": "https://dogechain.info/tx/${ID}", + "explorer": "https://dogechain.info", + "explorerAddress": "https://dogechain.info/address/${ID}" }, "eth": { "nodes": [ { "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion", "hasIndex": true + }, + { + "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion", + "hasIndex": true } ], - "explorerTx": "https://etherscan.io/tx/${ID}" + "explorerTx": "https://etherscan.io/tx/${ID}", + "explorer": "https://etherscan.io", + "explorerAddress": "https://etherscan.io/address/${ID}" }, "lsk": { "nodes": [ @@ -79,6 +99,8 @@ "url": "http://s2q6phc22icy73zjccjq66555gwtvyuyrodmadwhjdhmvyehb3qrcsid.onion" } ] - } + }, + "explorer": "https://liskscan.com", + "explorerAddress": "https://liskscan.com/account/${ID}" } } \ No newline at end of file diff --git a/src/lib/constants/cryptos/data.json b/src/lib/constants/cryptos/data.json index 123f903ba..a73463fad 100644 --- a/src/lib/constants/cryptos/data.json +++ b/src/lib/constants/cryptos/data.json @@ -1,4 +1,17 @@ { + "BUSD": { + "symbol": "BUSD", + "name": "Binance USD", + "decimals": 18, + "contractId": "0x4fabb145d64652a948d72533023f6e7a623c7c53", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, "ADM": { "symbol": "ADM", "name": "ADAMANT Messenger", @@ -65,10 +78,12 @@ "minTransferAmount": 0.00000546, "nodes": [ { - "url": "https://btcnode1.adamant.im" + "url": "https://btcnode1.adamant.im", + "alt_ip": "http://176.9.38.204:44099" }, { - "url": "https://btcnode2.adamant.im" + "url": "https://btcnode2.adamant.im", + "alt_ip": "http://176.9.32.126:44099" } ], "createCoin": true, @@ -99,19 +114,6 @@ "type": "ERC20", "fees": "ethereum" }, - "BUSD": { - "symbol": "BUSD", - "name": "Binance USD", - "decimals": 18, - "contractId": "0x4fabb145d64652a948d72533023f6e7a623c7c53", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, "DASH": { "symbol": "DASH", "name": "Dash", @@ -140,21 +142,6 @@ "defaultOrdinalLevel": 80, "explorerTx": "https://dashblockexplorer.com/tx/${ID}" }, - "DAI": { - "symbol": "DAI", - "name": "Dai", - "decimals": 18, - "contractId": "0x6b175474e89094c44da98b954eedeac495271d0f", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultVisibility": true, - "defaultGasLimit": 58000, - "defaultOrdinalLevel": 50, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, "DOGE": { "symbol": "DOGE", "name": "Dogecoin", @@ -167,7 +154,8 @@ "url": "https://dogenode1.adamant.im" }, { - "url": "https://dogenode2.adamant.im" + "url": "https://dogenode2.adamant.im", + "alt_ip": "http://176.9.32.126:44098" } ], "createCoin": true, @@ -185,6 +173,62 @@ "defaultOrdinalLevel": 70, "explorerTx": "https://dogechain.info/tx/${ID}" }, + "ENS": { + "symbol": "ENS", + "name": "Ethereum Name Service", + "decimals": 18, + "contractId": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "DAI": { + "symbol": "DAI", + "name": "Dai", + "decimals": 18, + "contractId": "0x6b175474e89094c44da98b954eedeac495271d0f", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultVisibility": true, + "defaultGasLimit": 58000, + "defaultOrdinalLevel": 50, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "HOT": { + "symbol": "HOT", + "name": "Holo", + "decimals": 18, + "contractId": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, + "INJ": { + "symbol": "INJ", + "name": "Injective", + "regexAddress": "^(inj)[a-zA-HJ-NP-Z0-9]{25,39}$", + "decimals": 18, + "contractId": "0xe28b3b32b6c345a34ff64674606124dd5aceca30", + "createCoin": false, + "cryptoTransferDecimals": 6, + "defaultGasLimit": 58000, + "explorerTx": "https://explorer.injective.network/transaction/${ID}", + "status": "active", + "mainCoin": "ETH", + "type": "ERC20", + "fees": "ethereum" + }, "ETH": { "symbol": "ETH", "name": "Ethereum", @@ -194,6 +238,12 @@ "nodes": [ { "url": "https://ethnode1.adamant.im", + "alt_ip": "http://95.216.41.106:44099", + "hasIndex": true + }, + { + "url": "https://ethnode2.adamant.im", + "alt_ip": "http://95.216.114.252:44099", "hasIndex": true } ], @@ -213,62 +263,6 @@ "defaultOrdinalLevel": 20, "explorerTx": "https://etherscan.io/tx/${ID}" }, - "LSK": { - "symbol": "LSK", - "name": "Lisk", - "qrPrefix": "lisk", - "minBalance": 0.05, - "regexAddress": "^lsk[a-z2-9]{38}$", - "decimals": 8, - "nodes": [ - { - "url": "https://lisknode3.adamant.im" - }, - { - "url": "https://lisknode4.adamant.im" - } - ], - "createCoin": true, - "cryptoTransferDecimals": 8, - "defaultFee": 0.00142, - "defaultVisibility": true, - "txFetchInfo": { - "newPendingInterval": 3000, - "oldPendingInterval": 3000, - "registeredInterval": 5000, - "newPendingAttempts": 15, - "oldPendingAttempts": 4 - }, - "txConsistencyMaxTime": 60000, - "defaultOrdinalLevel": 60, - "explorerTx": "https://liskscan.com/transaction/${ID}" - }, - "HOT": { - "symbol": "HOT", - "name": "Holo", - "decimals": 18, - "contractId": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, - "MANA": { - "symbol": "MANA", - "name": "Decentraland", - "decimals": 18, - "contractId": "0x0f5d2fb29fb7d3cfee444a200298f468908cc942", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultGasLimit": 58000, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, "LINK": { "symbol": "LINK", "name": "Chainlink", @@ -282,16 +276,14 @@ "type": "ERC20", "fees": "ethereum" }, - "INJ": { - "symbol": "INJ", - "name": "Injective", - "regexAddress": "^(inj)[a-zA-HJ-NP-Z0-9]{25,39}$", + "MANA": { + "symbol": "MANA", + "name": "Decentraland", "decimals": 18, - "contractId": "0xe28b3b32b6c345a34ff64674606124dd5aceca30", + "contractId": "0x0f5d2fb29fb7d3cfee444a200298f468908cc942", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, - "explorerTx": "https://explorer.injective.network/transaction/${ID}", "status": "active", "mainCoin": "ETH", "type": "ERC20", @@ -325,11 +317,41 @@ "type": "ERC20", "fees": "ethereum" }, - "ENS": { - "symbol": "ENS", - "name": "Ethereum Name Service", + "LSK": { + "symbol": "LSK", + "name": "Lisk", + "qrPrefix": "lisk", + "minBalance": 0.05, + "regexAddress": "^lsk[a-z2-9]{38}$", + "decimals": 8, + "nodes": [ + { + "url": "https://lisknode3.adamant.im" + }, + { + "url": "https://lisknode4.adamant.im" + } + ], + "createCoin": true, + "cryptoTransferDecimals": 8, + "defaultFee": 0.00142, + "defaultVisibility": true, + "txFetchInfo": { + "newPendingInterval": 3000, + "oldPendingInterval": 3000, + "registeredInterval": 5000, + "newPendingAttempts": 15, + "oldPendingAttempts": 4 + }, + "txConsistencyMaxTime": 60000, + "defaultOrdinalLevel": 60, + "explorerTx": "https://liskscan.com/transaction/${ID}" + }, + "QNT": { + "symbol": "QNT", + "name": "Quant", "decimals": 18, - "contractId": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", + "contractId": "0x4a220E6096B25EADb88358cb44068A3248254675", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -338,11 +360,11 @@ "type": "ERC20", "fees": "ethereum" }, - "REN": { - "symbol": "REN", - "name": "Ren", + "SKL": { + "symbol": "SKL", + "name": "SKALE", "decimals": 18, - "contractId": "0x408e41876cccdc0f92210600ef50372656052a38", + "contractId": "0x00c83aecc790e8a4453e5dd3b0b4b3680501a7a7", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -351,11 +373,11 @@ "type": "ERC20", "fees": "ethereum" }, - "QNT": { - "symbol": "QNT", - "name": "Quant", + "SNT": { + "symbol": "SNT", + "name": "Status", "decimals": 18, - "contractId": "0x4a220E6096B25EADb88358cb44068A3248254675", + "contractId": "0x744d70fdbe2ba4cf95131626614a1763df805b9e", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -377,11 +399,11 @@ "type": "ERC20", "fees": "ethereum" }, - "TUSD": { - "symbol": "TUSD", - "name": "TrueUSD", + "REN": { + "symbol": "REN", + "name": "Ren", "decimals": 18, - "contractId": "0x0000000000085d4780b73119b644ae5ecd22b376", + "contractId": "0x408e41876cccdc0f92210600ef50372656052a38", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -403,26 +425,11 @@ "type": "ERC20", "fees": "ethereum" }, - "USDC": { - "symbol": "USDC", - "name": "USD Coin", - "decimals": 6, - "contractId": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "createCoin": false, - "cryptoTransferDecimals": 6, - "defaultVisibility": true, - "defaultGasLimit": 58000, - "defaultOrdinalLevel": 40, - "status": "active", - "mainCoin": "ETH", - "type": "ERC20", - "fees": "ethereum" - }, - "SNT": { - "symbol": "SNT", - "name": "Status", + "TUSD": { + "symbol": "TUSD", + "name": "TrueUSD", "decimals": 18, - "contractId": "0x744d70fdbe2ba4cf95131626614a1763df805b9e", + "contractId": "0x0000000000085d4780b73119b644ae5ecd22b376", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -431,14 +438,16 @@ "type": "ERC20", "fees": "ethereum" }, - "SKL": { - "symbol": "SKL", - "name": "SKALE", - "decimals": 18, - "contractId": "0x00c83aecc790e8a4453e5dd3b0b4b3680501a7a7", + "USDC": { + "symbol": "USDC", + "name": "USD Coin", + "decimals": 6, + "contractId": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "createCoin": false, "cryptoTransferDecimals": 6, + "defaultVisibility": true, "defaultGasLimit": 58000, + "defaultOrdinalLevel": 40, "status": "active", "mainCoin": "ETH", "type": "ERC20", @@ -457,11 +466,11 @@ "type": "ERC20", "fees": "ethereum" }, - "WOO": { - "symbol": "WOO", - "name": "WOO Network", - "decimals": 18, - "contractId": "0x4691937a7508860f876c9c0a2a617e7d9e945d4b", + "USDS": { + "symbol": "USDS", + "name": "Stably USD", + "decimals": 6, + "contractId": "0xa4bdb11dc0a2bec88d24a3aa1e6bb17201112ebe", "createCoin": false, "cryptoTransferDecimals": 6, "defaultGasLimit": 58000, @@ -470,16 +479,16 @@ "type": "ERC20", "fees": "ethereum" }, - "XCN": { - "symbol": "XCN", - "name": "Onyxcoin", + "VERSE": { + "symbol": "VERSE", + "name": "Verse", "decimals": 18, - "contractId": "0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18", + "contractId": "0x249cA82617eC3DfB2589c4c17ab7EC9765350a18", "createCoin": false, "cryptoTransferDecimals": 6, "defaultVisibility": true, "defaultGasLimit": 58000, - "defaultOrdinalLevel": 100, + "defaultOrdinalLevel": 95, "status": "active", "mainCoin": "ETH", "type": "ERC20", @@ -500,29 +509,29 @@ "type": "ERC20", "fees": "ethereum" }, - "VERSE": { - "symbol": "VERSE", - "name": "Verse", + "WOO": { + "symbol": "WOO", + "name": "WOO Network", "decimals": 18, - "contractId": "0x249cA82617eC3DfB2589c4c17ab7EC9765350a18", + "contractId": "0x4691937a7508860f876c9c0a2a617e7d9e945d4b", "createCoin": false, "cryptoTransferDecimals": 6, - "defaultVisibility": true, "defaultGasLimit": 58000, - "defaultOrdinalLevel": 95, "status": "active", "mainCoin": "ETH", "type": "ERC20", "fees": "ethereum" }, - "USDS": { - "symbol": "USDS", - "name": "Stably USD", - "decimals": 6, - "contractId": "0xa4bdb11dc0a2bec88d24a3aa1e6bb17201112ebe", + "XCN": { + "symbol": "XCN", + "name": "Onyxcoin", + "decimals": 18, + "contractId": "0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18", "createCoin": false, "cryptoTransferDecimals": 6, + "defaultVisibility": true, "defaultGasLimit": 58000, + "defaultOrdinalLevel": 100, "status": "active", "mainCoin": "ETH", "type": "ERC20", From 46ac57250d8e04a82af6339f990b7cee16d8bb41 Mon Sep 17 00:00:00 2001 From: bludnic Date: Wed, 18 Oct 2023 16:46:25 +0100 Subject: [PATCH 03/13] chore: add script for generating types from `adamant-wallets` schema --- .gitignore | 3 + package-lock.json | 560 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 6 +- 3 files changed, 565 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 7aa483fec..620e291b3 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,6 @@ yarn-error.log* src/lib/schema/* !src/lib/schema/schema.json !src/lib/schema/config.json + +# adamant-wallets +src/types/wallets diff --git a/package-lock.json b/package-lock.json index 40f8459fb..06d6a64f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -104,6 +104,7 @@ "sass": "^1.68.0", "sass-loader": "^13.3.2", "sinon": "^16.0.0", + "swagger-typescript-api": "^13.0.3", "typescript": "^5.2.2", "uuid": "^9.0.1", "vite": "^4.4.9", @@ -3112,6 +3113,12 @@ "@ethersproject/strings": "^5.7.0" } }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "dev": true + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", @@ -4161,6 +4168,12 @@ "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", "dev": true }, + "node_modules/@types/swagger-schema-official": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@types/swagger-schema-official/-/swagger-schema-official-2.0.22.tgz", + "integrity": "sha512-7yQiX6MWSFSvc/1wW5smJMZTZ4fHOd+hqLr3qr/HONDxHEa2bnYAsOcGBOEqFIjd4yetwMOdEDdeW+udRAQnHA==", + "dev": true + }, "node_modules/@types/trusted-types": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", @@ -6162,6 +6175,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -6245,6 +6264,15 @@ "node": ">=8" } }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -6792,6 +6820,42 @@ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, + "node_modules/cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", @@ -6985,6 +7049,15 @@ "type": "^1.0.1" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, "node_modules/data-urls": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", @@ -7311,6 +7384,12 @@ "dev": true, "optional": true }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, "node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", @@ -7841,6 +7920,12 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true + }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -7945,6 +8030,15 @@ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es-abstract": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", @@ -8442,6 +8536,18 @@ "node": ">=0.10.0" } }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "dev": true, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, "node_modules/eth-ens-namehash": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", @@ -8812,6 +8918,29 @@ "pend": "~1.2.0" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -8983,6 +9112,18 @@ "node": ">= 6" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/fraction.js": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", @@ -9549,6 +9690,12 @@ "node": ">= 6" } }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "dev": true + }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -9813,6 +9960,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -10495,8 +10648,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "peer": true + "dev": true }, "node_modules/json-schema": { "version": "0.4.0", @@ -10684,6 +10836,12 @@ "immediate": "~3.0.5" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -10859,6 +11017,21 @@ "node": ">=12" } }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/marked": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/marked/-/marked-9.0.3.tgz", @@ -11252,6 +11425,49 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-emoji": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz", + "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^3.1.2", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + } + }, + "node_modules/node-emoji/node_modules/@sindresorhus/is": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz", + "integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, "node_modules/node-fetch": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", @@ -11271,6 +11487,18 @@ } } }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "dev": true, + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -11300,6 +11528,21 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.2.1" + } + }, + "node_modules/node-readfiles/node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, "node_modules/node-releases": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", @@ -11439,6 +11682,76 @@ "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", "dev": true }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "dev": true, + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "dev": true, + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "dev": true, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -11680,6 +11993,24 @@ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -12392,6 +12723,15 @@ "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "dev": true }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "dev": true, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -13190,6 +13530,60 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "dev": true + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -13311,6 +13705,18 @@ "node": ">=8" } }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dev": true, + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -13740,6 +14146,129 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/swagger-schema-official": { + "version": "2.0.0-bab6bed", + "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", + "integrity": "sha512-rCC0NWGKr/IJhtRuPq/t37qvZHI/mH4I4sxflVM+qgVe5Z2uOCivzWaVbuioJaB61kvm5UvB7b49E+oBY0M8jA==", + "dev": true + }, + "node_modules/swagger-typescript-api": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/swagger-typescript-api/-/swagger-typescript-api-13.0.3.tgz", + "integrity": "sha512-774ndLpGm2FNpUZpDugfoOO2pIcvSW9nlcqwLVSH9ju4YKCi1Gd83jPly7upcljOvZ8KO/edIUx+9eYViDYglg==", + "dev": true, + "dependencies": { + "@types/swagger-schema-official": "2.0.22", + "cosmiconfig": "8.2.0", + "didyoumean": "^1.2.2", + "eta": "^2.2.0", + "js-yaml": "4.1.0", + "lodash": "4.17.21", + "make-dir": "4.0.0", + "nanoid": "3.3.6", + "node-emoji": "2.1.0", + "node-fetch": "^3.3.1", + "prettier": "3.0.0", + "swagger-schema-official": "2.0.0-bab6bed", + "swagger2openapi": "7.0.8", + "typescript": "5.1.6" + }, + "bin": { + "sta": "index.js", + "swagger-typescript-api": "index.js" + } + }, + "node_modules/swagger-typescript-api/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/swagger-typescript-api/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/swagger-typescript-api/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/swagger-typescript-api/node_modules/prettier": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/swagger-typescript-api/node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -14310,6 +14839,15 @@ "node": ">=4" } }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", @@ -15101,6 +15639,15 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/web3-core": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz", @@ -16200,6 +16747,15 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/package.json b/package.json index 259e6b845..d1fc13def 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "serve": "vite preview --config vite-pwa.config.ts", "dev": "vite --config vite-pwa.config.ts", "serve:test": "cross-env ADM_CONFIG_FILE=test vue-cli-service serve", - "update-wallets": "node scripts/wallets.mjs", + "wallets:generate": "node scripts/wallets.mjs", + "wallets:types:generate": "swagger-typescript-api -p ./adamant-wallets/specification/openapi.json -o ./src/types/wallets -n index.ts", "build": "vue-tsc && vite build --config vite-pwa.config.ts", "lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src", "prettify": "prettier --write src/", @@ -20,7 +21,7 @@ "https": "vite preview --https", "test": "vitest", "coverage": "vitest run --coverage", - "postinstall": "electron-builder install-app-deps && npm run schema:generate" + "postinstall": "electron-builder install-app-deps && npm run schema:generate && npm run wallets:types:generate" }, "dependencies": { "@emoji-mart/data": "^1.1.2", @@ -117,6 +118,7 @@ "sass": "^1.68.0", "sass-loader": "^13.3.2", "sinon": "^16.0.0", + "swagger-typescript-api": "^13.0.3", "typescript": "^5.2.2", "uuid": "^9.0.1", "vite": "^4.4.9", From eacc2d3fd8c6a3a14dd532f5d560783f4d56a967 Mon Sep 17 00:00:00 2001 From: bludnic Date: Wed, 18 Oct 2023 16:47:18 +0100 Subject: [PATCH 04/13] feat(adamant-wallets): add `nodes`, `services` and `explorer` utils --- .../DelegateDetailsExpander.vue | 10 +--- .../transactions/AdmTransaction.vue | 42 +++++++------ .../transactions/BtcTransaction.vue | 4 +- .../transactions/Erc20Transaction.vue | 4 +- .../transactions/EthTransaction.vue | 4 +- .../transactions/LskTransaction.vue | 4 +- src/config/utils/getExplorerAddressUrl.ts | 22 +++++++ src/config/utils/getExplorerDelegateUrl.ts | 10 ++++ src/config/utils/getExplorerTxUrl.ts | 19 ++++++ src/config/utils/index.ts | 5 ++ src/config/utils/nodes.ts | 21 +++++++ src/config/utils/services.ts | 44 ++++++++++++++ src/config/utils/types.ts | 4 ++ src/lib/bitcoin/btc-base-api.js | 4 +- src/lib/eth-index.js | 6 +- src/lib/getEndpointUrl.js | 13 ---- src/lib/getExplorerUrl.js | 25 -------- src/lib/lisk/lsk-base-api.js | 60 +++++++++---------- src/lib/uri.js | 14 ----- .../modules/eth-base/eth-base-actions.js | 4 +- src/store/modules/rate/index.js | 6 +- src/views/Votes.vue | 3 - 22 files changed, 199 insertions(+), 129 deletions(-) create mode 100644 src/config/utils/getExplorerAddressUrl.ts create mode 100644 src/config/utils/getExplorerDelegateUrl.ts create mode 100644 src/config/utils/getExplorerTxUrl.ts create mode 100644 src/config/utils/index.ts create mode 100644 src/config/utils/nodes.ts create mode 100644 src/config/utils/services.ts create mode 100644 src/config/utils/types.ts delete mode 100644 src/lib/getEndpointUrl.js delete mode 100644 src/lib/getExplorerUrl.js diff --git a/src/components/DelegatesTable/DelegateDetailsExpander.vue b/src/components/DelegatesTable/DelegateDetailsExpander.vue index 996583f19..7e22fdcd5 100644 --- a/src/components/DelegatesTable/DelegateDetailsExpander.vue +++ b/src/components/DelegatesTable/DelegateDetailsExpander.vue @@ -3,7 +3,7 @@ - + {{ delegate.address }} @@ -30,13 +30,9 @@ import { computed, defineComponent, toRefs } from 'vue' import { useI18n } from 'vue-i18n' -import { explorerUriToOnion } from '@/lib/uri' +import { getExplorerDelegateUrl } from "@/config/utils"; import numberFormat from '@/filters/numberFormat' -function getExplorerUrl() { - return explorerUriToOnion('https://explorer.adamant.im/delegate/') -} - export default defineComponent({ props: { delegate: { @@ -78,7 +74,7 @@ export default defineComponent({ return { classes, delegateDetails, - getExplorerUrl + getExplorerDelegateUrl } } }) diff --git a/src/components/transactions/AdmTransaction.vue b/src/components/transactions/AdmTransaction.vue index 912e6cbb2..6c02b7638 100644 --- a/src/components/transactions/AdmTransaction.vue +++ b/src/components/transactions/AdmTransaction.vue @@ -1,16 +1,16 @@