@t2000/sdk 10.17.4 → 10.19.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.
package/dist/index.cjs CHANGED
@@ -2734,6 +2734,44 @@ var LimitEnforcer = class {
2734
2734
  return dailySpentToday(this.configDir);
2735
2735
  }
2736
2736
  };
2737
+ var MemoryLimitEnforcer = class extends LimitEnforcer {
2738
+ limitsMem;
2739
+ spend = { date: todayUtc(), usd: 0 };
2740
+ assert(input) {
2741
+ assertLimitConfig({
2742
+ limits: this.limitsMem,
2743
+ spentTodayUsd: this.dailySpentToday(),
2744
+ operation: input.operation,
2745
+ amountUsd: input.amountUsd,
2746
+ force: input.force
2747
+ });
2748
+ }
2749
+ record(amountUsd) {
2750
+ if (!Number.isFinite(amountUsd) || amountUsd <= 0) return;
2751
+ const today = todayUtc();
2752
+ const prior = this.spend.date === today ? this.spend.usd : 0;
2753
+ this.spend = { date: today, usd: prior + amountUsd };
2754
+ }
2755
+ getLimits() {
2756
+ return this.limitsMem;
2757
+ }
2758
+ hasLimits() {
2759
+ const l = this.limitsMem;
2760
+ return !!l && (l.perTxUsd !== void 0 || l.dailyUsd !== void 0);
2761
+ }
2762
+ setLimits(limits) {
2763
+ const merged = { ...this.limitsMem };
2764
+ if (limits.perTxUsd !== void 0) merged.perTxUsd = limits.perTxUsd;
2765
+ if (limits.dailyUsd !== void 0) merged.dailyUsd = limits.dailyUsd;
2766
+ this.limitsMem = merged;
2767
+ }
2768
+ clearLimits() {
2769
+ this.limitsMem = void 0;
2770
+ }
2771
+ dailySpentToday() {
2772
+ return this.spend.date === todayUtc() ? this.spend.usd : 0;
2773
+ }
2774
+ };
2737
2775
  var DEFAULT_CONFIG_DIR2 = path.join(os.homedir(), ".t2000");
2738
2776
  var T2000 = class _T2000 extends eventemitter3.EventEmitter {
2739
2777
  _signer;
@@ -2756,7 +2794,7 @@ var T2000 = class _T2000 extends eventemitter3.EventEmitter {
2756
2794
  this._address = getAddress(kp);
2757
2795
  }
2758
2796
  this.client = client;
2759
- this.limits = new LimitEnforcer(configDir);
2797
+ this.limits = isSignerMode ? new MemoryLimitEnforcer() : new LimitEnforcer(configDir);
2760
2798
  }
2761
2799
  static async create(options = {}) {
2762
2800
  const { keyPath, rpcUrl } = options;