@rhinestone/service-sdk 0.2.12 → 0.2.13

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":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,YAAY,EAAE,MAAM,MAAM,CAAA;AAmB3E,oDAAoD;AAMpD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,YAAY,EACZ,oBAAoB,GAAG,eAAe,CACvC,GACC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;AAEtC,2CAA2C;AAC3C,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAyTD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CA2C3B"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,YAAY,EAAE,MAAM,MAAM,CAAA;AAmB3E,oDAAoD;AAMpD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,YAAY,EACZ,oBAAoB,GAAG,eAAe,CACvC,GACC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;AAEtC,2CAA2C;AAC3C,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAyUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CA2C3B"}
package/dist/chains.js CHANGED
@@ -77,20 +77,36 @@ const FEE_CONFIG_OVERRIDES = {
77
77
  // gradient — probed live 2026-07-24 over 40 blocks:
78
78
  // p1..p10 = 0 p15..p50 = 0.005 gwei
79
79
  // so every percentile from 15 up reports the same 0.005, while real fills
80
- // clear at ~0.0015 (third-party solvers are included on-chain at that price,
81
- // so it demonstrably clears). Sampling anywhere above p10 therefore prices at
82
- // 0.005 and the floor never binds — the tip must be read at p10, where the
83
- // window median is genuinely 0, so the measured floor below sets the price.
80
+ // clear near 0.0014 (third-party solvers are included on-chain at that price
81
+ // ~10.7k times a day, so it demonstrably clears). Sampling anywhere above p10
82
+ // therefore prices at 0.005 and the floor never binds — the tip must be read
83
+ // at p10, where the window median is genuinely 0, so the floor below sets the
84
+ // price.
84
85
  [chains_1.plasma.id]: {
85
86
  // Explicit, not inherited. Plasma's base fee is ~0 almost always, so this
86
87
  // multiplier is free — but "almost" matters: a 7d block replay puts 0.4% of
87
88
  // quotes under the base fee one block later at 1.05x, and 1.5% ten blocks
88
- // later, against 0% at 2.0x. On 69k fills/wk that is real. Inheriting the
89
- // shared default would silently re-introduce it.
89
+ // later, against 0% at 2.0x. On ~15k bundles/day priced through this chain
90
+ // that is real. Inheriting the shared default would silently re-introduce it.
90
91
  baseFeeMultiplierPct: 200n,
91
92
  tipPercentile: 10,
92
93
  congestedTipPercentile: 25,
93
- tipFloorWei: 1700000n, // 0.0017 gwei — measured clearing price (2026-07-24)
94
+ // 0.0014 gwei — where fills on this chain ACTUALLY clear, re-measured from
95
+ // prod on 2026-07-27 once the previous 0.0017 had deployed and could be
96
+ // checked against reality (it billed 1.25x the clearing price).
97
+ //
98
+ // Measured from the solver that fills ~10.7k plasma bundles/day: it is
99
+ // included at 0.00103 (7d median 0.001364). Inclusion at ~0.001 is therefore
100
+ // demonstrated tens of thousands of times a day. NOTE the on-chain reward
101
+ // percentiles disagree and must not be used here — being gas-weighted they
102
+ // read p25..p90 = 0.005, which is what a minority of gas-heavy transactions
103
+ // pay, not the bar for inclusion.
104
+ //
105
+ // Lowering it cannot hurt includability: plasma's base is ~0, so the cap is
106
+ // `base * 2.0 + floor` and the floor never gates it — the 7d replay reports
107
+ // a 0.00% unincludable rate for every floor from 0.0017 down to 0.0008, at
108
+ // every lag from 1 to 50 blocks. The floor only sets what we CHARGE.
109
+ tipFloorWei: 1400000n,
94
110
  },
95
111
  };
96
112
  // Chains where viem's default base-fee estimate is fine but its tip oracle
@@ -533,9 +549,10 @@ async function estimateFeeHistoryGasFees(client, chainId, config) {
533
549
  //
534
550
  // Keeping `priorityFee` is the point. These chains are on the windowed path
535
551
  // precisely because their tip oracle is untrustworthy (Plasma's reports
536
- // 0.005 gwei against a measured 0.0015), so falling back to viem wholesale
537
- // would trade a hard failure for a silent ~3x overcharge on our
538
- // highest-volume chain. The tip we already computed is the calibrated one.
552
+ // 0.005 gwei against a measured 0.0014), so falling back to viem wholesale
553
+ // would trade a hard failure for a silent ~3.5x overcharge on the chain
554
+ // carrying the most fills through our pricing. The tip we already computed
555
+ // is the calibrated one.
539
556
  recordDegradedEstimate(chainId, 'feehistory_missing_base');
540
557
  return {
541
558
  maxFeePerGas: await viemFallbackCap(client, config, priorityFee),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/service-sdk",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "Shared SDK for Rhinestone services",
5
5
  "author": {
6
6
  "name": "Rhinestone",