@gfxlabs/oku-chains 1.12.22 → 1.12.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -7045,7 +7045,10 @@
7045
7045
  (function (ChainType) {
7046
7046
  /** EVM chains (CAIP-2 namespace `eip155`). */
7047
7047
  ChainType["EVM"] = "eip155";
7048
- /** Bitcoin (CAIP-2 namespace `bip122`). */
7048
+ /**
7049
+ * Bitcoin and Bitcoin-derived chains, e.g. Zcash (CAIP-2 namespace
7050
+ * `bip122`).
7051
+ */
7049
7052
  ChainType["Bitcoin"] = "bip122";
7050
7053
  /** Solana (CAIP-2 namespace `solana`). */
7051
7054
  ChainType["Solana"] = "solana";
@@ -7145,7 +7148,7 @@
7145
7148
  * Refs:
7146
7149
  * - https://github.com/ChainAgnostic/namespaces/blob/main/bip122/caip2.md
7147
7150
  */
7148
- const chain = viem.defineChain({
7151
+ const chain$2 = viem.defineChain({
7149
7152
  id: NON_EVM_CHAIN_ID,
7150
7153
  name: "Bitcoin",
7151
7154
  nativeCurrency: {
@@ -7167,7 +7170,7 @@
7167
7170
  },
7168
7171
  });
7169
7172
  const bitcoin = makeConfig({
7170
- ...chain,
7173
+ ...chain$2,
7171
7174
  caip2Namespace: "bip122",
7172
7175
  caip2Reference: "000000000019d6689c085ae165831e93",
7173
7176
  internalName: "bitcoin",
@@ -7212,6 +7215,173 @@
7212
7215
  },
7213
7216
  });
7214
7217
 
7218
+ /**
7219
+ * Solana mainnet-beta.
7220
+ *
7221
+ * A non-EVM chain expressed within the EVM-shaped {@link IChainInfo} so it
7222
+ * flows through the existing resolvers and consumers unchanged. Because viem's
7223
+ * `Chain` requires a numeric `id`, Solana uses the {@link NON_EVM_CHAIN_ID}
7224
+ * (`0`) placeholder and is identified/resolved via CAIP-2 instead:
7225
+ * `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`, where the reference is the first
7226
+ * 32 base58 chars of the genesis hash per the CAIP-2 `solana` namespace.
7227
+ *
7228
+ * EVM-only fields (uniswap, morpho, contracts, etc.) are present but empty.
7229
+ *
7230
+ * Refs:
7231
+ * - https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip2.md
7232
+ */
7233
+ const chain$1 = viem.defineChain({
7234
+ id: NON_EVM_CHAIN_ID,
7235
+ name: "Solana",
7236
+ nativeCurrency: {
7237
+ name: "Solana",
7238
+ symbol: "SOL",
7239
+ decimals: 9,
7240
+ },
7241
+ rpcUrls: {
7242
+ default: {
7243
+ http: ["https://api.mainnet-beta.solana.com"],
7244
+ },
7245
+ },
7246
+ blockExplorers: {
7247
+ default: {
7248
+ name: "Solscan",
7249
+ url: "https://solscan.io",
7250
+ apiUrl: "https://public-api.solscan.io",
7251
+ },
7252
+ },
7253
+ });
7254
+ const solana = makeConfig({
7255
+ ...chain$1,
7256
+ caip2Namespace: "solana",
7257
+ caip2Reference: "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
7258
+ internalName: "solana",
7259
+ transactionType: "solana",
7260
+ sortIndex: 1001,
7261
+ launchTime: 1584368940,
7262
+ blockTimeSeconds: 0.4,
7263
+ deprecated: false,
7264
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/solana-logo.webp",
7265
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/sol.png",
7266
+ blockAid: "solana",
7267
+ estimatedSwapGas: 0,
7268
+ estimatedBridgeGas: 0,
7269
+ estimatedWrapGas: 0,
7270
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
7271
+ defaultPool: "0x0000000000000000000000000000000000000000",
7272
+ defaultToken0: "0x0000000000000000000000000000000000000000",
7273
+ defaultToken1: "0x0000000000000000000000000000000000000000",
7274
+ tokenList: [],
7275
+ stables: [],
7276
+ watchlist: [],
7277
+ v4Watchlist: [],
7278
+ externalId: {
7279
+ coingecko: "solana",
7280
+ },
7281
+ markets: {},
7282
+ bridges: {},
7283
+ oracles: {
7284
+ coingecko: {
7285
+ slug: "solana",
7286
+ native: "solana",
7287
+ },
7288
+ },
7289
+ uniswap: {},
7290
+ morpho: {},
7291
+ token: {},
7292
+ oku: {},
7293
+ contracts: {
7294
+ nftManager: {
7295
+ address: "0x0000000000000000000000000000000000000000",
7296
+ },
7297
+ },
7298
+ });
7299
+
7300
+ /**
7301
+ * Zcash mainnet.
7302
+ *
7303
+ * A non-EVM chain expressed within the EVM-shaped {@link IChainInfo} so it
7304
+ * flows through the existing resolvers and consumers unchanged. Because viem's
7305
+ * `Chain` requires a numeric `id`, Zcash uses the {@link NON_EVM_CHAIN_ID}
7306
+ * (`0`) placeholder and is identified/resolved via CAIP-2 instead:
7307
+ * `bip122:00040fe8ec8471911baa1db1266ea15d`, where the reference is the first
7308
+ * 32 hex chars of the genesis block hash per the CAIP-2 `bip122` namespace.
7309
+ * Zcash is a Bitcoin-derived chain and therefore shares the `bip122`
7310
+ * namespace, so `chainType(zcash)` is `ChainType.Bitcoin`; use `internalName`
7311
+ * (or the CAIP-2 identifier) to distinguish it from Bitcoin itself.
7312
+ *
7313
+ * EVM-only fields (uniswap, morpho, contracts, etc.) are present but empty.
7314
+ *
7315
+ * Refs:
7316
+ * - https://github.com/ChainAgnostic/namespaces/blob/main/bip122/caip2.md
7317
+ */
7318
+ const chain = viem.defineChain({
7319
+ id: NON_EVM_CHAIN_ID,
7320
+ name: "Zcash",
7321
+ nativeCurrency: {
7322
+ name: "Zcash",
7323
+ symbol: "ZEC",
7324
+ decimals: 8,
7325
+ },
7326
+ rpcUrls: {
7327
+ default: {
7328
+ http: ["https://zec.rocks:443"],
7329
+ },
7330
+ },
7331
+ blockExplorers: {
7332
+ default: {
7333
+ name: "Blockchair",
7334
+ url: "https://blockchair.com/zcash",
7335
+ apiUrl: "https://api.blockchair.com/zcash",
7336
+ },
7337
+ },
7338
+ });
7339
+ const zcash = makeConfig({
7340
+ ...chain,
7341
+ caip2Namespace: "bip122",
7342
+ caip2Reference: "00040fe8ec8471911baa1db1266ea15d",
7343
+ internalName: "zcash",
7344
+ transactionType: "zcash",
7345
+ sortIndex: 1002,
7346
+ launchTime: 1477641360,
7347
+ blockTimeSeconds: 75,
7348
+ deprecated: false,
7349
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/zcash-logo.webp",
7350
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/zec.png",
7351
+ blockAid: "",
7352
+ estimatedSwapGas: 0,
7353
+ estimatedBridgeGas: 0,
7354
+ estimatedWrapGas: 0,
7355
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
7356
+ defaultPool: "0x0000000000000000000000000000000000000000",
7357
+ defaultToken0: "0x0000000000000000000000000000000000000000",
7358
+ defaultToken1: "0x0000000000000000000000000000000000000000",
7359
+ tokenList: [],
7360
+ stables: [],
7361
+ watchlist: [],
7362
+ v4Watchlist: [],
7363
+ externalId: {
7364
+ coingecko: "zcash",
7365
+ },
7366
+ markets: {},
7367
+ bridges: {},
7368
+ oracles: {
7369
+ coingecko: {
7370
+ slug: "zcash",
7371
+ native: "zcash",
7372
+ },
7373
+ },
7374
+ uniswap: {},
7375
+ morpho: {},
7376
+ token: {},
7377
+ oku: {},
7378
+ contracts: {
7379
+ nftManager: {
7380
+ address: "0x0000000000000000000000000000000000000000",
7381
+ },
7382
+ },
7383
+ });
7384
+
7215
7385
  /**
7216
7386
  * Parse a CAIP-2 chain ID string into its namespace and reference components.
7217
7387
  *
@@ -7490,6 +7660,8 @@
7490
7660
  */
7491
7661
  const NON_EVM_CHAINS = [
7492
7662
  bitcoin,
7663
+ solana,
7664
+ zcash,
7493
7665
  ];
7494
7666
  /**
7495
7667
  * All networks, EVM and non-EVM. Use this when you need to enumerate every
@@ -7723,6 +7895,7 @@
7723
7895
  exports.scroll = scroll;
7724
7896
  exports.sei = sei;
7725
7897
  exports.sepolia = sepolia;
7898
+ exports.solana = solana;
7726
7899
  exports.sonic = sonic;
7727
7900
  exports.taiko = taiko;
7728
7901
  exports.telos = telos;
@@ -7731,6 +7904,7 @@
7731
7904
  exports.unichain = unichain;
7732
7905
  exports.worldchain = worldchain;
7733
7906
  exports.xdc = xdc;
7907
+ exports.zcash = zcash;
7734
7908
  exports.zerog = zerog;
7735
7909
  exports.zkSync = zkSync;
7736
7910
 
package/dist/index-mjs.js CHANGED
@@ -7042,7 +7042,10 @@ var ChainType;
7042
7042
  (function (ChainType) {
7043
7043
  /** EVM chains (CAIP-2 namespace `eip155`). */
7044
7044
  ChainType["EVM"] = "eip155";
7045
- /** Bitcoin (CAIP-2 namespace `bip122`). */
7045
+ /**
7046
+ * Bitcoin and Bitcoin-derived chains, e.g. Zcash (CAIP-2 namespace
7047
+ * `bip122`).
7048
+ */
7046
7049
  ChainType["Bitcoin"] = "bip122";
7047
7050
  /** Solana (CAIP-2 namespace `solana`). */
7048
7051
  ChainType["Solana"] = "solana";
@@ -7142,7 +7145,7 @@ function isNonEvmChain$1(c) {
7142
7145
  * Refs:
7143
7146
  * - https://github.com/ChainAgnostic/namespaces/blob/main/bip122/caip2.md
7144
7147
  */
7145
- const chain = defineChain({
7148
+ const chain$2 = defineChain({
7146
7149
  id: NON_EVM_CHAIN_ID,
7147
7150
  name: "Bitcoin",
7148
7151
  nativeCurrency: {
@@ -7164,7 +7167,7 @@ const chain = defineChain({
7164
7167
  },
7165
7168
  });
7166
7169
  const bitcoin = makeConfig({
7167
- ...chain,
7170
+ ...chain$2,
7168
7171
  caip2Namespace: "bip122",
7169
7172
  caip2Reference: "000000000019d6689c085ae165831e93",
7170
7173
  internalName: "bitcoin",
@@ -7209,6 +7212,173 @@ const bitcoin = makeConfig({
7209
7212
  },
7210
7213
  });
7211
7214
 
7215
+ /**
7216
+ * Solana mainnet-beta.
7217
+ *
7218
+ * A non-EVM chain expressed within the EVM-shaped {@link IChainInfo} so it
7219
+ * flows through the existing resolvers and consumers unchanged. Because viem's
7220
+ * `Chain` requires a numeric `id`, Solana uses the {@link NON_EVM_CHAIN_ID}
7221
+ * (`0`) placeholder and is identified/resolved via CAIP-2 instead:
7222
+ * `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`, where the reference is the first
7223
+ * 32 base58 chars of the genesis hash per the CAIP-2 `solana` namespace.
7224
+ *
7225
+ * EVM-only fields (uniswap, morpho, contracts, etc.) are present but empty.
7226
+ *
7227
+ * Refs:
7228
+ * - https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip2.md
7229
+ */
7230
+ const chain$1 = defineChain({
7231
+ id: NON_EVM_CHAIN_ID,
7232
+ name: "Solana",
7233
+ nativeCurrency: {
7234
+ name: "Solana",
7235
+ symbol: "SOL",
7236
+ decimals: 9,
7237
+ },
7238
+ rpcUrls: {
7239
+ default: {
7240
+ http: ["https://api.mainnet-beta.solana.com"],
7241
+ },
7242
+ },
7243
+ blockExplorers: {
7244
+ default: {
7245
+ name: "Solscan",
7246
+ url: "https://solscan.io",
7247
+ apiUrl: "https://public-api.solscan.io",
7248
+ },
7249
+ },
7250
+ });
7251
+ const solana = makeConfig({
7252
+ ...chain$1,
7253
+ caip2Namespace: "solana",
7254
+ caip2Reference: "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
7255
+ internalName: "solana",
7256
+ transactionType: "solana",
7257
+ sortIndex: 1001,
7258
+ launchTime: 1584368940,
7259
+ blockTimeSeconds: 0.4,
7260
+ deprecated: false,
7261
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/solana-logo.webp",
7262
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/sol.png",
7263
+ blockAid: "solana",
7264
+ estimatedSwapGas: 0,
7265
+ estimatedBridgeGas: 0,
7266
+ estimatedWrapGas: 0,
7267
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
7268
+ defaultPool: "0x0000000000000000000000000000000000000000",
7269
+ defaultToken0: "0x0000000000000000000000000000000000000000",
7270
+ defaultToken1: "0x0000000000000000000000000000000000000000",
7271
+ tokenList: [],
7272
+ stables: [],
7273
+ watchlist: [],
7274
+ v4Watchlist: [],
7275
+ externalId: {
7276
+ coingecko: "solana",
7277
+ },
7278
+ markets: {},
7279
+ bridges: {},
7280
+ oracles: {
7281
+ coingecko: {
7282
+ slug: "solana",
7283
+ native: "solana",
7284
+ },
7285
+ },
7286
+ uniswap: {},
7287
+ morpho: {},
7288
+ token: {},
7289
+ oku: {},
7290
+ contracts: {
7291
+ nftManager: {
7292
+ address: "0x0000000000000000000000000000000000000000",
7293
+ },
7294
+ },
7295
+ });
7296
+
7297
+ /**
7298
+ * Zcash mainnet.
7299
+ *
7300
+ * A non-EVM chain expressed within the EVM-shaped {@link IChainInfo} so it
7301
+ * flows through the existing resolvers and consumers unchanged. Because viem's
7302
+ * `Chain` requires a numeric `id`, Zcash uses the {@link NON_EVM_CHAIN_ID}
7303
+ * (`0`) placeholder and is identified/resolved via CAIP-2 instead:
7304
+ * `bip122:00040fe8ec8471911baa1db1266ea15d`, where the reference is the first
7305
+ * 32 hex chars of the genesis block hash per the CAIP-2 `bip122` namespace.
7306
+ * Zcash is a Bitcoin-derived chain and therefore shares the `bip122`
7307
+ * namespace, so `chainType(zcash)` is `ChainType.Bitcoin`; use `internalName`
7308
+ * (or the CAIP-2 identifier) to distinguish it from Bitcoin itself.
7309
+ *
7310
+ * EVM-only fields (uniswap, morpho, contracts, etc.) are present but empty.
7311
+ *
7312
+ * Refs:
7313
+ * - https://github.com/ChainAgnostic/namespaces/blob/main/bip122/caip2.md
7314
+ */
7315
+ const chain = defineChain({
7316
+ id: NON_EVM_CHAIN_ID,
7317
+ name: "Zcash",
7318
+ nativeCurrency: {
7319
+ name: "Zcash",
7320
+ symbol: "ZEC",
7321
+ decimals: 8,
7322
+ },
7323
+ rpcUrls: {
7324
+ default: {
7325
+ http: ["https://zec.rocks:443"],
7326
+ },
7327
+ },
7328
+ blockExplorers: {
7329
+ default: {
7330
+ name: "Blockchair",
7331
+ url: "https://blockchair.com/zcash",
7332
+ apiUrl: "https://api.blockchair.com/zcash",
7333
+ },
7334
+ },
7335
+ });
7336
+ const zcash = makeConfig({
7337
+ ...chain,
7338
+ caip2Namespace: "bip122",
7339
+ caip2Reference: "00040fe8ec8471911baa1db1266ea15d",
7340
+ internalName: "zcash",
7341
+ transactionType: "zcash",
7342
+ sortIndex: 1002,
7343
+ launchTime: 1477641360,
7344
+ blockTimeSeconds: 75,
7345
+ deprecated: false,
7346
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/zcash-logo.webp",
7347
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/zec.png",
7348
+ blockAid: "",
7349
+ estimatedSwapGas: 0,
7350
+ estimatedBridgeGas: 0,
7351
+ estimatedWrapGas: 0,
7352
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
7353
+ defaultPool: "0x0000000000000000000000000000000000000000",
7354
+ defaultToken0: "0x0000000000000000000000000000000000000000",
7355
+ defaultToken1: "0x0000000000000000000000000000000000000000",
7356
+ tokenList: [],
7357
+ stables: [],
7358
+ watchlist: [],
7359
+ v4Watchlist: [],
7360
+ externalId: {
7361
+ coingecko: "zcash",
7362
+ },
7363
+ markets: {},
7364
+ bridges: {},
7365
+ oracles: {
7366
+ coingecko: {
7367
+ slug: "zcash",
7368
+ native: "zcash",
7369
+ },
7370
+ },
7371
+ uniswap: {},
7372
+ morpho: {},
7373
+ token: {},
7374
+ oku: {},
7375
+ contracts: {
7376
+ nftManager: {
7377
+ address: "0x0000000000000000000000000000000000000000",
7378
+ },
7379
+ },
7380
+ });
7381
+
7212
7382
  /**
7213
7383
  * Parse a CAIP-2 chain ID string into its namespace and reference components.
7214
7384
  *
@@ -7487,6 +7657,8 @@ const MAINNET_CHAINS = [
7487
7657
  */
7488
7658
  const NON_EVM_CHAINS = [
7489
7659
  bitcoin,
7660
+ solana,
7661
+ zcash,
7490
7662
  ];
7491
7663
  /**
7492
7664
  * All networks, EVM and non-EVM. Use this when you need to enumerate every
@@ -7658,4 +7830,4 @@ function isNonEvmChain(c) {
7658
7830
  return isNonEvmChain$1(namespaceOfChainLike(c));
7659
7831
  }
7660
7832
 
7661
- export { ALL_NETWORKS, ChainType, MAINNET_CHAINS, NON_EVM_CHAINS, NON_EVM_CHAIN_ID, NetworkNotFoundError, arbitrum, avalanche, base, bitcoin, blast, bob, boba, bsc, buildNetworkIndex, caip2Reference, celo, chainType, corn, etherlink, filecoin, formatCAIP2, fromCAIP2, gensyn, gnosis, goat, hemi, hyperevm, isEvmChain, isNetworkType, isNonEvmChain, lens, lightlink, linea, lisk, mainnet, makeConfig, manta, mantle, matchain, metal, monad, moonbeam, networkByAny, networkByCAIP2, networkById, networkByName, networkByString, nibiru, optimism, parseCAIP2, pharos, plasma, polygon, polygonZkEvm, redbelly, robinhood, ronin, rootstock, saga, scroll, sei, sepolia, sonic, taiko, telos, toCAIP2, tronShasta, unichain, worldchain, xdc, zerog, zkSync };
7833
+ export { ALL_NETWORKS, ChainType, MAINNET_CHAINS, NON_EVM_CHAINS, NON_EVM_CHAIN_ID, NetworkNotFoundError, arbitrum, avalanche, base, bitcoin, blast, bob, boba, bsc, buildNetworkIndex, caip2Reference, celo, chainType, corn, etherlink, filecoin, formatCAIP2, fromCAIP2, gensyn, gnosis, goat, hemi, hyperevm, isEvmChain, isNetworkType, isNonEvmChain, lens, lightlink, linea, lisk, mainnet, makeConfig, manta, mantle, matchain, metal, monad, moonbeam, networkByAny, networkByCAIP2, networkById, networkByName, networkByString, nibiru, optimism, parseCAIP2, pharos, plasma, polygon, polygonZkEvm, redbelly, robinhood, ronin, rootstock, saga, scroll, sei, sepolia, solana, sonic, taiko, telos, toCAIP2, tronShasta, unichain, worldchain, xdc, zcash, zerog, zkSync };
package/dist/index.js CHANGED
@@ -7044,7 +7044,10 @@ exports.ChainType = void 0;
7044
7044
  (function (ChainType) {
7045
7045
  /** EVM chains (CAIP-2 namespace `eip155`). */
7046
7046
  ChainType["EVM"] = "eip155";
7047
- /** Bitcoin (CAIP-2 namespace `bip122`). */
7047
+ /**
7048
+ * Bitcoin and Bitcoin-derived chains, e.g. Zcash (CAIP-2 namespace
7049
+ * `bip122`).
7050
+ */
7048
7051
  ChainType["Bitcoin"] = "bip122";
7049
7052
  /** Solana (CAIP-2 namespace `solana`). */
7050
7053
  ChainType["Solana"] = "solana";
@@ -7144,7 +7147,7 @@ function isNonEvmChain$1(c) {
7144
7147
  * Refs:
7145
7148
  * - https://github.com/ChainAgnostic/namespaces/blob/main/bip122/caip2.md
7146
7149
  */
7147
- const chain = viem.defineChain({
7150
+ const chain$2 = viem.defineChain({
7148
7151
  id: NON_EVM_CHAIN_ID,
7149
7152
  name: "Bitcoin",
7150
7153
  nativeCurrency: {
@@ -7166,7 +7169,7 @@ const chain = viem.defineChain({
7166
7169
  },
7167
7170
  });
7168
7171
  const bitcoin = makeConfig({
7169
- ...chain,
7172
+ ...chain$2,
7170
7173
  caip2Namespace: "bip122",
7171
7174
  caip2Reference: "000000000019d6689c085ae165831e93",
7172
7175
  internalName: "bitcoin",
@@ -7211,6 +7214,173 @@ const bitcoin = makeConfig({
7211
7214
  },
7212
7215
  });
7213
7216
 
7217
+ /**
7218
+ * Solana mainnet-beta.
7219
+ *
7220
+ * A non-EVM chain expressed within the EVM-shaped {@link IChainInfo} so it
7221
+ * flows through the existing resolvers and consumers unchanged. Because viem's
7222
+ * `Chain` requires a numeric `id`, Solana uses the {@link NON_EVM_CHAIN_ID}
7223
+ * (`0`) placeholder and is identified/resolved via CAIP-2 instead:
7224
+ * `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`, where the reference is the first
7225
+ * 32 base58 chars of the genesis hash per the CAIP-2 `solana` namespace.
7226
+ *
7227
+ * EVM-only fields (uniswap, morpho, contracts, etc.) are present but empty.
7228
+ *
7229
+ * Refs:
7230
+ * - https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip2.md
7231
+ */
7232
+ const chain$1 = viem.defineChain({
7233
+ id: NON_EVM_CHAIN_ID,
7234
+ name: "Solana",
7235
+ nativeCurrency: {
7236
+ name: "Solana",
7237
+ symbol: "SOL",
7238
+ decimals: 9,
7239
+ },
7240
+ rpcUrls: {
7241
+ default: {
7242
+ http: ["https://api.mainnet-beta.solana.com"],
7243
+ },
7244
+ },
7245
+ blockExplorers: {
7246
+ default: {
7247
+ name: "Solscan",
7248
+ url: "https://solscan.io",
7249
+ apiUrl: "https://public-api.solscan.io",
7250
+ },
7251
+ },
7252
+ });
7253
+ const solana = makeConfig({
7254
+ ...chain$1,
7255
+ caip2Namespace: "solana",
7256
+ caip2Reference: "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
7257
+ internalName: "solana",
7258
+ transactionType: "solana",
7259
+ sortIndex: 1001,
7260
+ launchTime: 1584368940,
7261
+ blockTimeSeconds: 0.4,
7262
+ deprecated: false,
7263
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/solana-logo.webp",
7264
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/sol.png",
7265
+ blockAid: "solana",
7266
+ estimatedSwapGas: 0,
7267
+ estimatedBridgeGas: 0,
7268
+ estimatedWrapGas: 0,
7269
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
7270
+ defaultPool: "0x0000000000000000000000000000000000000000",
7271
+ defaultToken0: "0x0000000000000000000000000000000000000000",
7272
+ defaultToken1: "0x0000000000000000000000000000000000000000",
7273
+ tokenList: [],
7274
+ stables: [],
7275
+ watchlist: [],
7276
+ v4Watchlist: [],
7277
+ externalId: {
7278
+ coingecko: "solana",
7279
+ },
7280
+ markets: {},
7281
+ bridges: {},
7282
+ oracles: {
7283
+ coingecko: {
7284
+ slug: "solana",
7285
+ native: "solana",
7286
+ },
7287
+ },
7288
+ uniswap: {},
7289
+ morpho: {},
7290
+ token: {},
7291
+ oku: {},
7292
+ contracts: {
7293
+ nftManager: {
7294
+ address: "0x0000000000000000000000000000000000000000",
7295
+ },
7296
+ },
7297
+ });
7298
+
7299
+ /**
7300
+ * Zcash mainnet.
7301
+ *
7302
+ * A non-EVM chain expressed within the EVM-shaped {@link IChainInfo} so it
7303
+ * flows through the existing resolvers and consumers unchanged. Because viem's
7304
+ * `Chain` requires a numeric `id`, Zcash uses the {@link NON_EVM_CHAIN_ID}
7305
+ * (`0`) placeholder and is identified/resolved via CAIP-2 instead:
7306
+ * `bip122:00040fe8ec8471911baa1db1266ea15d`, where the reference is the first
7307
+ * 32 hex chars of the genesis block hash per the CAIP-2 `bip122` namespace.
7308
+ * Zcash is a Bitcoin-derived chain and therefore shares the `bip122`
7309
+ * namespace, so `chainType(zcash)` is `ChainType.Bitcoin`; use `internalName`
7310
+ * (or the CAIP-2 identifier) to distinguish it from Bitcoin itself.
7311
+ *
7312
+ * EVM-only fields (uniswap, morpho, contracts, etc.) are present but empty.
7313
+ *
7314
+ * Refs:
7315
+ * - https://github.com/ChainAgnostic/namespaces/blob/main/bip122/caip2.md
7316
+ */
7317
+ const chain = viem.defineChain({
7318
+ id: NON_EVM_CHAIN_ID,
7319
+ name: "Zcash",
7320
+ nativeCurrency: {
7321
+ name: "Zcash",
7322
+ symbol: "ZEC",
7323
+ decimals: 8,
7324
+ },
7325
+ rpcUrls: {
7326
+ default: {
7327
+ http: ["https://zec.rocks:443"],
7328
+ },
7329
+ },
7330
+ blockExplorers: {
7331
+ default: {
7332
+ name: "Blockchair",
7333
+ url: "https://blockchair.com/zcash",
7334
+ apiUrl: "https://api.blockchair.com/zcash",
7335
+ },
7336
+ },
7337
+ });
7338
+ const zcash = makeConfig({
7339
+ ...chain,
7340
+ caip2Namespace: "bip122",
7341
+ caip2Reference: "00040fe8ec8471911baa1db1266ea15d",
7342
+ internalName: "zcash",
7343
+ transactionType: "zcash",
7344
+ sortIndex: 1002,
7345
+ launchTime: 1477641360,
7346
+ blockTimeSeconds: 75,
7347
+ deprecated: false,
7348
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/zcash-logo.webp",
7349
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/zec.png",
7350
+ blockAid: "",
7351
+ estimatedSwapGas: 0,
7352
+ estimatedBridgeGas: 0,
7353
+ estimatedWrapGas: 0,
7354
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
7355
+ defaultPool: "0x0000000000000000000000000000000000000000",
7356
+ defaultToken0: "0x0000000000000000000000000000000000000000",
7357
+ defaultToken1: "0x0000000000000000000000000000000000000000",
7358
+ tokenList: [],
7359
+ stables: [],
7360
+ watchlist: [],
7361
+ v4Watchlist: [],
7362
+ externalId: {
7363
+ coingecko: "zcash",
7364
+ },
7365
+ markets: {},
7366
+ bridges: {},
7367
+ oracles: {
7368
+ coingecko: {
7369
+ slug: "zcash",
7370
+ native: "zcash",
7371
+ },
7372
+ },
7373
+ uniswap: {},
7374
+ morpho: {},
7375
+ token: {},
7376
+ oku: {},
7377
+ contracts: {
7378
+ nftManager: {
7379
+ address: "0x0000000000000000000000000000000000000000",
7380
+ },
7381
+ },
7382
+ });
7383
+
7214
7384
  /**
7215
7385
  * Parse a CAIP-2 chain ID string into its namespace and reference components.
7216
7386
  *
@@ -7489,6 +7659,8 @@ const MAINNET_CHAINS = [
7489
7659
  */
7490
7660
  const NON_EVM_CHAINS = [
7491
7661
  bitcoin,
7662
+ solana,
7663
+ zcash,
7492
7664
  ];
7493
7665
  /**
7494
7666
  * All networks, EVM and non-EVM. Use this when you need to enumerate every
@@ -7722,6 +7894,7 @@ exports.saga = saga;
7722
7894
  exports.scroll = scroll;
7723
7895
  exports.sei = sei;
7724
7896
  exports.sepolia = sepolia;
7897
+ exports.solana = solana;
7725
7898
  exports.sonic = sonic;
7726
7899
  exports.taiko = taiko;
7727
7900
  exports.telos = telos;
@@ -7730,5 +7903,6 @@ exports.tronShasta = tronShasta;
7730
7903
  exports.unichain = unichain;
7731
7904
  exports.worldchain = worldchain;
7732
7905
  exports.xdc = xdc;
7906
+ exports.zcash = zcash;
7733
7907
  exports.zerog = zerog;
7734
7908
  exports.zkSync = zkSync;
@@ -4891,7 +4891,17 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
4891
4891
  type: "eip2930";
4892
4892
  gasPrice: bigint;
4893
4893
  maxFeePerBlobGas?: undefined | undefined;
4894
- maxFeePerGas?: undefined | undefined;
4894
+ maxFeePerGas
4895
+ /**
4896
+ * True if the chain is non-EVM (its CAIP-2 namespace is not `eip155`). Accepts
4897
+ * an {@link IChainInfo} object, a CAIP-2 string, an internal name, or a
4898
+ * numeric chain id.
4899
+ */
4900
+ ? /**
4901
+ * True if the chain is non-EVM (its CAIP-2 namespace is not `eip155`). Accepts
4902
+ * an {@link IChainInfo} object, a CAIP-2 string, an internal name, or a
4903
+ * numeric chain id.
4904
+ */: undefined | undefined;
4895
4905
  maxPriorityFeePerGas?: undefined | undefined;
4896
4906
  isSystemTx?: undefined | undefined;
4897
4907
  mint?: undefined | undefined;
@@ -10,3 +10,5 @@
10
10
  * `src/definitions/`). Re-export new chains here when you add them.
11
11
  */
12
12
  export * from "./bitcoin";
13
+ export * from "./solana";
14
+ export * from "./zcash";
@@ -0,0 +1,85 @@
1
+ export declare const solana: Readonly<{
2
+ caip2Namespace: "solana";
3
+ caip2Reference: "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
4
+ internalName: "solana";
5
+ transactionType: "solana";
6
+ sortIndex: 1001;
7
+ launchTime: 1584368940;
8
+ blockTimeSeconds: 0.4;
9
+ deprecated: false;
10
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/solana-logo.webp";
11
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/sol.png";
12
+ blockAid: "solana";
13
+ estimatedSwapGas: 0;
14
+ estimatedBridgeGas: 0;
15
+ estimatedWrapGas: 0;
16
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000";
17
+ defaultPool: "0x0000000000000000000000000000000000000000";
18
+ defaultToken0: "0x0000000000000000000000000000000000000000";
19
+ defaultToken1: "0x0000000000000000000000000000000000000000";
20
+ tokenList: never[];
21
+ stables: never[];
22
+ watchlist: never[];
23
+ v4Watchlist: never[];
24
+ externalId: {
25
+ coingecko: string;
26
+ };
27
+ markets: {};
28
+ bridges: {};
29
+ oracles: {
30
+ coingecko: {
31
+ slug: string;
32
+ native: string;
33
+ };
34
+ };
35
+ uniswap: {};
36
+ morpho: {};
37
+ token: {};
38
+ oku: {};
39
+ contracts: {
40
+ nftManager: {
41
+ address: "0x0000000000000000000000000000000000000000";
42
+ };
43
+ };
44
+ blockExplorers: {
45
+ readonly default: {
46
+ readonly name: "Solscan";
47
+ readonly url: "https://solscan.io";
48
+ readonly apiUrl: "https://public-api.solscan.io";
49
+ };
50
+ };
51
+ blockTime?: number | undefined | undefined;
52
+ ensTlds?: readonly string[] | undefined;
53
+ id: 0;
54
+ name: "Solana";
55
+ nativeCurrency: {
56
+ readonly name: "Solana";
57
+ readonly symbol: "SOL";
58
+ readonly decimals: 9;
59
+ };
60
+ experimental_preconfirmationTime?: number | undefined | undefined;
61
+ rpcUrls: {
62
+ readonly default: {
63
+ readonly http: readonly ["https://api.mainnet-beta.solana.com"];
64
+ };
65
+ };
66
+ sourceId?: number | undefined | undefined;
67
+ testnet?: boolean | undefined | undefined;
68
+ custom?: Record<string, unknown> | undefined;
69
+ extendSchema?: Record<string, unknown> | undefined;
70
+ fees?: import("viem").ChainFees<undefined> | undefined;
71
+ formatters?: undefined;
72
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
73
+ client: import("viem").Client;
74
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
75
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
76
+ client: import("viem").Client;
77
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
78
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
79
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
80
+ }] | undefined;
81
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
82
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
83
+ } & {
84
+ caip2Namespace: string;
85
+ }>;
@@ -0,0 +1,85 @@
1
+ export declare const zcash: Readonly<{
2
+ caip2Namespace: "bip122";
3
+ caip2Reference: "00040fe8ec8471911baa1db1266ea15d";
4
+ internalName: "zcash";
5
+ transactionType: "zcash";
6
+ sortIndex: 1002;
7
+ launchTime: 1477641360;
8
+ blockTimeSeconds: 75;
9
+ deprecated: false;
10
+ logoUrl: "https://cms.oku.trade/cdn/public/chains/zcash-logo.webp";
11
+ nativeLogoUrl: "https://cms.oku.trade/cdn/public/natives/zec.png";
12
+ blockAid: "";
13
+ estimatedSwapGas: 0;
14
+ estimatedBridgeGas: 0;
15
+ estimatedWrapGas: 0;
16
+ initCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000";
17
+ defaultPool: "0x0000000000000000000000000000000000000000";
18
+ defaultToken0: "0x0000000000000000000000000000000000000000";
19
+ defaultToken1: "0x0000000000000000000000000000000000000000";
20
+ tokenList: never[];
21
+ stables: never[];
22
+ watchlist: never[];
23
+ v4Watchlist: never[];
24
+ externalId: {
25
+ coingecko: string;
26
+ };
27
+ markets: {};
28
+ bridges: {};
29
+ oracles: {
30
+ coingecko: {
31
+ slug: string;
32
+ native: string;
33
+ };
34
+ };
35
+ uniswap: {};
36
+ morpho: {};
37
+ token: {};
38
+ oku: {};
39
+ contracts: {
40
+ nftManager: {
41
+ address: "0x0000000000000000000000000000000000000000";
42
+ };
43
+ };
44
+ blockExplorers: {
45
+ readonly default: {
46
+ readonly name: "Blockchair";
47
+ readonly url: "https://blockchair.com/zcash";
48
+ readonly apiUrl: "https://api.blockchair.com/zcash";
49
+ };
50
+ };
51
+ blockTime?: number | undefined | undefined;
52
+ ensTlds?: readonly string[] | undefined;
53
+ id: 0;
54
+ name: "Zcash";
55
+ nativeCurrency: {
56
+ readonly name: "Zcash";
57
+ readonly symbol: "ZEC";
58
+ readonly decimals: 8;
59
+ };
60
+ experimental_preconfirmationTime?: number | undefined | undefined;
61
+ rpcUrls: {
62
+ readonly default: {
63
+ readonly http: readonly ["https://zec.rocks:443"];
64
+ };
65
+ };
66
+ sourceId?: number | undefined | undefined;
67
+ testnet?: boolean | undefined | undefined;
68
+ custom?: Record<string, unknown> | undefined;
69
+ extendSchema?: Record<string, unknown> | undefined;
70
+ fees?: import("viem").ChainFees<undefined> | undefined;
71
+ formatters?: undefined;
72
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
73
+ client: import("viem").Client;
74
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
75
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
76
+ client: import("viem").Client;
77
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
78
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
79
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
80
+ }] | undefined;
81
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
82
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
83
+ } & {
84
+ caip2Namespace: string;
85
+ }>;
@@ -252,7 +252,10 @@ export declare const NON_EVM_CHAIN_ID = 0;
252
252
  export declare enum ChainType {
253
253
  /** EVM chains (CAIP-2 namespace `eip155`). */
254
254
  EVM = "eip155",
255
- /** Bitcoin (CAIP-2 namespace `bip122`). */
255
+ /**
256
+ * Bitcoin and Bitcoin-derived chains, e.g. Zcash (CAIP-2 namespace
257
+ * `bip122`).
258
+ */
256
259
  Bitcoin = "bip122",
257
260
  /** Solana (CAIP-2 namespace `solana`). */
258
261
  Solana = "solana",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gfxlabs/oku-chains",
3
- "version": "1.12.22",
3
+ "version": "1.12.23",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index-mjs.js",