@pythnetwork/price-pusher 9.3.0 → 9.3.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"balance-tracker.d.ts","sourceRoot":"","sources":["../../src/aptos/balance-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,yBAAyB;IAY7C;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC/C;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,iBAAiB,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,+BAA+B,GACtC,eAAe,CAUjB"}
1
+ {"version":3,"file":"balance-tracker.d.ts","sourceRoot":"","sources":["../../src/aptos/balance-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,yBAAyB;IAa7C;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B/C;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,iBAAiB,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,+BAA+B,GACtC,eAAe,CAUjB"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AptosBalanceTracker = void 0;
4
4
  exports.createAptosBalanceTracker = createAptosBalanceTracker;
5
- const aptos_1 = require("aptos");
5
+ const ts_sdk_1 = require("@aptos-labs/ts-sdk");
6
6
  const interface_1 = require("../interface");
7
7
  /**
8
8
  * Aptos-specific implementation of the balance tracker
@@ -16,7 +16,7 @@ class AptosBalanceTracker extends interface_1.BaseBalanceTracker {
16
16
  ...config,
17
17
  logger: config.logger.child({ module: "AptosBalanceTracker" }),
18
18
  });
19
- this.client = new aptos_1.AptosClient(config.endpoint);
19
+ this.client = new ts_sdk_1.Aptos(new ts_sdk_1.AptosConfig({ network: ts_sdk_1.Network.CUSTOM, fullnode: config.endpoint }));
20
20
  this.aptosAddress = config.address;
21
21
  // APT has 8 decimal places by default
22
22
  this.decimals = config.decimals ?? 8;
@@ -28,11 +28,11 @@ class AptosBalanceTracker extends interface_1.BaseBalanceTracker {
28
28
  async updateBalance() {
29
29
  try {
30
30
  // Get account resource to check the balance
31
- const accountResource = await this.client.getAccountResource(this.aptosAddress, "0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>");
32
- // Extract the balance value from the account resource
33
- const rawBalance = accountResource.data.coin.value;
34
- // Convert the balance to a bigint
35
- const balance = BigInt(rawBalance);
31
+ const accountAPTAmount = await this.client.getAccountAPTAmount({
32
+ accountAddress: this.aptosAddress,
33
+ });
34
+ // Convert the amount to a bigint
35
+ const balance = BigInt(accountAPTAmount);
36
36
  // Calculate the normalized balance for display
37
37
  const normalizedBalance = Number(balance) / Math.pow(10, this.decimals);
38
38
  // Update metrics with the new balance
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAS,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAiC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,qBAAa,UAAU;IAKnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAqB;gBAG3B,YAAY,EAAE,WAAW,EAAE,EAC3B,mBAAmB,EAAE,cAAc,EACnC,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,YAAY,EACpC,MAAM,EAAE,MAAM,EACtB,MAAM,EAAE;QACN,gBAAgB,EAAE,iBAAiB,CAAC;QACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC;KAC9B;IASG,KAAK;CAqIZ"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAS,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAiC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,qBAAa,UAAU;IAKnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAqB;gBAG3B,YAAY,EAAE,WAAW,EAAE,EAC3B,mBAAmB,EAAE,cAAc,EACnC,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,YAAY,EACpC,MAAM,EAAE,MAAM,EACtB,MAAM,EAAE;QACN,gBAAgB,EAAE,iBAAiB,CAAC;QACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC;KAC9B;IASG,KAAK;CAsIZ"}
package/lib/controller.js CHANGED
@@ -41,9 +41,8 @@ class Controller {
41
41
  const alias = priceConfig.alias;
42
42
  const targetLatestPrice = this.targetPriceListener.getLatestPriceInfo(priceId);
43
43
  const sourceLatestPrice = this.sourcePriceListener.getLatestPriceInfo(priceId);
44
- // Update metrics for the last published time if available
45
- if (this.metrics && targetLatestPrice) {
46
- this.metrics.updateLastPublishedTime(priceId, alias, targetLatestPrice);
44
+ if (this.metrics && targetLatestPrice && sourceLatestPrice) {
45
+ this.metrics.updateTimestamps(priceId, alias, targetLatestPrice.publishTime, sourceLatestPrice.publishTime, priceConfig.timeDifference);
47
46
  }
48
47
  const priceShouldUpdate = (0, price_config_1.shouldUpdate)(priceConfig, sourceLatestPrice, targetLatestPrice, this.logger);
49
48
  // Record update condition in metrics
package/lib/metrics.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Counter, Gauge } from "prom-client";
2
- import { PriceInfo } from "./interface";
3
2
  import { Logger } from "pino";
4
3
  import { UpdateCondition } from "./price-config";
5
4
  export declare class PricePusherMetrics {
@@ -9,14 +8,16 @@ export declare class PricePusherMetrics {
9
8
  lastPublishedTime: Gauge<string>;
10
9
  priceUpdateAttempts: Counter<string>;
11
10
  priceFeedsTotal: Gauge<string>;
11
+ sourceTimestamp: Gauge<string>;
12
+ configuredTimeDifference: Gauge<string>;
12
13
  walletBalance: Gauge<string>;
13
14
  constructor(logger: Logger);
14
15
  start(port: number): void;
15
- updateLastPublishedTime(priceId: string, alias: string, priceInfo: PriceInfo): void;
16
16
  recordPriceUpdate(priceId: string, alias: string, trigger?: string): void;
17
17
  recordUpdateCondition(priceId: string, alias: string, condition: UpdateCondition): void;
18
18
  recordPriceUpdateError(priceId: string, alias: string, trigger?: string): void;
19
19
  setPriceFeedsTotal(count: number): void;
20
+ updateTimestamps(priceId: string, alias: string, targetLatestPricePublishTime: number, sourceLatestPricePublishTime: number, priceConfigTimeDifference: number): void;
20
21
  updateWalletBalance(walletAddress: string, network: string, balance: bigint | number): void;
21
22
  }
22
23
  //# sourceMappingURL=metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IAGhB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAExB,MAAM,EAAE,MAAM;IA6CnB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzB,uBAAuB,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,GACnB,IAAI;IAQA,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAc,GACtB,IAAI;IAUA,qBAAqB,CAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,eAAe,GACzB,IAAI;IAgBA,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAc,GACtB,IAAI;IAUA,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC,mBAAmB,CACxB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,IAAI;CAYR"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IAGhB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAExB,MAAM,EAAE,MAAM;IA2DnB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzB,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAc,GACtB,IAAI;IAUA,qBAAqB,CAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,eAAe,GACzB,IAAI;IAgBA,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAc,GACtB,IAAI;IAUA,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,4BAA4B,EAAE,MAAM,EACpC,4BAA4B,EAAE,MAAM,EACpC,yBAAyB,EAAE,MAAM,GAChC,IAAI;IAgBA,mBAAmB,CACxB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,IAAI;CAYR"}
package/lib/metrics.js CHANGED
@@ -16,6 +16,8 @@ class PricePusherMetrics {
16
16
  lastPublishedTime;
17
17
  priceUpdateAttempts;
18
18
  priceFeedsTotal;
19
+ sourceTimestamp;
20
+ configuredTimeDifference;
19
21
  // Wallet metrics
20
22
  walletBalance;
21
23
  constructor(logger) {
@@ -42,6 +44,18 @@ class PricePusherMetrics {
42
44
  help: "Total number of price feeds being monitored",
43
45
  registers: [this.registry],
44
46
  });
47
+ this.sourceTimestamp = new prom_client_1.Gauge({
48
+ name: "pyth_source_timestamp",
49
+ help: "Latest source chain price publish timestamp",
50
+ labelNames: ["price_id", "alias"],
51
+ registers: [this.registry],
52
+ });
53
+ this.configuredTimeDifference = new prom_client_1.Gauge({
54
+ name: "pyth_configured_time_difference",
55
+ help: "Configured time difference threshold between source and target chains",
56
+ labelNames: ["price_id", "alias"],
57
+ registers: [this.registry],
58
+ });
45
59
  // Wallet balance metric
46
60
  this.walletBalance = new prom_client_1.Gauge({
47
61
  name: "pyth_wallet_balance",
@@ -61,10 +75,6 @@ class PricePusherMetrics {
61
75
  this.logger.info(`Metrics server started on port ${port}`);
62
76
  });
63
77
  }
64
- // Update the last published time for a price feed
65
- updateLastPublishedTime(priceId, alias, priceInfo) {
66
- this.lastPublishedTime.set({ price_id: priceId, alias }, priceInfo.publishTime);
67
- }
68
78
  // Record a successful price update
69
79
  recordPriceUpdate(priceId, alias, trigger = "yes") {
70
80
  this.priceUpdateAttempts.inc({
@@ -102,6 +112,12 @@ class PricePusherMetrics {
102
112
  setPriceFeedsTotal(count) {
103
113
  this.priceFeedsTotal.set(count);
104
114
  }
115
+ // Update source, target and configured time difference timestamps
116
+ updateTimestamps(priceId, alias, targetLatestPricePublishTime, sourceLatestPricePublishTime, priceConfigTimeDifference) {
117
+ this.sourceTimestamp.set({ price_id: priceId, alias }, sourceLatestPricePublishTime);
118
+ this.lastPublishedTime.set({ price_id: priceId, alias }, targetLatestPricePublishTime);
119
+ this.configuredTimeDifference.set({ price_id: priceId, alias }, priceConfigTimeDifference);
120
+ }
105
121
  // Update wallet balance
106
122
  updateWalletBalance(walletAddress, network, balance) {
107
123
  // Convert to number for compatibility with prometheus
@@ -1 +1 @@
1
- {"version":3,"file":"balance-tracker.d.ts","sourceRoot":"","sources":["../../src/sui/balance-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,0BAA0B;IAC1B,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,uBAAuB;IAS3C;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CA+B/C;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,iBAAiB,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,6BAA6B,GACpC,eAAe,CASjB"}
1
+ {"version":3,"file":"balance-tracker.d.ts","sourceRoot":"","sources":["../../src/sui/balance-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,0BAA0B;IAC1B,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,uBAAuB;IAS3C;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB/C;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,iBAAiB,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,6BAA6B,GACpC,eAAe,CASjB"}
@@ -20,16 +20,11 @@ class SuiBalanceTracker extends interface_1.BaseBalanceTracker {
20
20
  */
21
21
  async updateBalance() {
22
22
  try {
23
- // Get all coins owned by the address
24
- const { data: coins } = await this.client.getCoins({
23
+ const balance = await this.client.getBalance({
25
24
  owner: this.address,
26
25
  });
27
- // Sum up all coin balances
28
- const totalBalance = coins.reduce((acc, coin) => {
29
- return acc + BigInt(coin.balance);
30
- }, BigInt(0));
31
26
  // Convert to a normalized number for reporting (SUI has 9 decimals)
32
- const normalizedBalance = Number(totalBalance) / 1e9;
27
+ const normalizedBalance = Number(balance.totalBalance) / 1e9;
33
28
  this.metrics.updateWalletBalance(this.address, this.network, normalizedBalance);
34
29
  this.logger.debug(`Updated Sui wallet balance: ${this.address} = ${normalizedBalance} SUI`);
35
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pythnetwork/price-pusher",
3
- "version": "9.3.0",
3
+ "version": "9.3.3",
4
4
  "description": "Pyth Price Pusher",
5
5
  "homepage": "https://pyth.network",
6
6
  "main": "lib/index.js",
@@ -47,10 +47,11 @@
47
47
  "typescript": "^5.8.2"
48
48
  },
49
49
  "dependencies": {
50
+ "@aptos-labs/ts-sdk": "^1.39.0",
50
51
  "@coral-xyz/anchor": "^0.30.0",
51
52
  "@injectivelabs/networks": "1.14.47",
52
- "@injectivelabs/utils": "^1.14.48",
53
53
  "@injectivelabs/sdk-ts": "1.14.50",
54
+ "@injectivelabs/utils": "^1.14.48",
54
55
  "@mysten/sui": "^1.3.0",
55
56
  "@pythnetwork/hermes-client": "^1.3.1",
56
57
  "@solana/web3.js": "^1.93.0",
@@ -71,11 +72,11 @@
71
72
  "yargs": "^17.5.1",
72
73
  "@pythnetwork/pyth-fuel-js": "1.0.7",
73
74
  "@pythnetwork/price-service-sdk": "^1.8.0",
74
- "@pythnetwork/pyth-sdk-solidity": "4.0.0",
75
+ "@pythnetwork/pyth-solana-receiver": "0.10.1",
76
+ "@pythnetwork/pyth-sdk-solidity": "4.1.0",
75
77
  "@pythnetwork/pyth-ton-js": "0.1.2",
76
- "@pythnetwork/pyth-solana-receiver": "0.10.0",
77
- "@pythnetwork/solana-utils": "0.4.4",
78
- "@pythnetwork/pyth-sui-js": "2.1.0"
78
+ "@pythnetwork/pyth-sui-js": "2.1.0",
79
+ "@pythnetwork/solana-utils": "0.4.4"
79
80
  },
80
81
  "scripts": {
81
82
  "build": "tsc",