@pythnetwork/price-pusher 9.0.1 → 9.2.0

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.
Files changed (61) hide show
  1. package/README.md +119 -1
  2. package/lib/aptos/balance-tracker.d.ts +46 -0
  3. package/lib/aptos/balance-tracker.d.ts.map +1 -0
  4. package/lib/aptos/balance-tracker.js +61 -0
  5. package/lib/aptos/command.d.ts +2 -0
  6. package/lib/aptos/command.d.ts.map +1 -1
  7. package/lib/aptos/command.js +46 -9
  8. package/lib/controller.d.ts +3 -0
  9. package/lib/controller.d.ts.map +1 -1
  10. package/lib/controller.js +37 -1
  11. package/lib/evm/balance-tracker.d.ts +42 -0
  12. package/lib/evm/balance-tracker.d.ts.map +1 -0
  13. package/lib/evm/balance-tracker.js +49 -0
  14. package/lib/evm/command.d.ts +3 -0
  15. package/lib/evm/command.d.ts.map +1 -1
  16. package/lib/evm/command.js +53 -11
  17. package/lib/evm/evm.d.ts +2 -1
  18. package/lib/evm/evm.d.ts.map +1 -1
  19. package/lib/evm/evm.js +6 -3
  20. package/lib/evm/pyth-contract.d.ts.map +1 -1
  21. package/lib/evm/super-wallet.d.ts.map +1 -1
  22. package/lib/evm/super-wallet.js +17 -7
  23. package/lib/fuel/command.js +17 -7
  24. package/lib/index.js +3 -0
  25. package/lib/injective/command.d.ts +1 -0
  26. package/lib/injective/command.d.ts.map +1 -1
  27. package/lib/injective/command.js +26 -10
  28. package/lib/injective/injective.d.ts +2 -0
  29. package/lib/injective/injective.d.ts.map +1 -1
  30. package/lib/injective/injective.js +22 -7
  31. package/lib/interface.d.ts +51 -0
  32. package/lib/interface.d.ts.map +1 -1
  33. package/lib/interface.js +80 -1
  34. package/lib/metrics.d.ts +22 -0
  35. package/lib/metrics.d.ts.map +1 -0
  36. package/lib/metrics.js +113 -0
  37. package/lib/near/command.js +17 -7
  38. package/lib/options.d.ts +6 -0
  39. package/lib/options.d.ts.map +1 -1
  40. package/lib/options.js +17 -1
  41. package/lib/price-config.d.ts.map +1 -1
  42. package/lib/price-config.js +5 -1
  43. package/lib/solana/balance-tracker.d.ts +42 -0
  44. package/lib/solana/balance-tracker.d.ts.map +1 -0
  45. package/lib/solana/balance-tracker.js +51 -0
  46. package/lib/solana/command.d.ts +2 -0
  47. package/lib/solana/command.d.ts.map +1 -1
  48. package/lib/solana/command.js +48 -10
  49. package/lib/solana/solana.d.ts.map +1 -1
  50. package/lib/solana/solana.js +1 -1
  51. package/lib/sui/balance-tracker.d.ts +39 -0
  52. package/lib/sui/balance-tracker.d.ts.map +1 -0
  53. package/lib/sui/balance-tracker.js +54 -0
  54. package/lib/sui/command.d.ts +2 -0
  55. package/lib/sui/command.d.ts.map +1 -1
  56. package/lib/sui/command.js +50 -12
  57. package/lib/sui/sui.d.ts.map +1 -1
  58. package/lib/ton/command.js +17 -7
  59. package/lib/utils.d.ts +2 -2
  60. package/lib/utils.d.ts.map +1 -1
  61. package/package.json +17 -10
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -36,6 +46,9 @@ const sui_1 = require("./sui");
36
46
  const ed25519_1 = require("@mysten/sui/keypairs/ed25519");
37
47
  const pino_1 = __importDefault(require("pino"));
38
48
  const utils_1 = require("../utils");
49
+ const metrics_1 = require("../metrics");
50
+ const balance_tracker_1 = require("./balance-tracker");
51
+ const client_1 = require("@mysten/sui/client");
39
52
  exports.default = {
40
53
  command: "sui",
41
54
  describe: "Run price pusher for sui. Most of the arguments below are" +
@@ -93,17 +106,18 @@ exports.default = {
93
106
  ...options.pushingFrequency,
94
107
  ...options.logLevel,
95
108
  ...options.controllerLogLevel,
109
+ ...options.enableMetrics,
110
+ ...options.metricsPort,
96
111
  },
97
112
  handler: async function (argv) {
98
- const { endpoint, priceConfigFile, priceServiceEndpoint, mnemonicFile, pushingFrequency, pollingFrequency, pythStateId, wormholeStateId, numGasObjects, ignoreGasObjects, gasBudget, accountIndex, logLevel, controllerLogLevel, } = argv;
113
+ const { endpoint, priceConfigFile, priceServiceEndpoint, mnemonicFile, pushingFrequency, pollingFrequency, pythStateId, wormholeStateId, numGasObjects, ignoreGasObjects, gasBudget, accountIndex, logLevel, controllerLogLevel, enableMetrics, metricsPort, } = argv;
99
114
  const logger = (0, pino_1.default)({ level: logLevel });
100
115
  const priceConfigs = (0, price_config_1.readPriceConfigFile)(priceConfigFile);
101
116
  const hermesClient = new hermes_client_1.HermesClient(priceServiceEndpoint);
102
117
  const mnemonic = fs_1.default.readFileSync(mnemonicFile, "utf-8").trim();
103
118
  const keypair = ed25519_1.Ed25519Keypair.deriveKeypair(mnemonic, `m/44'/784'/${accountIndex}'/0'/0'`);
104
- logger.info(`Pushing updates from wallet address: ${keypair
105
- .getPublicKey()
106
- .toSuiAddress()}`);
119
+ const suiAddress = keypair.getPublicKey().toSuiAddress();
120
+ logger.info(`Pushing updates from wallet address: ${suiAddress}`);
107
121
  let priceItems = priceConfigs.map(({ id, alias }) => ({ id, alias }));
108
122
  // Better to filter out invalid price items before creating the pyth listener
109
123
  const { existingPriceItems, invalidPriceItems } = await (0, utils_1.filterInvalidPriceItems)(hermesClient, priceItems);
@@ -113,10 +127,34 @@ exports.default = {
113
127
  .join(", ")}`);
114
128
  }
115
129
  priceItems = existingPriceItems;
130
+ // Initialize metrics if enabled
131
+ let metrics;
132
+ if (enableMetrics) {
133
+ metrics = new metrics_1.PricePusherMetrics(logger.child({ module: "Metrics" }));
134
+ metrics.start(metricsPort);
135
+ logger.info(`Metrics server started on port ${metricsPort}`);
136
+ }
116
137
  const pythListener = new pyth_price_listener_1.PythPriceListener(hermesClient, priceItems, logger.child({ module: "PythPriceListener" }));
138
+ const suiClient = new client_1.SuiClient({ url: endpoint });
117
139
  const suiListener = new sui_1.SuiPriceListener(pythStateId, wormholeStateId, endpoint, priceItems, logger.child({ module: "SuiPriceListener" }), { pollingFrequency });
118
140
  const suiPusher = await sui_1.SuiPricePusher.createWithAutomaticGasPool(hermesClient, logger.child({ module: "SuiPricePusher" }), pythStateId, wormholeStateId, endpoint, keypair, gasBudget, numGasObjects, ignoreGasObjects);
119
- const controller = new controller_1.Controller(priceConfigs, pythListener, suiListener, suiPusher, logger.child({ module: "Controller" }, { level: controllerLogLevel }), { pushingFrequency });
141
+ const controller = new controller_1.Controller(priceConfigs, pythListener, suiListener, suiPusher, logger.child({ module: "Controller" }, { level: controllerLogLevel }), {
142
+ pushingFrequency,
143
+ metrics,
144
+ });
145
+ // Create and start the balance tracker if metrics are enabled
146
+ if (metrics) {
147
+ const balanceTracker = (0, balance_tracker_1.createSuiBalanceTracker)({
148
+ client: suiClient,
149
+ address: suiAddress,
150
+ network: "sui",
151
+ updateInterval: pushingFrequency,
152
+ metrics,
153
+ logger,
154
+ });
155
+ // Start the balance tracker
156
+ await balanceTracker.start();
157
+ }
120
158
  controller.start();
121
159
  },
122
160
  };
@@ -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,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;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,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,YAAY;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBAND,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,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,YAAY,EAAE,YAAY,EAC1B,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;IA6ChB,iGAAiG;YACnF,qBAAqB;IAInC,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,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;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,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;CA4C3E;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,YAAY;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBAND,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,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,YAAY,EAAE,YAAY,EAC1B,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;IA6ChB,iGAAiG;YACnF,qBAAqB;IAInC,sEAAsE;YACxD,oBAAoB;mBAyDb,iBAAiB;mBAsDjB,yBAAyB;mBAgBzB,cAAc;mBAiCd,mBAAmB;mBAwCnB,oBAAoB;CAiE1C"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
package/lib/utils.d.ts CHANGED
@@ -3,9 +3,9 @@ import { PriceItem } from "./interface";
3
3
  export type PctNumber = number;
4
4
  export type DurationInSeconds = number;
5
5
  export declare const txSpeeds: readonly ["slow", "standard", "fast"];
6
- export type TxSpeed = typeof txSpeeds[number];
6
+ export type TxSpeed = (typeof txSpeeds)[number];
7
7
  export declare const customGasChainIds: readonly [137];
8
- export type CustomGasChainId = typeof customGasChainIds[number];
8
+ export type CustomGasChainId = (typeof customGasChainIds)[number];
9
9
  export declare function sleep(ms: number): Promise<void>;
10
10
  export declare function removeLeading0x(id: HexString): HexString;
11
11
  export declare const addLeading0x: (id: HexString) => `0x${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,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,GAEf,WAAW,CAK/B;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,CAAC,GAAG,SAAS,KAAG,CAMvD,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC;IACT,kBAAkB,EAAE,SAAS,EAAE,CAAC;IAChC,iBAAiB,EAAE,SAAS,EAAE,CAAC;CAChC,CAAC,CAqBD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,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,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,eAAO,MAAM,iBAAiB,gBAAiB,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,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,GAAI,IAAI,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,GAAI,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,KAAG,CAMvD,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC;IACT,kBAAkB,EAAE,SAAS,EAAE,CAAC;IAChC,iBAAiB,EAAE,SAAS,EAAE,CAAC;CAChC,CAAC,CAqBD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pythnetwork/price-pusher",
3
- "version": "9.0.1",
3
+ "version": "9.2.0",
4
4
  "description": "Pyth Price Pusher",
5
5
  "homepage": "https://pyth.network",
6
6
  "main": "lib/index.js",
@@ -21,13 +21,15 @@
21
21
  },
22
22
  "scripts": {
23
23
  "build": "tsc",
24
- "format": "prettier --write \"src/**/*.ts\"",
25
- "test:lint": "eslint src/",
24
+ "fix:format": "prettier --write \"src/**/*.ts\"",
25
+ "fix:lint": "eslint src/ --fix --max-warnings 0",
26
+ "test:format": "prettier --check \"src/**/*.ts\"",
27
+ "test:lint": "eslint src/ --max-warnings 0",
26
28
  "start": "node lib/index.js",
27
29
  "dev": "ts-node src/index.ts",
28
30
  "prepublishOnly": "pnpm run build && pnpm run test:lint",
29
31
  "preversion": "pnpm run test:lint",
30
- "version": "pnpm run format && git add -A src"
32
+ "version": "pnpm run test:format && pnpm run test:lint && git add -A src"
31
33
  },
32
34
  "keywords": [
33
35
  "pyth",
@@ -43,6 +45,7 @@
43
45
  "license": "Apache-2.0",
44
46
  "devDependencies": {
45
47
  "@types/ethereum-protocol": "^1.0.2",
48
+ "@types/express": "^4.17.21",
46
49
  "@types/jest": "^27.4.1",
47
50
  "@types/yargs": "^17.0.10",
48
51
  "@typescript-eslint/eslint-plugin": "^6.0.0",
@@ -50,15 +53,16 @@
50
53
  "eslint": "^8.13.0",
51
54
  "jest": "^29.7.0",
52
55
  "pino-pretty": "^11.2.1",
53
- "prettier": "^2.6.2",
56
+ "prettier": "catalog:",
54
57
  "ts-jest": "^29.1.1",
55
- "ts-node": "^10.9.1",
56
- "typescript": "^5.3.3"
58
+ "ts-node": "catalog:",
59
+ "typescript": "catalog:"
57
60
  },
58
61
  "dependencies": {
59
62
  "@coral-xyz/anchor": "^0.30.0",
60
- "@injectivelabs/networks": "^1.14.6",
61
- "@injectivelabs/sdk-ts": "1.10.72",
63
+ "@injectivelabs/networks": "1.14.47",
64
+ "@injectivelabs/sdk-ts": "1.14.49",
65
+ "@injectivelabs/utils": "^1.14.47",
62
66
  "@mysten/sui": "^1.3.0",
63
67
  "@pythnetwork/hermes-client": "^1.3.1",
64
68
  "@pythnetwork/price-service-sdk": "^1.8.0",
@@ -69,18 +73,21 @@
69
73
  "@pythnetwork/pyth-ton-js": "0.1.2",
70
74
  "@pythnetwork/solana-utils": "0.4.4",
71
75
  "@solana/web3.js": "^1.93.0",
76
+ "@ton/core": "^0.59.0",
72
77
  "@ton/crypto": "^3.3.0",
73
78
  "@ton/ton": "^15.1.0",
74
79
  "@types/pino": "^7.0.5",
75
80
  "aptos": "^1.8.5",
81
+ "express": "^4.18.2",
76
82
  "fuels": "^0.94.5",
77
83
  "jito-ts": "^3.0.1",
78
84
  "joi": "^17.6.0",
79
85
  "near-api-js": "^3.0.2",
80
86
  "pino": "^9.2.0",
87
+ "prom-client": "^15.1.0",
81
88
  "viem": "^2.19.4",
82
89
  "yaml": "^2.1.1",
83
90
  "yargs": "^17.5.1"
84
91
  },
85
- "gitHead": "4bd2adacc4d30b0899492026c7071d5d5007bb3b"
92
+ "gitHead": "da6c1185d9fce5e6ca2df4f7e6e1f5edc9b366eb"
86
93
  }