@rhinestone/sdk 0.0.0-dev-20261008155503 → 0.0.0-dev-20261008160531

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.
@@ -3,7 +3,7 @@ import { createOrchestratorAuth } from './auth.js';
3
3
  import { ChainCatalog, parseChains } from './chain-catalog.js';
4
4
  import { fetchOrchestratorJson } from './fetch.js';
5
5
  import { mapIntentRequestToWire, mapIntentStatusFromWire, mapPortfolioFromWire, mapQuoteResponseFromWire, mapSignedIntentToWire, mapSplitRequestToWire, mapSplitResultFromWire, } from './mappers.js';
6
- const SDK_VERSION = '0.0.0-dev-20261008155503';
6
+ const SDK_VERSION = '0.0.0-dev-20261008160531';
7
7
  const API_VERSION = '2026-04.blanc';
8
8
  // Bounds how long a killed layer or pulled settlement address stays pinnable.
9
9
  const CHAIN_CATALOG_TTL_MS = 10 * 60 * 1000;
@@ -213,7 +213,7 @@ interface Permit2ClaimPolicy {
213
213
  * retired Standard Eco arbiter).
214
214
  * `SAME_CHAIN` and `ECO` are deprecated: their arbiter paths are retired, so
215
215
  * use `SAME_CHAIN_IE` and `ECO_IE` instead.
216
- * - `CCTP` (USDC), `OFT` (USDT0), `ECO_IE` (Eco's solver network: the USD stablecoins the orchestrator
216
+ * - `CCTP` (USDC), `OFT` (USDT0, with an optional `to.minAmount` floor), `ECO_IE` (Eco's solver network: the USD stablecoins the orchestrator
217
217
  * serves for it), `SAME_CHAIN_IE` (a transfer, or a Rhinestone Swapper swap with
218
218
  * a `to.minAmount` floor, on the session's own chain) and `LZ` (USDC through
219
219
  * the LayerZero Value Transfer API, over Stargate or CCTP) settle by the
@@ -230,10 +230,13 @@ interface Permit2ClaimPolicy {
230
230
  * on its own, so an allowance the account already gave one of those
231
231
  * contracts can move more than `maxAmount` in total. `OFT` and `LZ` cannot
232
232
  * be combined (each pays a native LayerZero fee), `SAME_CHAIN_IE` cannot be
233
- * combined with another layer, and `maxFeeBps` (or `to.minAmount` outside
234
- * `SAME_CHAIN_IE`) needs `ECO_IE` among the layers, where it floors only the
235
- * Eco delivery. With `ECO_IE` among several layers, an intent settles over
236
- * Eco only when it delivers at least its floor: the higher of
233
+ * combined with another layer, and `maxFeeBps` needs `ECO_IE` among the
234
+ * layers. A `to.minAmount` binds every layer in the permit: `ECO_IE` and
235
+ * `OFT` floor their own delivery, and naming a layer that cannot (`CCTP`
236
+ * never can) is refused. A `to.minAmount` outside half of to all of any
237
+ * `from` leg's `maxAmount` is refused as a units mistake, `'all'` included.
238
+ * With `ECO_IE` among several layers, an intent settles over Eco only when
239
+ * it delivers at least its floor: the higher of
237
240
  * `maxAmount × (1 − maxFeeBps / 10000)`, rescaled to the `to` token's
238
241
  * decimals, and `to.minAmount`. Both are fixed against `maxAmount`, so the
239
242
  * orchestrator may route a smaller intent through another layer, or the
@@ -243,12 +246,14 @@ interface Permit2ClaimPolicy {
243
246
  * `LZ` that can settle the permit on the session's chain, and silently
244
247
  * drops the rest: a layer that does not route there, does not move the
245
248
  * `from` token, or lacks or rejects a field it needs (`ECO_IE`'s
246
- * `maxFeeBps` and `validUntil`, `OFT`'s and `LZ`'s `oneTimeUse`). Setting
247
- * `maxFeeBps` or `to.minAmount` asks for `ECO_IE`, so a dropped `ECO_IE` is
248
- * then refused with its reason; either one floors only the `ECO_IE` call,
249
- * not the other layers kept. `'all'` never includes `SAME_CHAIN_IE`, and is refused when
250
- * no layer qualifies. It resolves against the orchestrator's `GET /chains`
251
- * and the clock when the session is created, so store the created session
249
+ * `maxFeeBps` and `validUntil`, `OFT`'s and `LZ`'s `oneTimeUse`), or cannot
250
+ * enforce the `to.minAmount` given (always `CCTP`). Setting `maxFeeBps` asks
251
+ * for `ECO_IE`, so a dropped `ECO_IE` is then refused with its reason, and
252
+ * it floors only the `ECO_IE` call. A `to.minAmount` needs no particular layer:
253
+ * the layers that enforce it are kept. `'all'` never includes
254
+ * `SAME_CHAIN_IE`, and is refused when no layer qualifies. It resolves
255
+ * against the orchestrator's `GET /chains` and the clock when the session
256
+ * is created, so store the created session
252
257
  * (its `settlementLayers` lists the layers kept) and reuse it rather than
253
258
  * rebuilding it from `'all'`, which can keep a different set of layers.
254
259
  *
@@ -261,9 +266,10 @@ interface Permit2ClaimPolicy {
261
266
  * quotes that ~7 days out. Both tokens must be ones the orchestrator serves
262
267
  * for `ECO_IE`. The floor is `maxFeeBps`, which also needs their decimals
263
268
  * served, or a `to.minAmount` on every leg, for any two such tokens; given
264
- * both, the higher applies. Without `maxFeeBps`, every `from` leg must give
265
- * the same `maxAmount`: each source chain's session pins the same
266
- * `to.minAmount` against its own cap. `OFT` and `LZ` require `oneTimeUse`.
269
+ * both, the higher applies. Without `maxFeeBps`, `ECO_IE` needs every `from`
270
+ * leg to give the same `maxAmount` (each source chain's session pins the
271
+ * same `to.minAmount` against its own cap), or `'all'` drops it. `OFT` and
272
+ * `LZ` require `oneTimeUse`.
267
273
  * `CCTP`, `OFT`, `ECO_IE` and `LZ` pin
268
274
  * addresses the orchestrator serves on `GET /chains`, so create their
269
275
  * sessions with `sdk.createSession`.
@@ -377,18 +383,29 @@ interface ToLeg {
377
383
  token: Address;
378
384
  recipient?: Address | 'any';
379
385
  /**
380
- * `SAME_CHAIN_IE` swaps and `ECO_IE` only: the least amount of `token` the swap
381
- * or the Eco route must deliver, in `token`'s smallest units (its own
382
- * decimals, e.g. `99_000_000n` for 99 of a 6-decimal stablecoin). Required for
386
+ * `SAME_CHAIN_IE` swaps, `ECO_IE` and `OFT`: the least amount of
387
+ * `token` the swap, the Eco route or the OFT send must deliver, in `token`'s
388
+ * smallest units (its own decimals, e.g. `99_000_000n` for 99 of a 6-decimal
389
+ * stablecoin). Required for
383
390
  * a swap (with `maxAmount`), since the session key otherwise sets the swap's
384
391
  * output bound; `maxAmount : minAmount` is the worst rate accepted.
385
392
  *
386
393
  * On `ECO_IE` it prices any pair of tokens the orchestrator serves for
387
394
  * `ECO_IE`, and stands in for `maxFeeBps` (given both, the higher floor
388
- * applies). When both tokens' decimals are served, a value under half of
389
- * `maxAmount` is refused as a units mistake. Without `maxFeeBps`, every `from`
390
- * leg must give the same `maxAmount`, and a `to` leg named twice must give the
391
- * same `minAmount`.
395
+ * applies). Without `maxFeeBps`, every `from` leg must give the same
396
+ * `maxAmount`, and a `to` leg named twice must give the same `minAmount`.
397
+ *
398
+ * Every layer in the permit enforces it: one that cannot (always `CCTP` and
399
+ * `LZ`; `OFT` in the cases below) is refused when named and dropped under
400
+ * `'all'`. Where both tokens' decimals are served, a value outside half of
401
+ * to all of a `from` leg's `maxAmount` is refused as a units mistake, on
402
+ * any layer list.
403
+ *
404
+ * On `OFT` it is optional and floors the send's `minAmountLD`,
405
+ * so it also refuses any send smaller than it; both tokens need served, equal
406
+ * decimals, and it must be positive and at most uint64. The orchestrator
407
+ * sends at 1% slippage, so set it at most 99% of
408
+ * the amount you expect to send.
392
409
  */
393
410
  minAmount?: bigint;
394
411
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../config/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../config/account.ts"],"names":[],"mappings":"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"}
@@ -131,6 +131,8 @@ export declare const PUBLISH: {
131
131
  * under it, and the orchestrator publishes Eco's quoted deadline about 7 days out.
132
132
  */
133
133
  export declare const ECO_MIN_VALIDITY_SECONDS: bigint;
134
+ /** The token's served decimals when `stableDecimals` would accept them. */
135
+ export declare function knownDecimals(settlement: SettlementCatalog, chainId: number, token: Address): number | undefined;
134
136
  /**
135
137
  * Provers served on both chains of a leg. An unlisted prover could attest a
136
138
  * fill that never happened; one with no code on the source chain makes
@@ -1 +1 @@
1
- {"version":3,"file":"eco.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/eco.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAQb,MAAM,MAAM,CAAA;AAIb,OAAO,KAAK,EAEV,YAAY,EACZ,8BAA8B,EAC/B,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvB,CAAA;AAEF,eAAO,MAAM,yBAAyB,eAAsC,CAAA;AAI5E;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;IAqBlB,4EAA4E;;;;;;;;;;;;CAYpE,CAAA;AAIV;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAuB,CAAA;AAqE5D;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,EAAE,CAOX;AAkBD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,GAAG,8BAA8B,EACjC,GAAG,8BAA8B,YAMoB,CAAA;AAEvD,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,CAwN7D"}
1
+ {"version":3,"file":"eco.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/eco.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAQb,MAAM,MAAM,CAAA;AAIb,OAAO,KAAK,EAEV,YAAY,EACZ,8BAA8B,EAC/B,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvB,CAAA;AAEF,eAAO,MAAM,yBAAyB,eAAsC,CAAA;AAI5E;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;IAqBlB,4EAA4E;;;;;;;;;;;;CAYpE,CAAA;AAIV;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAuB,CAAA;AAuD5D,2EAA2E;AAC3E,wBAAgB,aAAa,CAC3B,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,SAAS,CAOpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,EAAE,CAOX;AAkBD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,GAAG,8BAA8B,EACjC,GAAG,8BAA8B,YAMoB,CAAA;AAEvD,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,CA6M7D"}
@@ -121,7 +121,7 @@ function stableDecimals(settlement, chainId, token, leg) {
121
121
  return usd[0].decimals;
122
122
  }
123
123
  /** The token's served decimals when `stableDecimals` would accept them. */
124
- function knownDecimals(settlement, chainId, token) {
124
+ export function knownDecimals(settlement, chainId, token) {
125
125
  const usd = (settlement[chainId]?.usdStablecoins ?? []).filter((t) => isAddressEqual(t.address, token));
126
126
  return usd.length === 1 && STABLE_DECIMALS.has(usd[0].decimals)
127
127
  ? usd[0].decimals
@@ -197,6 +197,11 @@ export function scopeEco(ctx) {
197
197
  if (ctx.validUntil < now + ECO_MIN_VALIDITY_SECONDS) {
198
198
  throw new SettlementLayerRefusal("crossChainPermits: ECO_IE needs validUntil at least 7 days ahead: Eco's reward deadline is ~7 days out and the session pins it");
199
199
  }
200
+ // Each source chain's session floors its own capped reward with the same
201
+ // absolute amount, so it bounds the rate only where every cap is the same.
202
+ if (ctx.maxFeeBps === undefined && new Set(ctx.fromCaps ?? []).size > 1) {
203
+ throw new SettlementLayerRefusal('crossChainPermits: an ECO_IE `to.minAmount` floors every source chain alike, so `from` legs with different maxAmount need maxFeeBps, which scales with each cap');
204
+ }
200
205
  const cap = ctx.cap;
201
206
  const maxFeeBps = ctx.maxFeeBps;
202
207
  const rules = [
@@ -235,16 +240,6 @@ export function scopeEco(ctx) {
235
240
  }
236
241
  const legs = ctx.destinations.map((leg) => {
237
242
  requireServed(ctx.settlement, leg.chainId, leg.token, 'to');
238
- // Every Eco token is a USD stablecoin, so a floor under half the cap is a
239
- // units mistake: `to.minAmount` is in the `to` token's smallest units.
240
- const fromKnown = knownDecimals(ctx.settlement, ctx.chainId, ctx.sourceTokens[0]);
241
- const toKnown = knownDecimals(ctx.settlement, leg.chainId, leg.token);
242
- if (leg.minAmount !== undefined &&
243
- fromKnown !== undefined &&
244
- toKnown !== undefined &&
245
- leg.minAmount < floorFor(cap, 1n, 2n, fromKnown, toKnown)) {
246
- throw new SettlementLayerRefusal(`crossChainPermits: ECO_IE \`to.minAmount\` ${leg.minAmount} on chain ${leg.chainId} is under half of maxAmount; give it in the \`to\` token's smallest units (${toKnown} decimals)`);
247
- }
248
243
  // The cap less what the solver may keep, rescaled from the reward's
249
244
  // decimals to the delivery's; with `to.minAmount` too, the stricter wins.
250
245
  const feeFloor = maxFeeBps === undefined || fromDecimals === undefined
@@ -0,0 +1,10 @@
1
+ import type { CrossChainPermit } from '../types.js';
2
+ import type { SettlementCatalog } from './types.js';
3
+ /**
4
+ * Every bridged token is a USD stablecoin, so a `to.minAmount` outside
5
+ * [maxAmount / 2, maxAmount] of any capped `from` leg is a units mistake. It is
6
+ * a hard error, never a dropped layer: 'all' must not keep a floor of dust.
7
+ * Pairs whose decimals the orchestrator does not serve are not judged.
8
+ */
9
+ export declare function requireFloorsWithinCaps(permit: Pick<CrossChainPermit, 'from' | 'to'>, settlement: SettlementCatalog): void;
10
+ //# sourceMappingURL=floor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/floor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC,EAC7C,UAAU,EAAE,iBAAiB,GAC5B,IAAI,CAuBN"}
@@ -0,0 +1,27 @@
1
+ import { floorFor } from '../swap/rules.js';
2
+ import { knownDecimals } from './eco.js';
3
+ /**
4
+ * Every bridged token is a USD stablecoin, so a `to.minAmount` outside
5
+ * [maxAmount / 2, maxAmount] of any capped `from` leg is a units mistake. It is
6
+ * a hard error, never a dropped layer: 'all' must not keep a floor of dust.
7
+ * Pairs whose decimals the orchestrator does not serve are not judged.
8
+ */
9
+ export function requireFloorsWithinCaps(permit, settlement) {
10
+ for (const to of permit.to ?? []) {
11
+ const toDecimals = knownDecimals(settlement, to.chain.id, to.token);
12
+ for (const from of permit.from ?? []) {
13
+ const fromDecimals = knownDecimals(settlement, from.chain.id, from.token);
14
+ if (to.minAmount === undefined ||
15
+ from.maxAmount === undefined ||
16
+ toDecimals === undefined ||
17
+ fromDecimals === undefined) {
18
+ continue;
19
+ }
20
+ const cap = from.maxAmount;
21
+ const at = (num, den) => floorFor(cap, num, den, fromDecimals, toDecimals);
22
+ if (to.minAmount < at(1n, 2n) || to.minAmount > at(1n, 1n)) {
23
+ throw new Error(`crossChainPermits: \`to.minAmount\` ${to.minAmount} on chain ${to.chain.id} must be between half of and all of the chain ${from.chain.id} maxAmount; give it in the \`to\` token's smallest units (${toDecimals} decimals)`);
24
+ }
25
+ }
26
+ }
27
+ }
@@ -64,6 +64,7 @@ export declare const SEND: {
64
64
  readonly dstEid: 128n;
65
65
  readonly to: 160n;
66
66
  readonly amountLD: 192n;
67
+ readonly minAmountLD: 224n;
67
68
  readonly extraOptionsPointer: 256n;
68
69
  readonly composeMsgPointer: 288n;
69
70
  readonly oftCmdPointer: 320n;
@@ -1 +1 @@
1
- {"version":3,"file":"oft.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/oft.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAkC,MAAM,UAAU,CAAA;AAE5E,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEnE;;;;;;;;;GASG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BK,CAAA;AAExB,eAAO,MAAM,iBAAiB,eAAgC,CAAA;AAE9D,4EAA4E;AAC5E,eAAO,MAAM,IAAI;;;;;;;;;;;;;CAaP,CAAA;AAgBV,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,CA0D7D"}
1
+ {"version":3,"file":"oft.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/oft.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAkC,MAAM,UAAU,CAAA;AAE5E,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEnE;;;;;;;;;GASG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BK,CAAA;AAExB,eAAO,MAAM,iBAAiB,eAAgC,CAAA;AAE9D,4EAA4E;AAC5E,eAAO,MAAM,IAAI;;;;;;;;;;;;;;CAcP,CAAA;AA4DV,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,CAgF7D"}
@@ -1,5 +1,5 @@
1
- import { isAddressEqual, maxUint256, pad, toFunctionSelector, } from 'viem';
2
- import { cumulativeCap, pin, pinValue, pinWord, swapAction, } from '../swap/rules.js';
1
+ import { isAddressEqual, maxUint64, maxUint256, pad, toFunctionSelector, } from 'viem';
2
+ import { atLeast, cumulativeCap, pin, pinValue, pinWord, swapAction, } from '../swap/rules.js';
3
3
  import { SettlementLayerRefusal, served } from './served.js';
4
4
  /**
5
5
  * OFT — USDT0 over LayerZero, `OFTAdapter.send` encoded by the orchestrator
@@ -52,6 +52,7 @@ export const SEND = {
52
52
  dstEid: 128n,
53
53
  to: 160n,
54
54
  amountLD: 192n,
55
+ minAmountLD: 224n,
55
56
  extraOptionsPointer: 256n,
56
57
  composeMsgPointer: 288n,
57
58
  oftCmdPointer: 320n,
@@ -59,12 +60,42 @@ export const SEND = {
59
60
  composeMsgLength: 384n,
60
61
  oftCmdLength: 416n,
61
62
  };
62
- /** The mesh moves only USDT0, so any other token names a route it cannot take. */
63
+ /**
64
+ * The mesh moves only USDT0, so any other token names a route it cannot take.
65
+ * USDT0 takes no fee and removes no dust (6 local and 6 shared decimals), so
66
+ * `send` delivers exactly `amountLD` and an unfloored `minAmountLD` costs
67
+ * nothing. An OFT that takes a fee or removes dust delivers less, down to the
68
+ * key's `minAmountLD`: serving one needs `to.minAmount` on every leg.
69
+ */
63
70
  function requireUsdt0(settlement, chainId, token, leg) {
64
71
  if (!isAddressEqual(token, served(settlement, chainId, 'oft').token)) {
65
72
  throw new SettlementLayerRefusal(`crossChainPermits: OFT moves only USDT0; the \`${leg}\` token on chain ${chainId} is ${token}`);
66
73
  }
67
74
  }
75
+ /**
76
+ * `send` reverts unless it delivers at least `minAmountLD`, so a floor on that
77
+ * word floors the delivery. It is a fixed amount, since a rule compares with a
78
+ * constant, not with `amountLD`. `minAmountLD` is in the source token's
79
+ * decimals and `to.minAmount` in the destination's, so both must be served
80
+ * and equal.
81
+ */
82
+ function floorMinAmount(ctx, leg, minAmount) {
83
+ const decimals = (chainId, token) => ctx.settlement[chainId]?.usdStablecoins?.find((t) => isAddressEqual(t.address, token))?.decimals;
84
+ const from = decimals(ctx.chainId, ctx.sourceTokens[0]);
85
+ const to = decimals(leg.chainId, leg.token);
86
+ if (from === undefined || from !== to) {
87
+ throw new SettlementLayerRefusal(`crossChainPermits: an OFT \`to.minAmount\` needs served, equal decimals for the \`from\` token on chain ${ctx.chainId} (${from ?? 'not served'}) and the \`to\` token on chain ${leg.chainId} (${to ?? 'not served'})`);
88
+ }
89
+ if (minAmount <= 0n) {
90
+ throw new SettlementLayerRefusal('crossChainPermits: an OFT `to.minAmount` must be positive');
91
+ }
92
+ // USDT0 sends amounts as uint64 in shared decimals; a larger floor admits no
93
+ // send.
94
+ if (minAmount > maxUint64) {
95
+ throw new SettlementLayerRefusal('crossChainPermits: an OFT `to.minAmount` above uint64 cannot be met by any send');
96
+ }
97
+ return atLeast(SEND.minAmountLD, minAmount);
98
+ }
68
99
  /** The send call, pinned to the permit's destinations, refund and cap. */
69
100
  export function scopeOft(ctx) {
70
101
  if (ctx.sourceTokens.length !== 1) {
@@ -97,6 +128,20 @@ export function scopeOft(ctx) {
97
128
  ];
98
129
  if (ctx.cap !== undefined)
99
130
  rules.push(cumulativeCap(SEND.amountLD, ctx.cap));
131
+ // Legs whose sends look alike are alternatives the key picks from, so a
132
+ // looser floor on one would open the other.
133
+ ctx.destinations.forEach((leg, i) => {
134
+ const twin = ctx.destinations
135
+ .slice(i + 1)
136
+ .find((other) => other.chainId === leg.chainId &&
137
+ (other.recipient === undefined ||
138
+ leg.recipient === undefined ||
139
+ isAddressEqual(other.recipient, leg.recipient)) &&
140
+ other.minAmount !== leg.minAmount);
141
+ if (twin) {
142
+ throw new SettlementLayerRefusal(`crossChainPermits: two OFT \`to\` legs on chain ${leg.chainId} admit the same send but set different \`minAmount\`s`);
143
+ }
144
+ });
100
145
  const legs = ctx.destinations.map((leg) => {
101
146
  requireUsdt0(ctx.settlement, leg.chainId, leg.token, 'to');
102
147
  const legRules = [
@@ -105,6 +150,9 @@ export function scopeOft(ctx) {
105
150
  if (leg.recipient !== undefined) {
106
151
  legRules.push(pinWord(SEND.to, pad(leg.recipient)));
107
152
  }
153
+ if (leg.minAmount !== undefined) {
154
+ legRules.push(floorMinAmount(ctx, leg, leg.minAmount));
155
+ }
108
156
  return legRules;
109
157
  });
110
158
  // `msg.value` carries the LayerZero fee, whose size the session cannot know;
@@ -81,7 +81,7 @@ export function scopeSameChain(ctx) {
81
81
  const sameToken = ctx.destinations.map((leg) => isAddressEqual(leg.token, token));
82
82
  if (sameToken.every(Boolean)) {
83
83
  if (ctx.destinations.some((leg) => leg.minAmount !== undefined)) {
84
- throw new Error('crossChainPermits: `to.minAmount` applies only to a SAME_CHAIN_IE swap');
84
+ throw new Error('crossChainPermits: a SAME_CHAIN_IE transfer cannot enforce `to.minAmount`; it applies to a swap');
85
85
  }
86
86
  const rules = ctx.cap === undefined ? [] : [cumulativeCap(32n, ctx.cap)];
87
87
  const recipients = ctx.destinations.map((leg) => leg.recipient);
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAsC,MAAM,MAAM,CAAA;AAGvE,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,UAAU,EACV,YAAY,EACb,MAAM,UAAU,CAAA;AAQjB,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,SAAS,CAAA;AAwDnE,eAAO,MAAM,iCAAiC,2DAMe,CAAA;AAE7D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,yBAAyB,GAC/B,KAAK,IAAI,6BAA6B,CAIxC;AAKD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GACjD,OAAO,CAKT;AAID,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAA;IAClC,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,CAAA;IAC1D,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,GAAG,SAAS,CA4TrC"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAsC,MAAM,MAAM,CAAA;AAGvE,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,UAAU,EACV,YAAY,EACb,MAAM,UAAU,CAAA;AASjB,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,SAAS,CAAA;AA4DnE,eAAO,MAAM,iCAAiC,2DAMe,CAAA;AAE7D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,yBAAyB,GAC/B,KAAK,IAAI,6BAA6B,CAIxC;AAKD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GACjD,OAAO,CAKT;AAID,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAA;IAClC,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,CAAA;IAC1D,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,GAAG,SAAS,CA+SrC"}
@@ -4,6 +4,7 @@ import { allOf, anyOf, cumulativeCap, pin, swapAction } from '../swap/rules.js';
4
4
  import { scopeCctp } from './cctp.js';
5
5
  import { scopeEco } from './eco.js';
6
6
  import { servedFees, swapApprovesAsActions, withFeeActions } from './fees.js';
7
+ import { requireFloorsWithinCaps } from './floor.js';
7
8
  import { scopeLz } from './lz.js';
8
9
  import { scopeOft } from './oft.js';
9
10
  import { scopeSameChain } from './same-chain.js';
@@ -29,10 +30,12 @@ const LAYERS = {
29
30
  target: (settlement, chainId) => served(settlement, chainId, 'oft').adapter,
30
31
  scope: scopeOft,
31
32
  requiresOneTimeUse: true,
33
+ floorsDelivery: true,
32
34
  },
33
35
  ECO_IE: {
34
36
  target: (settlement, chainId) => served(settlement, chainId, 'eco').portal,
35
37
  scope: scopeEco,
38
+ floorsDelivery: true,
36
39
  },
37
40
  LZ: {
38
41
  target: (settlement, chainId) => served(settlement, chainId, 'lz').multiCall,
@@ -147,18 +150,11 @@ export function resolveSettlementScope(permits, options) {
147
150
  if (permit.maxFeeBps !== undefined && !requested.includes('ECO_IE')) {
148
151
  throw new Error('crossChainPermits: maxFeeBps applies only to ECO_IE');
149
152
  }
150
- const minAmount = permit.to?.some((leg) => leg.minAmount !== undefined);
151
- if (minAmount && !sameChainOnly && !requested.includes('ECO_IE')) {
152
- throw new Error('crossChainPermits: `to.minAmount` applies only to a SAME_CHAIN_IE swap or ECO_IE');
153
- }
154
- // Each source chain's session floors its own capped reward with the same
155
- // absolute amount, so it bounds the rate only where every cap is the same.
156
- const sourceCaps = new Set((permit.from ?? []).map(({ maxAmount }) => maxAmount));
157
- if (minAmount &&
158
- requested.includes('ECO_IE') &&
159
- permit.maxFeeBps === undefined &&
160
- sourceCaps.size > 1) {
161
- throw new Error('crossChainPermits: an ECO_IE `to.minAmount` floors every source chain alike, so `from` legs with different maxAmount need maxFeeBps, which scales with each cap');
153
+ // Every layer in the permit must enforce `to.minAmount`, or the key would
154
+ // settle around it: scopeLayer refuses one that cannot (CCTP never can).
155
+ const minAmount = permit.to.some((leg) => leg.minAmount !== undefined);
156
+ if (minAmount && !sameChainOnly && options.settlement) {
157
+ requireFloorsWithinCaps(permit, options.settlement);
162
158
  }
163
159
  const fees = permit.allowFees
164
160
  ? servedFees(options.settlement, options.chainId, sourceTokens)
@@ -195,10 +191,14 @@ export function resolveSettlementScope(permits, options) {
195
191
  if (settlement === undefined) {
196
192
  throw new Error("crossChainPermits: IntentExecutor-layer permits need the orchestrator's settlement addresses; create the session with sdk.createSession");
197
193
  }
194
+ const fromCaps = (permit.from ?? []).map(({ maxAmount }) => maxAmount);
198
195
  const scopeLayer = (layer) => {
199
196
  if (LAYERS[layer].requiresOneTimeUse && !options.oneTimeUse) {
200
197
  throw new SettlementLayerRefusal(`crossChainPermits: an ${layer} permit requires oneTimeUse`);
201
198
  }
199
+ if (minAmount && !LAYERS[layer].floorsDelivery) {
200
+ throw new SettlementLayerRefusal(`crossChainPermits: ${layer} cannot enforce \`to.minAmount\``);
201
+ }
202
202
  const target = LAYERS[layer].target(settlement, options.chainId);
203
203
  const spender = LAYERS[layer].spender?.(settlement, options.chainId) ?? target;
204
204
  const action = LAYERS[layer].scope({
@@ -209,6 +209,7 @@ export function resolveSettlementScope(permits, options) {
209
209
  sourceTokens,
210
210
  destinations,
211
211
  cap,
212
+ fromCaps,
212
213
  ...(permit.maxFeeBps === undefined
213
214
  ? {}
214
215
  : { maxFeeBps: permit.maxFeeBps }),
@@ -239,9 +240,6 @@ export function resolveSettlementScope(permits, options) {
239
240
  if (permit.maxFeeBps !== undefined && ecoSkipped !== undefined) {
240
241
  throw new Error(`crossChainPermits: maxFeeBps asks for ECO_IE, which cannot settle this permit: ${ecoSkipped}`);
241
242
  }
242
- if (minAmount && ecoSkipped !== undefined) {
243
- throw new Error(`crossChainPermits: \`to.minAmount\` asks for ECO_IE, which cannot settle this permit: ${ecoSkipped}`);
244
- }
245
243
  if (scopedLayers.length === 0) {
246
244
  throw new Error(`crossChainPermits: no IntentExecutor layer can settle this permit on chain ${options.chainId} (${[
247
245
  ...skipped,
@@ -65,11 +65,16 @@ export interface SettlementContext {
65
65
  readonly chainId: number;
66
66
  readonly token: Address;
67
67
  readonly recipient?: Address;
68
- /** `ECO_IE` only: the owner's floor on delivery, in this leg's token. */
68
+ /**
69
+ * `ECO_IE` and `OFT`: the owner's floor on delivery, in this leg's token.
70
+ * CCTP cannot enforce it.
71
+ */
69
72
  readonly minAmount?: bigint;
70
73
  }[];
71
74
  /** Cumulative cap on the amount the layer call moves. */
72
75
  readonly cap?: bigint;
76
+ /** Every `from` leg's `maxAmount`, on every chain. */
77
+ readonly fromCaps?: readonly (bigint | undefined)[];
73
78
  /** `ECO_IE` only: the most of the cap the solver may keep, in basis points. */
74
79
  readonly maxFeeBps?: number;
75
80
  /** The permit's `validUntil`, in seconds. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/smart-sessions/settlement/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/sdk",
3
- "version": "0.0.0-dev-20261008155503",
3
+ "version": "0.0.0-dev-20261008160531",
4
4
  "description": "Smart wallets and multichain transactions for your application",
5
5
  "author": {
6
6
  "name": "Rhinestone",