@fun-xyz/fiat-contract 0.11.2 → 0.12.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/README.md CHANGED
@@ -78,6 +78,10 @@ this package is [ENG-5268](https://linear.app/funxyz/issue/ENG-5268).
78
78
  13. **Providerless is terminal-routing-only.** `FiatStepResponse.provider` may be absent only for
79
79
  `BLOCKED`, including `ALL_PROVIDERS_DECLINED` when routing selected no provider. Every other state
80
80
  remains provider-bound and requires `provider`; provider-specific blocked responses may keep it.
81
+ 14. **Path commitment is not a quote.** A response may carry `routingSessionRef` while pricing is
82
+ legitimately deferred for provider auth or activation. Transitions echo that opaque reference in
83
+ `params`; clients submit it unchanged. `Quote.quoteRef` remains required whenever a real `Quote`
84
+ is present, and PAY must never be exposed without real current economics.
81
85
 
82
86
  ## KYC SDK hints, results, and client delivery
83
87
 
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "0.11.2";
2
+ var version = "0.12.0";
3
3
 
4
4
  // src/table.ts
5
5
  var TABLE_VERSION = version;
@@ -514,4 +514,4 @@ export {
514
514
  tableEntry,
515
515
  isTerminal
516
516
  };
517
- //# sourceMappingURL=chunk-KU4EWXRI.mjs.map
517
+ //# sourceMappingURL=chunk-PHLBEDMK.mjs.map
package/dist/index.js CHANGED
@@ -874,19 +874,21 @@ var $providerBoundStepResponse = obj({
874
874
  state: $providerBoundFlowState,
875
875
  provider: $provider,
876
876
  transitions: import_zod.z.array($transition),
877
+ routingSessionRef: import_zod.z.string().optional(),
877
878
  orderId: import_zod.z.string().optional()
878
879
  });
879
880
  var $blockedStepResponse = obj({
880
881
  state: $blockedState,
881
882
  provider: $provider.optional(),
882
883
  transitions: import_zod.z.array($transition),
884
+ routingSessionRef: import_zod.z.string().optional(),
883
885
  orderId: import_zod.z.string().optional()
884
886
  });
885
887
  var $stepResponse = import_zod.z.union([$providerBoundStepResponse, $blockedStepResponse]);
886
888
  var FiatStepResponseSchema = $stepResponse;
887
889
 
888
890
  // package.json
889
- var version = "0.11.2";
891
+ var version = "0.12.0";
890
892
 
891
893
  // src/table.ts
892
894
  var TABLE_VERSION = version;
package/dist/index.mjs CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  tableEntry,
13
13
  unofferedEndpoints,
14
14
  unreachableStates
15
- } from "./chunk-KU4EWXRI.mjs";
15
+ } from "./chunk-PHLBEDMK.mjs";
16
16
 
17
17
  // src/codes.ts
18
18
  var COUNTRY_CURRENCY_LIST = [
@@ -773,12 +773,14 @@ var $providerBoundStepResponse = obj({
773
773
  state: $providerBoundFlowState,
774
774
  provider: $provider,
775
775
  transitions: z.array($transition),
776
+ routingSessionRef: z.string().optional(),
776
777
  orderId: z.string().optional()
777
778
  });
778
779
  var $blockedStepResponse = obj({
779
780
  state: $blockedState,
780
781
  provider: $provider.optional(),
781
782
  transitions: z.array($transition),
783
+ routingSessionRef: z.string().optional(),
782
784
  orderId: z.string().optional()
783
785
  });
784
786
  var $stepResponse = z.union([$providerBoundStepResponse, $blockedStepResponse]);
package/dist/table.js CHANGED
@@ -36,7 +36,7 @@ __export(table_exports, {
36
36
  module.exports = __toCommonJS(table_exports);
37
37
 
38
38
  // package.json
39
- var version = "0.11.2";
39
+ var version = "0.12.0";
40
40
 
41
41
  // src/table.ts
42
42
  var TABLE_VERSION = version;
package/dist/table.mjs CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  tableEntry,
12
12
  unofferedEndpoints,
13
13
  unreachableStates
14
- } from "./chunk-KU4EWXRI.mjs";
14
+ } from "./chunk-PHLBEDMK.mjs";
15
15
  export {
16
16
  DOCUMENTED_ENDPOINTS,
17
17
  STATE_KEYS,
package/dist/types.d.ts CHANGED
@@ -641,6 +641,14 @@ export type BlockedReason = 'REGION_UNSUPPORTED' | 'ASSET_UNSUPPORTED' | 'ALL_PR
641
641
  */
642
642
  type FiatStepResponseBase = {
643
643
  transitions: Transition[];
644
+ /**
645
+ * Stable identity for a routing continuation before provider pricing is observable.
646
+ *
647
+ * A quote-less CONTINUE/PENDING response carries this instead of fabricating a `Quote` or
648
+ * `quoteRef`. It may remain present after a real quote is promoted so the backend can preserve
649
+ * the committed provider path independently from the quote binding.
650
+ */
651
+ routingSessionRef?: string;
644
652
  /** TODO(open-decision): `orderId` placement — see `PAYMENT{INSTRUCT}.orderId` above. */
645
653
  orderId?: string;
646
654
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fun-xyz/fiat-contract",
3
- "version": "0.11.2",
3
+ "version": "0.12.0",
4
4
  "description": "Published conformance contract for Fun's headless fiat onramp: FlowState/Transition types, zod schemas, the transition table as data, recorded fixtures, assertion helpers.",
5
5
  "license": "MIT",
6
6
  "repository": {