From c1c2b75b23f454322a71192a9f833b8f534dcd71 Mon Sep 17 00:00:00 2001 From: motty Date: Wed, 17 May 2023 14:45:38 +0900 Subject: [PATCH] add fujicoin --- packages/blockchain-link/src/ui/config.ts | 23 ++++++++++++++ .../src/workers/electrum/client/electrum.ts | 2 ++ .../src/components/CoinLogo/coins.ts | 1 + packages/components/src/images/coins/fjc.svg | 1 + packages/connect-common/files/coins.json | 5 ++- .../files/images/png/homescreens/t2/fjc.png | Bin 0 -> 8170 bytes .../src/modules/auto-updater.ts | 2 ++ .../suite-desktop/electron-builder-config.js | 12 ++++---- packages/suite-desktop/package.json | 1 + .../suite/src/constants/suite/protocol.ts | 2 ++ packages/suite/src/support/messages.ts | 4 +++ packages/utxo-lib/src/networks.ts | 12 ++++++++ suite-common/suite-constants/src/protocol.ts | 1 + .../wallet-config/src/networksConfig.ts | 29 ++++++++++++++++++ .../src/__fixtures__/accountUtils.ts | 1 + suite-common/wallet-utils/src/accountUtils.ts | 2 ++ 16 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 packages/components/src/images/coins/fjc.svg create mode 100644 packages/suite-data/files/images/png/homescreens/t2/fjc.png diff --git a/packages/blockchain-link/src/ui/config.ts b/packages/blockchain-link/src/ui/config.ts index 58d53fa4b2f..02bad4de406 100644 --- a/packages/blockchain-link/src/ui/config.ts +++ b/packages/blockchain-link/src/ui/config.ts @@ -322,6 +322,29 @@ export default [ subscribe: '', }, }, + { + blockchain: { + name: 'Fujicoin', + worker: 'js/blockbook-worker.js', + server: [ + 'https://explorer.fujicoin.org', + ], + debug: true, + }, + data: { + address: '', + accountInfoOptions: { + page: 0, + pageSize: 25, + }, + estimateFeeOptions: { + blocks: [1, 2, 10], + }, + txid: '', + tx: '', + subscribe: '', + }, + }, { blockchain: { name: 'Litecoin', diff --git a/packages/blockchain-link/src/workers/electrum/client/electrum.ts b/packages/blockchain-link/src/workers/electrum/client/electrum.ts index 4fbd3d50a5d..91d40145726 100644 --- a/packages/blockchain-link/src/workers/electrum/client/electrum.ts +++ b/packages/blockchain-link/src/workers/electrum/client/electrum.ts @@ -17,6 +17,8 @@ type ElectrumClientOptions = JsonRpcClientOptions & { const selectNetwork = (shortcut?: string) => { switch (shortcut) { + case 'FJC': + return networks.fujicoin; case 'REGTEST': return networks.regtest; case 'TEST': diff --git a/packages/components/src/components/CoinLogo/coins.ts b/packages/components/src/components/CoinLogo/coins.ts index e1eda7fa20c..9aceea19eb6 100644 --- a/packages/components/src/components/CoinLogo/coins.ts +++ b/packages/components/src/components/CoinLogo/coins.ts @@ -13,6 +13,7 @@ export const COINS = { eos: require('../../images/coins/eos.svg'), etc: require('../../images/coins/etc.svg'), eth: require('../../images/coins/eth.svg'), + fjc: require('../../images/coins/fjc.svg'), ltc: require('../../images/coins/ltc.svg'), nmc: require('../../images/coins/nmc.svg'), tada: require('../../images/coins/tada.svg'), diff --git a/packages/components/src/images/coins/fjc.svg b/packages/components/src/images/coins/fjc.svg new file mode 100644 index 00000000000..cd1caea1c06 --- /dev/null +++ b/packages/components/src/images/coins/fjc.svg @@ -0,0 +1 @@ +newlogo-50x50 \ No newline at end of file diff --git a/packages/connect-common/files/coins.json b/packages/connect-common/files/coins.json index a651a4f3d64..bb27b48d2b2 100644 --- a/packages/connect-common/files/coins.json +++ b/packages/connect-common/files/coins.json @@ -1098,7 +1098,10 @@ "bech32_prefix": "fc", "blockchain_link": { "type": "blockbook", - "url": ["https://explorer.fujicoin.org"] + "url": [ + "https://explorer.fujicoin.org", + "https://explorer2.fujicoin.org" + ] }, "blocktime_seconds": 60, "cashaddr_prefix": null, diff --git a/packages/suite-data/files/images/png/homescreens/t2/fjc.png b/packages/suite-data/files/images/png/homescreens/t2/fjc.png new file mode 100644 index 0000000000000000000000000000000000000000..3fffc7eecf5da1d8968ca7d1fd6de344ba28c81d GIT binary patch literal 8170 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 Q^#A|>07*qoM6N<$f}F6erT_o{ literal 0 HcmV?d00001 diff --git a/packages/suite-desktop-core/src/modules/auto-updater.ts b/packages/suite-desktop-core/src/modules/auto-updater.ts index 582985680bd..35423fbca3c 100644 --- a/packages/suite-desktop-core/src/modules/auto-updater.ts +++ b/packages/suite-desktop-core/src/modules/auto-updater.ts @@ -32,6 +32,8 @@ const updaterURL = app.commandLine.getSwitchValue('updater-url'); export const SERVICE_NAME = 'auto-updater'; export const init: Module = ({ mainWindow, store }) => { + return; + const { logger } = global; if (!isFeatureFlagEnabled('DESKTOP_AUTO_UPDATER') && !enableUpdater) { logger.info(SERVICE_NAME, 'Disabled via feature flag'); diff --git a/packages/suite-desktop/electron-builder-config.js b/packages/suite-desktop/electron-builder-config.js index 15b7a6563ac..4121f3e8700 100644 --- a/packages/suite-desktop/electron-builder-config.js +++ b/packages/suite-desktop/electron-builder-config.js @@ -6,13 +6,13 @@ const isCodesignBuild = process.env.IS_CODESIGN_BUILD === 'true'; // to be able to use patterns like ${author} and ${arch} module.exports = { // distingush between dev and prod builds - appId: `io.trezor.TrezorSuite${isCodesignBuild ? '' : '.dev'}`, + appId: `fujicoin.org.TrezorSuite${isCodesignBuild ? '' : '.dev'}`, extraMetadata: { version: suiteVersion, // distingush between dev and prod builds so different userDataDir is used name: `@trezor/suite-desktop${isCodesignBuild ? '' : '-dev'}`, }, - productName: 'Trezor Suite', + productName: 'Fujicoin Trezor Suite', copyright: 'Copyright © ${author}', asar: true, asarUnpack: ['**/*.node'], @@ -92,7 +92,7 @@ module.exports = { }, ], icon: 'build/static/images/desktop/512x512.icns', - artifactName: 'Trezor-Suite-${version}-mac-${arch}.${ext}', + artifactName: 'Fujicoin-Trezor-Suite-${version}-mac-${arch}.${ext}', hardenedRuntime: true, gatekeeperAssess: false, darkModeSupport: true, @@ -126,7 +126,7 @@ module.exports = { }, ], icon: 'build/static/images/desktop/512x512.png', - artifactName: 'Trezor-Suite-${version}-win-${arch}.${ext}', + artifactName: 'Fujicoin-Trezor-Suite-${version}-win-${arch}.${ext}', target: ['nsis'], signDlls: true, sign: '../suite-desktop-core/scripts/sign-windows.ts', @@ -151,8 +151,8 @@ module.exports = { }, ], icon: 'build/static/images/desktop/512x512.png', - artifactName: 'Trezor-Suite-${version}-linux-${arch}.${ext}', - executableName: 'trezor-suite', + artifactName: 'Fujicoin-Trezor-Suite-${version}-linux-${arch}.${ext}', + executableName: 'fujicoin-trezor-suite', category: 'Utility', target: ['AppImage'], }, diff --git a/packages/suite-desktop/package.json b/packages/suite-desktop/package.json index 4eb56666e16..5a54caf5511 100644 --- a/packages/suite-desktop/package.json +++ b/packages/suite-desktop/package.json @@ -36,3 +36,4 @@ "glob": "^10.3.10" } } + diff --git a/packages/suite/src/constants/suite/protocol.ts b/packages/suite/src/constants/suite/protocol.ts index 929b21ba7a7..e056a9f7e3e 100644 --- a/packages/suite/src/constants/suite/protocol.ts +++ b/packages/suite/src/constants/suite/protocol.ts @@ -3,6 +3,7 @@ import { NetworkCompatible } from '@suite-common/wallet-config'; export enum PROTOCOL_SCHEME { BITCOIN = 'bitcoin', LITECOIN = 'litecoin', + FUJICOIN = 'fujicoin', BITCOIN_CASH = 'bitcoincash', BITCOIN_GOLD = 'bitcoingold', DASH = 'dash', @@ -23,6 +24,7 @@ export const PROTOCOL_TO_NETWORK: Partial<{ }> = { [PROTOCOL_SCHEME.BITCOIN]: 'btc', [PROTOCOL_SCHEME.LITECOIN]: 'ltc', + [PROTOCOL_SCHEME.FUJICOIN]: 'fjc', [PROTOCOL_SCHEME.BITCOIN_CASH]: 'bch', [PROTOCOL_SCHEME.BITCOIN_GOLD]: 'btg', [PROTOCOL_SCHEME.DASH]: 'dash', diff --git a/packages/suite/src/support/messages.ts b/packages/suite/src/support/messages.ts index 490b41fb723..6e6a0562610 100644 --- a/packages/suite/src/support/messages.ts +++ b/packages/suite/src/support/messages.ts @@ -2879,6 +2879,10 @@ export default defineMessages({ defaultMessage: 'BNB Smart Chain', id: 'TR_NETWORK_BNB', }, + TR_NETWORK_FUJICOIN: { + defaultMessage: 'Fujicoin', + id: 'TR_NETWORK_FUJICOIN', + }, TR_NETWORK_LITECOIN: { defaultMessage: 'Litecoin', id: 'TR_NETWORK_LITECOIN', diff --git a/packages/utxo-lib/src/networks.ts b/packages/utxo-lib/src/networks.ts index 91a1d6394f2..fd3177f7eb0 100644 --- a/packages/utxo-lib/src/networks.ts +++ b/packages/utxo-lib/src/networks.ts @@ -96,6 +96,18 @@ export const bitcoingold: Network = { forkId: 0x4f /* 79 */, }; +export const fujicoin: Network = { + messagePrefix: '\x19FujiCoin Signed Message:\n', + bech32: 'fc', + bip32: { + public: 0x0488b21e, + private: 0x0488ade4, + }, + pubKeyHash: 0x24, + scriptHash: 0x10, + wif: 0xa4, +}; + export const litecoin: Network = { messagePrefix: '\x19Litecoin Signed Message:\n', bech32: 'ltc', diff --git a/suite-common/suite-constants/src/protocol.ts b/suite-common/suite-constants/src/protocol.ts index 7311f9fce48..45eef22f6bc 100644 --- a/suite-common/suite-constants/src/protocol.ts +++ b/suite-common/suite-constants/src/protocol.ts @@ -3,6 +3,7 @@ import { NetworkSymbol } from '@suite-common/wallet-config'; export enum PROTOCOL_SCHEME { BITCOIN = 'bitcoin', LITECOIN = 'litecoin', + FUJICOIN = 'fujicoin', BITCOIN_CASH = 'bitcoincash', BITCOIN_GOLD = 'bitcoingold', DASH = 'dash', diff --git a/suite-common/wallet-config/src/networksConfig.ts b/suite-common/wallet-config/src/networksConfig.ts index 1e647f093c6..b8f312a4304 100644 --- a/suite-common/wallet-config/src/networksConfig.ts +++ b/suite-common/wallet-config/src/networksConfig.ts @@ -45,6 +45,35 @@ export const networks = { coingeckoId: 'bitcoin', coingeckoNativeId: 'bitcoin', }, + fjc: { + name: 'Fujicoin', + networkType: 'bitcoin', + bip43Path: "m/84'/75'/i'", + decimals: 8, + testnet: false, + explorer: { + tx: 'https://explorer.fujicoin.org/tx/', + account: 'https://explorer.fujicoin.org/xpub/', + address: 'https://explorer.fujicoin.org/address/', + }, + features: ['rbf', 'sign-verify'], + customBackends: ['blockbook', 'electrum'], + accountTypes: { + taproot: { + name: 'Fujicoin (Taproot)', + bip43Path: "m/86'/75'/i'", + features: ['rbf'], + }, + segwit: { + name: 'Fujicoin (Legacy Segwit)', + bip43Path: "m/49'/75'/i'", + }, + legacy: { + name: 'Fujicoin (Legacy)', + bip43Path: "m/44'/75'/i'", + }, + }, + }, ltc: { symbol: 'ltc', name: 'Litecoin', diff --git a/suite-common/wallet-utils/src/__fixtures__/accountUtils.ts b/suite-common/wallet-utils/src/__fixtures__/accountUtils.ts index 8a8ea81e6d2..cc726b6dfc7 100644 --- a/suite-common/wallet-utils/src/__fixtures__/accountUtils.ts +++ b/suite-common/wallet-utils/src/__fixtures__/accountUtils.ts @@ -64,6 +64,7 @@ export const accountTitleFixture = [ { symbol: 'eth', title: 'TR_NETWORK_ETHEREUM' }, { symbol: 'bnb', title: 'TR_NETWORK_BNB' }, { symbol: 'etc', title: 'TR_NETWORK_ETHEREUM_CLASSIC' }, + { symbol: 'fjc', title: 'TR_NETWORK_FUJICOIN' }, { symbol: 'xem', title: 'TR_NETWORK_NEM' }, { symbol: 'xlm', title: 'TR_NETWORK_STELLAR' }, { symbol: 'ada', title: 'TR_NETWORK_CARDANO' }, diff --git a/suite-common/wallet-utils/src/accountUtils.ts b/suite-common/wallet-utils/src/accountUtils.ts index 489fb3c970c..4c705a1c8f7 100644 --- a/suite-common/wallet-utils/src/accountUtils.ts +++ b/suite-common/wallet-utils/src/accountUtils.ts @@ -155,6 +155,8 @@ export const getTitleForNetwork = (symbol: NetworkSymbol) => { return 'TR_NETWORK_ETHEREUM'; case 'bnb': return 'TR_NETWORK_BNB'; + case 'fjc': + return 'TR_NETWORK_FUJICOIN'; case 'tsep': return 'TR_NETWORK_ETHEREUM_SEPOLIA'; case 'thol':