@pythnetwork/price-pusher 7.0.2 → 8.0.0-alpha

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.
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createClient = void 0;
27
+ const viem_1 = require("viem");
28
+ const accounts_1 = require("viem/accounts");
29
+ const chains = __importStar(require("viem/chains"));
30
+ const utils_1 = require("../utils");
31
+ const UNKNOWN_CHAIN_CONFIG = {
32
+ name: "Unknown",
33
+ nativeCurrency: {
34
+ name: "Unknown",
35
+ symbol: "Unknown",
36
+ decimals: 18,
37
+ },
38
+ rpcUrls: {
39
+ default: {
40
+ http: [],
41
+ },
42
+ },
43
+ };
44
+ // Get the transport based on the endpoint
45
+ const getTransport = (endpoint) => (0, utils_1.isWsEndpoint)(endpoint) ? (0, viem_1.webSocket)(endpoint) : (0, viem_1.http)(endpoint);
46
+ // Get the chain corresponding to the chainId. If the chain is not found, it will return
47
+ // an unknown chain which should work fine in most of the cases. We might need to update
48
+ // the viem package to support new chains if they don't work as expected with the unknown
49
+ // chain.
50
+ const getChainById = (chainId) => Object.values(chains).find((chain) => chain.id === chainId) ||
51
+ (0, viem_1.defineChain)({ id: chainId, ...UNKNOWN_CHAIN_CONFIG });
52
+ const createClient = async (endpoint, mnemonic) => {
53
+ const transport = getTransport(endpoint);
54
+ const chainId = await (0, viem_1.createPublicClient)({
55
+ transport,
56
+ }).getChainId();
57
+ return (0, viem_1.createWalletClient)({
58
+ transport,
59
+ account: (0, accounts_1.mnemonicToAccount)(mnemonic),
60
+ chain: getChainById(chainId),
61
+ }).extend(viem_1.publicActions);
62
+ };
63
+ exports.createClient = createClient;
@@ -33,7 +33,7 @@ const fs_1 = __importDefault(require("fs"));
33
33
  const pyth_price_listener_1 = require("../pyth-price-listener");
34
34
  const controller_1 = require("../controller");
35
35
  const sui_1 = require("./sui");
36
- const ed25519_1 = require("@mysten/sui.js/keypairs/ed25519");
36
+ const ed25519_1 = require("@mysten/sui/keypairs/ed25519");
37
37
  const pino_1 = __importDefault(require("pino"));
38
38
  exports.default = {
39
39
  command: "sui",
package/lib/sui/sui.d.ts CHANGED
@@ -2,8 +2,8 @@ import { ChainPriceListener, IPricePusher, PriceInfo, PriceItem } from "../inter
2
2
  import { DurationInSeconds } from "../utils";
3
3
  import { PriceServiceConnection } from "@pythnetwork/price-service-client";
4
4
  import { SuiPythClient } from "@pythnetwork/pyth-sui-js";
5
- import { Ed25519Keypair } from "@mysten/sui.js/keypairs/ed25519";
6
- import { SuiClient, SuiObjectRef } from "@mysten/sui.js/client";
5
+ import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
6
+ import { SuiClient, SuiObjectRef } from "@mysten/sui/client";
7
7
  import { Logger } from "pino";
8
8
  type ObjectId = string;
9
9
  export declare class SuiPriceListener extends ChainPriceListener {
@@ -1 +1 @@
1
- {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../src/sui/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAO9B,KAAK,QAAQ,GAAG,MAAM,CAAC;AAGvB,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAGrB,WAAW,EAAE,QAAQ,EACrB,eAAe,EAAE,QAAQ,EACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,gBAAgB,EAAE,iBAAiB,CAAC;KACrC;IAYG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;CA6C3E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,YAAY;IAE/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBAND,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EAAE,EACvB,UAAU,EAAE,aAAa;IAGnC;;;;;;OAMG;WACU,YAAY,CACvB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,QAAQ,CAAC;IAyBpB;;;OAGG;WACU,0BAA0B,CACrC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,cAAc,CAAC;IAkCpB,eAAe,CACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC;IA0ChB,iGAAiG;YACnF,qBAAqB;IAMnC,sEAAsE;YACxD,oBAAoB;mBAyDb,iBAAiB;mBAsDjB,yBAAyB;mBAgBzB,cAAc;mBAiCd,mBAAmB;mBAwCnB,oBAAoB;CAiE1C"}
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../src/sui/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAO9B,KAAK,QAAQ,GAAG,MAAM,CAAC;AAGvB,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAGrB,WAAW,EAAE,QAAQ,EACrB,eAAe,EAAE,QAAQ,EACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,gBAAgB,EAAE,iBAAiB,CAAC;KACrC;IAYG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;CA6C3E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,YAAY;IAE/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBAND,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EAAE,EACvB,UAAU,EAAE,aAAa;IAGnC;;;;;;OAMG;WACU,YAAY,CACvB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,QAAQ,CAAC;IAyBpB;;;OAGG;WACU,0BAA0B,CACrC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,cAAc,CAAC;IAkCpB,eAAe,CACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC;IA0ChB,iGAAiG;YACnF,qBAAqB;IAInC,sEAAsE;YACxD,oBAAoB;mBAyDb,iBAAiB;mBAsDjB,yBAAyB;mBAgBzB,cAAc;mBAiCd,mBAAmB;mBAwCnB,oBAAoB;CAiE1C"}
package/lib/sui/sui.js CHANGED
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuiPricePusher = exports.SuiPriceListener = void 0;
4
4
  const interface_1 = require("../interface");
5
5
  const pyth_sui_js_1 = require("@pythnetwork/pyth-sui-js");
6
- const transactions_1 = require("@mysten/sui.js/transactions");
7
- const client_1 = require("@mysten/sui.js/client");
6
+ const transactions_1 = require("@mysten/sui/transactions");
7
+ const client_1 = require("@mysten/sui/client");
8
8
  const GAS_FEE_FOR_SPLIT = 2_000_000_000;
9
9
  // TODO: read this from on chain config
10
10
  const MAX_NUM_GAS_OBJECTS_IN_PTB = 256;
@@ -146,7 +146,7 @@ class SuiPricePusher {
146
146
  throw new Error(`Expected a single VAA for all priceIds ${priceIdChunk} but received ${vaas.length} VAAs: ${vaas}`);
147
147
  }
148
148
  const vaa = vaas[0];
149
- const tx = new transactions_1.TransactionBlock();
149
+ const tx = new transactions_1.Transaction();
150
150
  await this.pythClient.updatePriceFeeds(tx, [Buffer.from(vaa, "base64")], priceIdChunk);
151
151
  txBlocks.push(tx);
152
152
  }));
@@ -167,9 +167,9 @@ class SuiPricePusher {
167
167
  try {
168
168
  tx.setGasPayment([gasObject]);
169
169
  tx.setGasBudget(this.gasBudget);
170
- const result = await this.provider.signAndExecuteTransactionBlock({
170
+ const result = await this.provider.signAndExecuteTransaction({
171
171
  signer: this.signer,
172
- transactionBlock: tx,
172
+ transaction: tx,
173
173
  options: {
174
174
  showEffects: true,
175
175
  },
@@ -266,13 +266,13 @@ class SuiPricePusher {
266
266
  }
267
267
  static async splitGasCoinEqually(signer, provider, signerAddress, splitAmount, numGasObjects, gasCoin) {
268
268
  // TODO: implement chunking if numGasObjects exceeds MAX_NUM_CREATED_OBJECTS
269
- const tx = new transactions_1.TransactionBlock();
270
- const coins = tx.splitCoins(tx.gas, Array.from({ length: numGasObjects }, () => tx.pure(splitAmount)));
271
- tx.transferObjects(Array.from({ length: numGasObjects }, (_, i) => coins[i]), tx.pure(signerAddress));
269
+ const tx = new transactions_1.Transaction();
270
+ const coins = tx.splitCoins(tx.gas, Array.from({ length: numGasObjects }, () => tx.pure.u64(splitAmount)));
271
+ tx.transferObjects(Array.from({ length: numGasObjects }, (_, i) => coins[i]), tx.pure.address(signerAddress));
272
272
  tx.setGasPayment([gasCoin]);
273
- const result = await provider.signAndExecuteTransactionBlock({
273
+ const result = await provider.signAndExecuteTransaction({
274
274
  signer,
275
- transactionBlock: tx,
275
+ transaction: tx,
276
276
  options: { showEffects: true },
277
277
  });
278
278
  const error = result?.effects?.status.error;
@@ -296,7 +296,7 @@ class SuiPricePusher {
296
296
  const lockedAddresses = new Set();
297
297
  initialLockedAddresses.forEach((value) => lockedAddresses.add(value));
298
298
  for (let i = 0; i < gasCoinsChunks.length; i++) {
299
- const mergeTx = new transactions_1.TransactionBlock();
299
+ const mergeTx = new transactions_1.Transaction();
300
300
  let coins = gasCoinsChunks[i];
301
301
  coins = coins.filter((coin) => !lockedAddresses.has(coin.objectId));
302
302
  if (finalCoin) {
@@ -305,9 +305,9 @@ class SuiPricePusher {
305
305
  mergeTx.setGasPayment(coins);
306
306
  let mergeResult;
307
307
  try {
308
- mergeResult = await provider.signAndExecuteTransactionBlock({
308
+ mergeResult = await provider.signAndExecuteTransaction({
309
309
  signer,
310
- transactionBlock: mergeTx,
310
+ transaction: mergeTx,
311
311
  options: { showEffects: true },
312
312
  });
313
313
  }
package/lib/utils.d.ts CHANGED
@@ -7,7 +7,8 @@ export declare const customGasChainIds: readonly [137];
7
7
  export type CustomGasChainId = typeof customGasChainIds[number];
8
8
  export declare function sleep(ms: number): Promise<void>;
9
9
  export declare function removeLeading0x(id: HexString): HexString;
10
- export declare function addLeading0x(id: HexString): HexString;
10
+ export declare const addLeading0x: (id: HexString) => `0x${string}`;
11
11
  export declare function isWsEndpoint(endpoint: string): boolean;
12
12
  export declare function verifyValidOption<options extends Readonly<Array<any>>, validOption extends options[number]>(option: any, validOptions: options): validOption;
13
+ export declare const assertDefined: <T>(value: T | undefined) => T;
13
14
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACvC,eAAO,MAAM,QAAQ,uCAAwC,CAAC;AAC9D,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,eAAO,MAAM,iBAAiB,gBAAiB,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEhE,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAKxD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAKrD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStD;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACpC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,EACnC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAOnC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACvC,eAAO,MAAM,QAAQ,uCAAwC,CAAC;AAC9D,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,eAAO,MAAM,iBAAiB,gBAAiB,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEhE,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAKxD;AAED,eAAO,MAAM,YAAY,OAAQ,SAAS,KAAG,KAAK,MAAM,EACrB,CAAC;AAKpC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStD;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACpC,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,EACnC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAOnC;AAED,eAAO,MAAM,aAAa,aAAc,CAAC,GAAG,SAAS,KAAG,CAMvD,CAAC"}
package/lib/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyValidOption = exports.isWsEndpoint = exports.addLeading0x = exports.removeLeading0x = exports.sleep = exports.customGasChainIds = exports.txSpeeds = void 0;
3
+ exports.assertDefined = exports.verifyValidOption = exports.isWsEndpoint = exports.addLeading0x = exports.removeLeading0x = exports.sleep = exports.customGasChainIds = exports.txSpeeds = void 0;
4
4
  exports.txSpeeds = ["slow", "standard", "fast"];
5
5
  exports.customGasChainIds = [137];
6
6
  async function sleep(ms) {
@@ -14,13 +14,9 @@ function removeLeading0x(id) {
14
14
  return id;
15
15
  }
16
16
  exports.removeLeading0x = removeLeading0x;
17
- function addLeading0x(id) {
18
- if (id.startsWith("0x")) {
19
- return id;
20
- }
21
- return "0x" + id;
22
- }
17
+ const addLeading0x = (id) => hasLeading0x(id) ? id : `0x${id}`;
23
18
  exports.addLeading0x = addLeading0x;
19
+ const hasLeading0x = (input) => input.startsWith("0x");
24
20
  function isWsEndpoint(endpoint) {
25
21
  const url = new URL(endpoint);
26
22
  const protocol = url.protocol;
@@ -38,3 +34,12 @@ function verifyValidOption(option, validOptions) {
38
34
  throw new Error(errorString);
39
35
  }
40
36
  exports.verifyValidOption = verifyValidOption;
37
+ const assertDefined = (value) => {
38
+ if (value === undefined) {
39
+ throw new Error("Assertion failed: value was undefined");
40
+ }
41
+ else {
42
+ return value;
43
+ }
44
+ };
45
+ exports.assertDefined = assertDefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pythnetwork/price-pusher",
3
- "version": "7.0.2",
3
+ "version": "8.0.0-alpha",
4
4
  "description": "Pyth Price Pusher",
5
5
  "homepage": "https://pyth.network",
6
6
  "main": "lib/index.js",
@@ -56,26 +56,23 @@
56
56
  "@coral-xyz/anchor": "^0.30.0",
57
57
  "@injectivelabs/networks": "^1.14.6",
58
58
  "@injectivelabs/sdk-ts": "1.10.72",
59
- "@mysten/sui.js": "^0.49.1",
59
+ "@mysten/sui": "^1.3.0",
60
60
  "@pythnetwork/price-service-client": "1.9.0",
61
61
  "@pythnetwork/price-service-sdk": "^1.7.1",
62
- "@pythnetwork/pyth-sdk-solidity": "3.1.0",
63
- "@pythnetwork/pyth-solana-receiver": "0.8.0",
64
- "@pythnetwork/pyth-sui-js": "2.0.0",
62
+ "@pythnetwork/pyth-sdk-solidity": "4.0.0",
63
+ "@pythnetwork/pyth-solana-receiver": "0.8.1",
64
+ "@pythnetwork/pyth-sui-js": "2.1.0",
65
65
  "@pythnetwork/solana-utils": "0.4.2",
66
66
  "@solana/web3.js": "^1.93.0",
67
- "@truffle/hdwallet-provider": "^2.1.3",
68
67
  "@types/pino": "^7.0.5",
69
68
  "aptos": "^1.8.5",
70
69
  "jito-ts": "^3.0.1",
71
70
  "joi": "^17.6.0",
72
71
  "near-api-js": "^3.0.2",
73
72
  "pino": "^9.2.0",
74
- "web3": "^1.8.1",
75
- "web3-core": "^1.8.1",
76
- "web3-eth-contract": "^1.8.1",
73
+ "viem": "^2.19.4",
77
74
  "yaml": "^2.1.1",
78
75
  "yargs": "^17.5.1"
79
76
  },
80
- "gitHead": "0db40907504579f2d8b6520fcbfb2e952c3ab170"
77
+ "gitHead": "4eb89564385717bdfa9c84ac7b484312ee001d22"
81
78
  }