Skip to content

Commit 3331d63

Browse files
[Release] Hotfix 2.24.1 => 2.24.2 (patch) (#11339)
* chore: bump version to 2.24.2 * fix: nfts in red packet might be transfered (#11337) * feat: mf-5990 add x1 chain (#11330) * fix: x1 testnet (#11341) * fix: x1 testnet (#11346) * fix: capitalize * fix: enable tips on X1 Testnet * fix: set network type to x1 testnet (#11349) --------- Co-authored-by: UncleBill <[email protected]>
1 parent 27c6ddc commit 3331d63

File tree

24 files changed

+172
-52
lines changed

24 files changed

+172
-52
lines changed

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"yarn": ">=999.0.0",
99
"npm": ">=999.0.0"
1010
},
11-
"version": "2.24.1",
11+
"version": "2.24.2",
1212
"private": true,
1313
"license": "AGPL-3.0-or-later",
1414
"scripts": {

Diff for: packages/mask/popups/pages/Wallet/components/AssetsList/index.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,11 @@ const AssetItem = memo(function AssetItem({ asset, onItemClick, ...rest }: Asset
9999
const providerURL = network?.isCustomized ? network.rpcUrl : undefined
100100
const [seen, ref] = useEverSeen<HTMLLIElement>()
101101
// Debank might not provide asset from current custom network
102-
const tryRpc = (!asset.balance || isZero(asset.balance)) && network?.isCustomized && seen
102+
// TODO Temporarily get X1 Testnet balance via rpc
103+
const tryRpc =
104+
(!asset.balance || isZero(asset.balance)) &&
105+
(network?.isCustomized || network?.chainId === ChainId.X1_Testnet) &&
106+
seen
103107
const { data: rpcBalance, isPending } = useFungibleTokenBalance(
104108
NetworkPluginID.PLUGIN_EVM,
105109
asset.address,

Diff for: packages/mask/shared-ui/locales/ja-JP.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@
583583
"plugin_infra_descriptor_token_revoke_fail": "トークンコントラクトの取り消しに失敗しました。",
584584
"plugin_infra_descriptor_token_approve_title": "トークンのロック解除",
585585
"plugin_infra_descriptor_token_approve": "{{- tokenAmountDescription}} のロックを解除",
586-
"plugin_infra_descriptor_token_approve_success": "{{- tokenAmountDescription}} のロックを解除しました",
586+
"plugin_infra_descriptor_token_approve_success": "{{- symbol}} のロックを解除しました",
587587
"plugin_infra_descriptor_token_revoke_but_set_positive_cap": " {{spender}}の{{- tokenAmountDescription}} を承認しました。トークンを取り消したい場合は、カスタム支出上限金額を 0 にしてからもう一度お試しください。",
588588
"plugin_infra_descriptor_token_approve_but_set_zero_cap": "{{symbol}} は正常に承認されませんでした。支出上限を 0 に設定せず、もう一度お試しください。",
589589
"plugin_infra_descriptor_token_fail": "トークンコントラクトのロック解除に失敗しました。",

Diff for: packages/mask/shared-ui/locales/ko-KR.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@
567567
"plugin_infra_descriptor_token_revoke_fail": "토큰 컨트렉트 승인 취소 실패",
568568
"plugin_infra_descriptor_token_approve_title": "토큰 언락",
569569
"plugin_infra_descriptor_token_approve": "{{- tokenAmountDescription}} 언락",
570-
"plugin_infra_descriptor_token_approve_success": "{{- tokenAmountDescription}} 언락 성공",
570+
"plugin_infra_descriptor_token_approve_success": "{{- symbol}} 언락 성공",
571571
"plugin_infra_descriptor_token_revoke_but_set_positive_cap": "{{spender}} 에 대해 {{- tokenAmountDescription}} 을(를) 승인했습니다. 해당 토큰을 취소하려면 맞춤형 지출 한도 금액을 0으로 유지한 후 다시 시도하세요.",
572572
"plugin_infra_descriptor_token_approve_but_set_zero_cap": "{{symbol}} 승인하지 않습니다. 지출 한도 0으로 설치하지 마시고 다시 시도하세요.",
573573
"plugin_infra_descriptor_token_fail": "토큰 컨트렉트 언락 실패",

Diff for: packages/mask/shared-ui/locales/qya-AA.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@
583583
"plugin_infra_descriptor_token_revoke_fail": "crwdns18420:0crwdne18420:0",
584584
"plugin_infra_descriptor_token_approve_title": "crwdns18422:0crwdne18422:0",
585585
"plugin_infra_descriptor_token_approve": "crwdns18424:0{{- tokenAmountDescription}}crwdne18424:0",
586-
"plugin_infra_descriptor_token_approve_success": "crwdns18426:0{{- tokenAmountDescription}}crwdne18426:0",
586+
"plugin_infra_descriptor_token_approve_success": "crwdns18426:0{{- symbol}}crwdne18426:0",
587587
"plugin_infra_descriptor_token_revoke_but_set_positive_cap": "crwdns20007:0{{- tokenAmountDescription}}crwdnd20007:0{{spender}}crwdne20007:0",
588588
"plugin_infra_descriptor_token_approve_but_set_zero_cap": "crwdns20009:0{{symbol}}crwdne20009:0",
589589
"plugin_infra_descriptor_token_fail": "crwdns18428:0crwdne18428:0",

Diff for: packages/mask/shared-ui/locales/zh-CN.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@
582582
"plugin_infra_descriptor_token_revoke_fail": "撤销代币授权失败。",
583583
"plugin_infra_descriptor_token_approve_title": "解锁代币",
584584
"plugin_infra_descriptor_token_approve": "解锁 {{tokenAmountDescription}}",
585-
"plugin_infra_descriptor_token_approve_success": "解锁 {{tokenAmountDescription}} 成功",
585+
"plugin_infra_descriptor_token_approve_success": "解锁 {{- symbol}} 成功",
586586
"plugin_infra_descriptor_token_revoke_but_set_positive_cap": "您已经授权了{{spender}} 的 {{- tokenAmountDescription}} 。如果您想要撤销该Token,请将自定义支出上限保持为 0 并再试一次。",
587587
"plugin_infra_descriptor_token_approve_but_set_zero_cap": "您没有成功授权 {{symbol}} 。请不要设置支出上限为 0,然后再试一次。",
588588
"plugin_infra_descriptor_token_fail": "解锁代币合约失败。",

Diff for: packages/plugins/RedPacket/src/SiteAdaptor/RedPacketNft.tsx

+19-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { useCallback, useEffect, useMemo } from 'react'
2-
import { makeStyles, ActionButton, parseColor, ShadowRootTooltip, useDetectOverflow } from '@masknet/theme'
2+
import {
3+
makeStyles,
4+
ActionButton,
5+
parseColor,
6+
ShadowRootTooltip,
7+
useDetectOverflow,
8+
useCustomSnackbar,
9+
} from '@masknet/theme'
310
import { signMessage, type ChainId } from '@masknet/web3-shared-evm'
411
import { type RedPacketNftJSONPayload } from '@masknet/web3-providers/types'
512
import { Card, Typography, Button, Box } from '@mui/material'
@@ -312,13 +319,18 @@ export function RedPacketNft({ payload }: RedPacketNftProps) {
312319
})
313320
}, [nftRedPacketContract, payload.id, account, Hub])
314321

322+
const { showSnackbar } = useCustomSnackbar()
315323
const claim = useCallback(async () => {
316324
const hash = await claimCallback()
317325
await checkResult()
318326
if (typeof hash === 'string') {
319327
retryAvailability()
328+
} else if (hash instanceof Error) {
329+
showSnackbar(hash.message, {
330+
variant: 'error',
331+
})
320332
}
321-
}, [claimCallback, retryAvailability])
333+
}, [claimCallback, retryAvailability, showSnackbar])
322334

323335
if (availabilityError) return <ReloadStatus message={t.go_wrong()} onRetry={retryAvailability} />
324336

@@ -412,7 +424,7 @@ export function RedPacketNft({ payload }: RedPacketNftProps) {
412424
isClaiming={isClaiming}
413425
claimed={availability.isClaimed}
414426
onShare={onShare}
415-
claim={claim}
427+
onClaim={claim}
416428
/>
417429
)}
418430
</div>
@@ -422,12 +434,12 @@ export function RedPacketNft({ payload }: RedPacketNftProps) {
422434
interface OperationFooterProps {
423435
claimed: boolean
424436
isClaiming: boolean
425-
onShare(): void
426-
claim(): Promise<void>
427437
chainId: ChainId
438+
onShare(): void
439+
onClaim(): Promise<void>
428440
}
429441

430-
function OperationFooter({ claimed, onShare, chainId, claim, isClaiming }: OperationFooterProps) {
442+
function OperationFooter({ claimed, chainId, isClaiming, onClaim, onShare }: OperationFooterProps) {
431443
const { classes } = useStyles({ claimed, outdated: false })
432444
const t = useRedPacketTrans()
433445

@@ -460,7 +472,7 @@ function OperationFooter({ claimed, onShare, chainId, claim, isClaiming }: Opera
460472
variant="roundedDark"
461473
loading={isClaiming}
462474
disabled={isClaiming}
463-
onClick={claim}
475+
onClick={onClaim}
464476
className={classes.button}
465477
fullWidth>
466478
{isClaiming ? t.claiming() : t.claim()}

Diff for: packages/plugins/RedPacket/src/SiteAdaptor/hooks/useClaimNftRedpacketCallback.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ const EXTRA_GAS_PER_NFT = 335
1111
export function useClaimNftRedpacketCallback(id: string, totalAmount: number | undefined, signedMsg: string) {
1212
const { account, chainId } = useChainContext<NetworkPluginID.PLUGIN_EVM>()
1313
const nftRedPacketContract = useNftRedPacketContract(chainId)
14-
return useAsyncFn(async () => {
14+
return useAsyncFn(async (): Promise<string | undefined | Error> => {
1515
if (!nftRedPacketContract || !id || !signedMsg || !account || !totalAmount) return
1616

1717
const transaction = nftRedPacketContract.methods.claim(id, signedMsg, account)
18+
const estimatedGas = await transaction.estimateGas({ from: account })
1819
const tx = await new ContractTransaction(nftRedPacketContract).fillAll(transaction, {
1920
from: account,
20-
gas: toFixed((await transaction.estimateGas({ from: account })) + EXTRA_GAS_PER_NFT * totalAmount),
21+
gas: toFixed(estimatedGas + EXTRA_GAS_PER_NFT * totalAmount),
2122
chainId,
2223
})
2324
return EVMWeb3.sendTransaction(tx, { chainId })

Diff for: packages/plugins/RedPacket/src/base.ts

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export const base: Plugin.Shared.Definition = {
3535
ChainId.Conflux,
3636
ChainId.Astar,
3737
ChainId.Scroll,
38+
ChainId.X1_Testnet,
3839
],
3940
},
4041
[NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] },

Diff for: packages/plugins/Tips/src/base.ts

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export const base: Plugin.Shared.Definition = {
3535
ChainId.Astar,
3636
ChainId.Scroll,
3737
ChainId.Optimism,
38+
ChainId.X1_Testnet,
3839
],
3940
},
4041
[NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] },

Diff for: packages/plugins/Trader/src/helpers/getEVMAvailableTraderProviders.ts

+2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ export function getEVMAvailableTraderProviders(networkType?: NetworkType) {
6161
case NetworkType.Conflux:
6262
case NetworkType.Moonbeam:
6363
case NetworkType.CustomNetwork:
64+
case NetworkType.X1:
65+
case NetworkType.X1_Testnet:
6466
console.error('To be implement network:', networkType)
6567
return EMPTY_LIST
6668
default:

Diff for: packages/plugins/Trader/src/providers/ZeroX.ts

+2
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ function getNativeTokenLabel(networkType: NetworkType) {
5050
case NetworkType.Scroll:
5151
case NetworkType.Moonbeam:
5252
case NetworkType.CustomNetwork:
53+
case NetworkType.X1:
54+
case NetworkType.X1_Testnet:
5355
return ZRX_NATIVE_TOKEN_ADDRESS
5456
default:
5557
safeUnreachable(networkType)

Diff for: packages/web3-constants/evm/ethereum.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
"Fantom": "0xc119574d5fb333f5ac018658d4d8b5035e16bf39",
2020
"Aurora": "0xC119574D5Fb333F5AC018658D4d8b5035E16bf39",
2121
"Astar": "0xf5056B96ab242C566002852d0b98ce0BcDf1af51",
22-
"Scroll": "0xbC7d98985966f56A66B0cB5F23d865676dc2ac84"
22+
"Scroll": "0xbC7d98985966f56A66B0cB5F23d865676dc2ac84",
23+
"X1": "0x8A42F70047a99298822dD1dbA34b454fc49913F2",
24+
"X1_Testnet": "0x8A42F70047a99298822dD1dbA34b454fc49913F2"
2325
},
2426
"MULTICALL_ADDRESS": {
2527
"Mainnet": "0x1F98415757620B543A52E61c46B32eB19261F984",
@@ -44,7 +46,9 @@
4446
"Aurora": "0x6cc1b1058F9153358278C35E0b2D382f1585854B",
4547
"Conflux": "0x19f179d7e0d7d9f9d5386afff64271d98a91615b",
4648
"Astar": "0x1410304B91a280ad083196B0B50e9d8df749d860",
47-
"Scroll": "0x20Ee232E34B87061fE3ba0DB738A3531A3e915BF"
49+
"Scroll": "0x20Ee232E34B87061fE3ba0DB738A3531A3e915BF",
50+
"X1": "0xF8935Df67cAB7BfcA9532D1Ac2088C5c39b995b5",
51+
"X1_Testnet": "0xF8935Df67cAB7BfcA9532D1Ac2088C5c39b995b5"
4852
},
4953
"ENS_REGISTRAR_ADDRESS": {
5054
"Mainnet": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",

Diff for: packages/web3-constants/evm/nft-red-packet.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
"Aurora_Testnet": "0x97369fEE7db34E0BfE47861f2ec44b4378d13eB4",
1414
"Conflux": "0x5b966f3a32db9c180843bcb40267a66b73e4f022",
1515
"Astar": "0xc3e62b2CC70439C32a381Bfc056aCEd1d7162cef",
16-
"Scroll": "0x727F8030964CCEC6B0E344399c8d8E2B4C837351"
16+
"Scroll": "0x727F8030964CCEC6B0E344399c8d8E2B4C837351",
17+
"X1": "0xd81c16d71432d7df04575ffe9fed76f837fea0cc",
18+
"X1_Testnet": "0xd81c16d71432d7df04575ffe9fed76f837fea0cc"
1719
},
1820
"NFT_RED_PACKET_ADDRESS_BLOCK_HEIGHT": {
1921
"Mainnet": 13229711,
@@ -41,6 +43,8 @@
4143
"Aurora_Testnet": 0,
4244
"Conflux": 0,
4345
"Astar": 0,
44-
"Scroll": 96705
46+
"Scroll": 96705,
47+
"X1": 0,
48+
"X1_Testnet": 7319723
4549
}
4650
}

Diff for: packages/web3-constants/evm/red-packet.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636
"Aurora_Testnet": "0xdB93cCd481012bB5D1E2c8d0aF7C5f2940c00fdC",
3737
"Conflux": "0x96c7d011cdfd467f551605f0f5fce279f86f4186",
3838
"Astar": "0x2cF46Db820e279c5fBF778367D49d9C931D54524",
39-
"Scroll": "0x16f61cb37169523635B6761f3C946892fb3c18fB"
39+
"Scroll": "0x16f61cb37169523635B6761f3C946892fb3c18fB",
40+
"X1": "0x977baB5f7e2cEd0C91fDA890Ed1DBDfD3Ee9AE81",
41+
"X1_Testnet": "0x977baB5f7e2cEd0C91fDA890Ed1DBDfD3Ee9AE81"
4042
},
4143
"HAPPY_RED_PACKET_ADDRESS_V4_BLOCK_HEIGHT": {
4244
"Mainnet": 12939427,
@@ -64,6 +66,8 @@
6466
"Aurora_Testnet": 77918765,
6567
"Conflux": 37670572,
6668
"Astar": 910985,
67-
"Scroll": 96705
69+
"Scroll": 96705,
70+
"X1": 0,
71+
"X1_Testnet": 7320220
6872
}
6973
}

Diff for: packages/web3-constants/evm/rpc.json

+9-3
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@
7070
"Aurora_Testnet": ["https://testnet.aurora.dev"],
7171
"Conflux": ["https://evm.confluxrpc.com"],
7272
"Astar": ["https://astar.api.onfinality.io/public"],
73-
"Scroll": ["https://rpc.scroll.io"]
73+
"Scroll": ["https://rpc.scroll.io"],
74+
"X1": ["https://rpc.x1.tech"],
75+
"X1_Testnet": ["https://testrpc.x1.tech"]
7476
},
7577
"RPC_URLS_OFFICIAL": {
7678
"Mainnet": ["https://mainnet.infura.io/v3/d65858b010d249419cf8687eca12b094"],
@@ -98,7 +100,9 @@
98100
"Aurora_Testnet": ["https://testnet.aurora.dev/"],
99101
"Conflux": ["https://evm.confluxrpc.com"],
100102
"Astar": ["https://rpc.astar.network:8545"],
101-
"Scroll": ["https://rpc.scroll.io"]
103+
"Scroll": ["https://rpc.scroll.io"],
104+
"X1": ["https://rpc.x1.tech"],
105+
"X1_Testnet": ["https://testrpc.x1.tech"]
102106
},
103107
"RPC_WEIGHTS": {
104108
"Mainnet": [0, 1, 2, 3, 4],
@@ -126,6 +130,8 @@
126130
"Aurora_Testnet": [0, 0, 0, 0, 0],
127131
"Conflux": [0, 0, 0, 0, 0],
128132
"Astar": [0, 0, 0, 0, 0],
129-
"Scroll": [0, 0, 0, 0, 0]
133+
"Scroll": [0, 0, 0, 0, 0],
134+
"X1": [0, 0, 0, 0, 0],
135+
"X1_Testnet": [0, 0, 0, 0, 0]
130136
}
131137
}

Diff for: packages/web3-constants/evm/token-list.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
"Aurora_Testnet": [],
2626
"Conflux": ["https://tokens.r2d2.to/latest/1030/tokens.json"],
2727
"Astar": ["https://tokens.r2d2.to/latest/592/tokens.json"],
28-
"Scroll": ["https://tokens.r2d2.to/latest/534352/tokens.json"]
28+
"Scroll": ["https://tokens.r2d2.to/latest/534352/tokens.json"],
29+
"X1": ["https://tokens.r2d2.to/latest/196/tokens.json"],
30+
"X1_Testnet": ["https://tokens.r2d2.to/latest/195/tokens.json"]
2931
}
3032
}

Diff for: packages/web3-constants/evm/token.json

+12-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
"Fantom": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
2424
"Aurora": "0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB",
2525
"Astar": "0xaeaaf0e2c81af264101b9129c00f4440ccf0f720",
26-
"Scroll": "0x5300000000000000000000000000000000000004"
26+
"Scroll": "0x5300000000000000000000000000000000000004",
27+
"X1": "0x049a970485cf54904a6da1e1cea2ac18c9b8fb9f",
28+
"X1_Testnet": "0x049a970485cf54904a6da1e1cea2ac18c9b8fb9f"
2729
},
2830
"LDO_stETH_ADDRESS": {
2931
"Mainnet": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
@@ -53,7 +55,9 @@
5355
"Fantom": "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
5456
"Aurora": "0xb12bfca5a55806aaf64e99521918a4bf0fc40802",
5557
"Astar": "0x6a2d262D56735DbA19Dd70682B39F6bE9a931D98",
56-
"Scroll": "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"
58+
"Scroll": "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
59+
"X1": "0x2e1cba4a9f6e69d27e65046fc93b873b05f79a39",
60+
"X1_Testnet": "0x2e1cba4a9f6e69d27e65046fc93b873b05f79a39"
5761
},
5862
"USDT_ADDRESS": {
5963
"Mainnet": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
@@ -68,7 +72,9 @@
6872
"Celo": "0xb020d981420744f6b0fedd22bb67cd37ce18a1d5",
6973
"Aurora": "0x4988a896b1227218e4a686fde5eabdcabd91571f",
7074
"Astar": "0x3795C36e7D12A8c252A20C5a7B455f7c57b60283",
71-
"Scroll": "0xf55BEC9cafDbE8730f096Aa55dad6D22d44099Df"
75+
"Scroll": "0xf55BEC9cafDbE8730f096Aa55dad6D22d44099Df",
76+
"X1": "0xb81fe42de28e7452088b77f3eb9685487734e088",
77+
"X1_Testnet": "0xb81fe42de28e7452088b77f3eb9685487734e088"
7278
},
7379
"aUSDT_ADDRESS": {
7480
"Mainnet": "0x71fc860F7D3A592A4a98740e39dB31d25db65ae8",
@@ -309,7 +315,9 @@
309315
"Aurora_Testnet": "0x0000000000000000000000000000000000000000",
310316
"Conflux": "0x0000000000000000000000000000000000000000",
311317
"Astar": "0x0000000000000000000000000000000000000000",
312-
"Scroll": "0x0000000000000000000000000000000000000000"
318+
"Scroll": "0x0000000000000000000000000000000000000000",
319+
"X1": "0x0000000000000000000000000000000000000000",
320+
"X1_Testnet": "0x0000000000000000000000000000000000000000"
313321
},
314322
"WETH_ADDRESS": {
315323
"Mainnet": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",

Diff for: packages/web3-shared/evm/src/assets/x1.png

1.32 KB
Loading

Diff for: packages/web3-shared/evm/src/constants/chains.json

+48
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,54 @@
674674
}
675675
]
676676
},
677+
{
678+
"chainId": 196,
679+
"type": "X1",
680+
"name": "X1",
681+
"fullName": "X1",
682+
"network": "testnet",
683+
"shortName": "x1",
684+
"features": [],
685+
"nativeCurrency": {
686+
"chainId": 196,
687+
"name": "OKB",
688+
"symbol": "OKB",
689+
"decimals": 18,
690+
"logoURL": "https://static.okx.com/cdn/wallet/logo/okb.png?x-oss-process=image/format,webp/ignore-error,1"
691+
},
692+
"infoURL": "https://www.okx.com/web3",
693+
"explorers": [
694+
{
695+
"name": "X1 explorer",
696+
"url": "https://www.okx.com/explorer/x1",
697+
"standard": "EIP3091"
698+
}
699+
]
700+
},
701+
{
702+
"chainId": 195,
703+
"type": "X1",
704+
"name": "X1 Testnet",
705+
"fullName": "X1 Testnet",
706+
"network": "mainnet",
707+
"shortName": "x1",
708+
"features": [],
709+
"nativeCurrency": {
710+
"chainId": 195,
711+
"name": "OKB",
712+
"symbol": "OKB",
713+
"decimals": 18,
714+
"logoURL": "https://static.okx.com/cdn/wallet/logo/okb.png?x-oss-process=image/format,webp/ignore-error,1"
715+
},
716+
"infoURL": "https://www.okx.com/web3",
717+
"explorers": [
718+
{
719+
"name": "X1 explorer",
720+
"url": "https://www.okx.com/explorer/x1-test",
721+
"standard": "EIP3091"
722+
}
723+
]
724+
},
677725
{
678726
"chainId": 25,
679727
"name": "Cronos",

0 commit comments

Comments
 (0)