@talismn/chain-connectors 0.0.0 → 0.0.2

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.
@@ -3,6 +3,6 @@ import { SolNetwork } from "@talismn/chaindata-provider";
3
3
  import { IChainConnectorSol } from "./IChainConnectorSol";
4
4
  export declare class ChainConnectorSolStub implements IChainConnectorSol {
5
5
  #private;
6
- constructor(network: SolNetwork);
6
+ constructor(networkOrConnection: Pick<SolNetwork, "id" | "rpcs"> | Connection);
7
7
  getConnection(): Promise<Connection>;
8
8
  }
@@ -1,3 +1,3 @@
1
1
  import { Connection } from "@solana/web3.js";
2
2
  import { SolNetworkId } from "@talismn/chaindata-provider";
3
- export declare const getSolConnection: (_networkId: SolNetworkId, _rpcs: string[]) => Connection;
3
+ export declare const getSolConnection: (networkId: SolNetworkId, rpcs: string[]) => Connection;
@@ -11,7 +11,7 @@ var EventEmitter = require('eventemitter3');
11
11
  var rpcProvider = require('@polkadot/rpc-provider');
12
12
  var viem = require('viem');
13
13
  var lodashEs = require('lodash-es');
14
- var chains = require('viem/chains');
14
+ var viemChains = require('viem/chains');
15
15
  var web3_js = require('@solana/web3.js');
16
16
 
17
17
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -36,7 +36,7 @@ function _interopNamespace(e) {
36
36
 
37
37
  var anylogger__default = /*#__PURE__*/_interopDefault(anylogger);
38
38
  var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
39
- var chains__namespace = /*#__PURE__*/_interopNamespace(chains);
39
+ var viemChains__namespace = /*#__PURE__*/_interopNamespace(viemChains);
40
40
 
41
41
  var packageJson = {
42
42
  name: "@talismn/chain-connectors"};
@@ -1048,9 +1048,16 @@ class ChainConnectorDotStub {
1048
1048
  }
1049
1049
  }
1050
1050
 
1051
+ // exclude zoraTestnet which uses Hyperliquid's chain id
1052
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1053
+ const {
1054
+ zoraTestnet,
1055
+ ...validViemChains
1056
+ } = viemChains__namespace;
1057
+
1051
1058
  // viem chains benefit from multicall config & other viem goodies
1052
- const VIEM_CHAINS = Object.keys(chains__namespace).reduce((acc, curr) => {
1053
- const chain = chains__namespace[curr];
1059
+ const VIEM_CHAINS = Object.keys(validViemChains).reduce((acc, curr) => {
1060
+ const chain = validViemChains[curr];
1054
1061
  acc[chain.id] = chain;
1055
1062
  return acc;
1056
1063
  }, {});
@@ -1196,9 +1203,9 @@ class ChainConnectorEthStub {
1196
1203
  }
1197
1204
  }
1198
1205
 
1199
- // TODO
1200
- const getSolConnection = (_networkId, _rpcs) => {
1201
- return new web3_js.Connection("https://solana-mainnet.g.alchemy.com/v2/FlflUnY6iZ98J9likA0ZdLSMfa6SqMya", {
1206
+ // TODO leverage multiple rpcs with fallback
1207
+ const getSolConnection = (networkId, rpcs) => {
1208
+ return new web3_js.Connection(rpcs[0], {
1202
1209
  commitment: "confirmed"
1203
1210
  });
1204
1211
  };
@@ -1217,8 +1224,8 @@ class ChainConnectorSol {
1217
1224
 
1218
1225
  class ChainConnectorSolStub {
1219
1226
  #connection;
1220
- constructor(network) {
1221
- this.#connection = getSolConnection(network.id, network.rpcs);
1227
+ constructor(networkOrConnection) {
1228
+ this.#connection = networkOrConnection instanceof web3_js.Connection ? networkOrConnection : getSolConnection(networkOrConnection.id, networkOrConnection.rpcs);
1222
1229
  }
1223
1230
  async getConnection() {
1224
1231
  return this.#connection;
@@ -11,7 +11,7 @@ var EventEmitter = require('eventemitter3');
11
11
  var rpcProvider = require('@polkadot/rpc-provider');
12
12
  var viem = require('viem');
13
13
  var lodashEs = require('lodash-es');
14
- var chains = require('viem/chains');
14
+ var viemChains = require('viem/chains');
15
15
  var web3_js = require('@solana/web3.js');
16
16
 
17
17
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -36,7 +36,7 @@ function _interopNamespace(e) {
36
36
 
37
37
  var anylogger__default = /*#__PURE__*/_interopDefault(anylogger);
38
38
  var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
39
- var chains__namespace = /*#__PURE__*/_interopNamespace(chains);
39
+ var viemChains__namespace = /*#__PURE__*/_interopNamespace(viemChains);
40
40
 
41
41
  var packageJson = {
42
42
  name: "@talismn/chain-connectors"};
@@ -1048,9 +1048,16 @@ class ChainConnectorDotStub {
1048
1048
  }
1049
1049
  }
1050
1050
 
1051
+ // exclude zoraTestnet which uses Hyperliquid's chain id
1052
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1053
+ const {
1054
+ zoraTestnet,
1055
+ ...validViemChains
1056
+ } = viemChains__namespace;
1057
+
1051
1058
  // viem chains benefit from multicall config & other viem goodies
1052
- const VIEM_CHAINS = Object.keys(chains__namespace).reduce((acc, curr) => {
1053
- const chain = chains__namespace[curr];
1059
+ const VIEM_CHAINS = Object.keys(validViemChains).reduce((acc, curr) => {
1060
+ const chain = validViemChains[curr];
1054
1061
  acc[chain.id] = chain;
1055
1062
  return acc;
1056
1063
  }, {});
@@ -1196,9 +1203,9 @@ class ChainConnectorEthStub {
1196
1203
  }
1197
1204
  }
1198
1205
 
1199
- // TODO
1200
- const getSolConnection = (_networkId, _rpcs) => {
1201
- return new web3_js.Connection("https://solana-mainnet.g.alchemy.com/v2/FlflUnY6iZ98J9likA0ZdLSMfa6SqMya", {
1206
+ // TODO leverage multiple rpcs with fallback
1207
+ const getSolConnection = (networkId, rpcs) => {
1208
+ return new web3_js.Connection(rpcs[0], {
1202
1209
  commitment: "confirmed"
1203
1210
  });
1204
1211
  };
@@ -1217,8 +1224,8 @@ class ChainConnectorSol {
1217
1224
 
1218
1225
  class ChainConnectorSolStub {
1219
1226
  #connection;
1220
- constructor(network) {
1221
- this.#connection = getSolConnection(network.id, network.rpcs);
1227
+ constructor(networkOrConnection) {
1228
+ this.#connection = networkOrConnection instanceof web3_js.Connection ? networkOrConnection : getSolConnection(networkOrConnection.id, networkOrConnection.rpcs);
1222
1229
  }
1223
1230
  async getConnection() {
1224
1231
  return this.#connection;
@@ -9,7 +9,7 @@ import EventEmitter from 'eventemitter3';
9
9
  import { WsProvider } from '@polkadot/rpc-provider';
10
10
  import { fallback, http, createPublicClient, createWalletClient } from 'viem';
11
11
  import { fromPairs, toPairs, camelCase } from 'lodash-es';
12
- import * as chains from 'viem/chains';
12
+ import * as viemChains from 'viem/chains';
13
13
  import { Connection } from '@solana/web3.js';
14
14
 
15
15
  var packageJson = {
@@ -1022,9 +1022,16 @@ class ChainConnectorDotStub {
1022
1022
  }
1023
1023
  }
1024
1024
 
1025
+ // exclude zoraTestnet which uses Hyperliquid's chain id
1026
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1027
+ const {
1028
+ zoraTestnet,
1029
+ ...validViemChains
1030
+ } = viemChains;
1031
+
1025
1032
  // viem chains benefit from multicall config & other viem goodies
1026
- const VIEM_CHAINS = Object.keys(chains).reduce((acc, curr) => {
1027
- const chain = chains[curr];
1033
+ const VIEM_CHAINS = Object.keys(validViemChains).reduce((acc, curr) => {
1034
+ const chain = validViemChains[curr];
1028
1035
  acc[chain.id] = chain;
1029
1036
  return acc;
1030
1037
  }, {});
@@ -1170,9 +1177,9 @@ class ChainConnectorEthStub {
1170
1177
  }
1171
1178
  }
1172
1179
 
1173
- // TODO
1174
- const getSolConnection = (_networkId, _rpcs) => {
1175
- return new Connection("https://solana-mainnet.g.alchemy.com/v2/FlflUnY6iZ98J9likA0ZdLSMfa6SqMya", {
1180
+ // TODO leverage multiple rpcs with fallback
1181
+ const getSolConnection = (networkId, rpcs) => {
1182
+ return new Connection(rpcs[0], {
1176
1183
  commitment: "confirmed"
1177
1184
  });
1178
1185
  };
@@ -1191,8 +1198,8 @@ class ChainConnectorSol {
1191
1198
 
1192
1199
  class ChainConnectorSolStub {
1193
1200
  #connection;
1194
- constructor(network) {
1195
- this.#connection = getSolConnection(network.id, network.rpcs);
1201
+ constructor(networkOrConnection) {
1202
+ this.#connection = networkOrConnection instanceof Connection ? networkOrConnection : getSolConnection(networkOrConnection.id, networkOrConnection.rpcs);
1196
1203
  }
1197
1204
  async getConnection() {
1198
1205
  return this.#connection;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/chain-connectors",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -26,15 +26,15 @@
26
26
  "eventemitter3": "^5.0.0",
27
27
  "lodash-es": "4.17.21",
28
28
  "viem": "^2.27.3",
29
- "@talismn/chaindata-provider": "1.0.0",
30
- "@talismn/connection-meta": "0.2.18",
31
- "@talismn/util": "0.5.0"
29
+ "@talismn/chaindata-provider": "1.1.1",
30
+ "@talismn/util": "0.5.1",
31
+ "@talismn/connection-meta": "0.2.22"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@polkadot/rpc-provider": "16.1.2",
35
- "@polkadot/util": "13.5.1",
36
- "@polkadot/x-global": "13.5.1",
37
- "@polkadot/x-ws": "13.5.1",
35
+ "@polkadot/util": "13.5.3",
36
+ "@polkadot/x-global": "13.5.3",
37
+ "@polkadot/x-ws": "13.5.3",
38
38
  "@types/jest": "^29.5.14",
39
39
  "eslint": "^8.57.1",
40
40
  "jest": "^29.7.0",