@rhinestone/shared-configs 2.11.1 → 2.12.1

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,2 +1,2 @@
1
- declare const PACKAGE_VERSION = "2.11.1";
1
+ declare const PACKAGE_VERSION = "2.12.1";
2
2
  export { PACKAGE_VERSION };
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PACKAGE_VERSION = void 0;
4
4
  // Auto-generated by scripts/generate.ts. Do not edit manually.
5
- const PACKAGE_VERSION = "2.11.1";
5
+ const PACKAGE_VERSION = "2.12.1";
6
6
  exports.PACKAGE_VERSION = PACKAGE_VERSION;
@@ -118,6 +118,49 @@ interface TokenEntry {
118
118
  */
119
119
  nearAssetId?: string;
120
120
  unpriced?: boolean;
121
+ /**
122
+ * Whether this token may collateralise an unsponsored intent's gas refund.
123
+ *
124
+ * Opt-in and independent of every other field here: catalog membership is a
125
+ * routing and metadata statement, and settling a refund is a transferFrom
126
+ * against the account, so a fee-on-transfer or falsely-succeeding token
127
+ * shorts the relayer rather than the user. A token can be listed for routing
128
+ * and refused here, or carried here with no settlement coverage at all.
129
+ *
130
+ * A chain's native token is always eligible and needs no entry — the
131
+ * Paymaster settles it from a deposit rather than a transfer.
132
+ */
133
+ gasRefund?: boolean;
134
+ /**
135
+ * Whether this token may carry an app-fee carve.
136
+ *
137
+ * Same shape of assertion as `gasRefund`, different mover: the carve is an
138
+ * `ERC20.transfer` that runs failure-tolerantly on-chain, so a token that
139
+ * succeeds without moving the full amount over-credits the derived ledger
140
+ * that withdrawal pays out against. Opt-in for the same reason — adding a
141
+ * token to the catalog must not silently widen what can carry a fee.
142
+ */
143
+ appFee?: boolean;
144
+ }
145
+ /**
146
+ * A token we are willing to be PAID in that is not in the chain's routing
147
+ * catalog.
148
+ *
149
+ * Separate from `tokens` rather than an entry in it: catalog membership answers
150
+ * routing and metadata questions and is scanned on every intent, so folding
151
+ * these in would both make them routable and add a balance call per asset to
152
+ * every quote. Nothing here is a statement about routing.
153
+ */
154
+ interface PaymentTokenEntry {
155
+ symbol: string;
156
+ /** EVM only — both payment paths are EVM calls. */
157
+ address: string;
158
+ decimals: number;
159
+ priceSymbol?: string;
160
+ /** See `TokenEntry.appFee`. */
161
+ appFee?: boolean;
162
+ /** See `TokenEntry.gasRefund`. */
163
+ gasRefund?: boolean;
121
164
  }
122
165
  /**
123
166
  * A chain's block explorer. Split into a base and paths rather than a single
@@ -379,6 +422,13 @@ interface ChainEntry {
379
422
  nativeToken: NativeTokenEntry;
380
423
  wrappedNativeToken: NativeTokenEntry;
381
424
  tokens: TokenEntry[];
425
+ /**
426
+ * Tokens accepted as PAYMENT that are not in `tokens` — see
427
+ * `PaymentTokenEntry`. Absent means the chain has none, not that payment is
428
+ * unsupported: a catalog token can opt in through its own flags, and the
429
+ * native token is always eligible for a gas refund.
430
+ */
431
+ paymentTokens?: PaymentTokenEntry[];
382
432
  settlementLayers: SettlementLayer[];
383
433
  settlementConfig?: SettlementConfig;
384
434
  swapQuoters: SwapQuoter[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/shared-configs",
3
- "version": "2.11.1",
3
+ "version": "2.12.1",
4
4
  "description": "Reusable configuration files for Rhinestone services",
5
5
  "author": {
6
6
  "name": "Rhinestone",