@layerzerolabs/common-canton 1.2.38 → 1.2.39

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.
Files changed (164) hide show
  1. package/dist/{FFZGONTK.js → 2QBPIIAB.js} +4 -4
  2. package/dist/{FFZGONTK.js.map → 2QBPIIAB.js.map} +1 -1
  3. package/dist/{BFNNJFWC.js → 2UKHG3HM.js} +3 -3
  4. package/dist/{BFNNJFWC.js.map → 2UKHG3HM.js.map} +1 -1
  5. package/dist/{IOW2523G.js → 45YQNHS2.js} +3 -3
  6. package/dist/{IOW2523G.js.map → 45YQNHS2.js.map} +1 -1
  7. package/dist/{JJKMXRP7.js → 4AR5H4U6.js} +2 -2
  8. package/dist/4AR5H4U6.js.map +1 -0
  9. package/dist/{UV3W5HVQ.js → 4GYCD3G4.js} +3 -3
  10. package/dist/{UV3W5HVQ.js.map → 4GYCD3G4.js.map} +1 -1
  11. package/dist/{MNIG6M5P.js → 5HH7PZW3.js} +19 -19
  12. package/dist/{MNIG6M5P.js.map → 5HH7PZW3.js.map} +1 -1
  13. package/dist/{MCD2CFLV.js → 5OA7RJHH.js} +3 -3
  14. package/dist/{MCD2CFLV.js.map → 5OA7RJHH.js.map} +1 -1
  15. package/dist/{DJ67CXMJ.js → 73I7CBP3.js} +3 -3
  16. package/dist/{DJ67CXMJ.js.map → 73I7CBP3.js.map} +1 -1
  17. package/dist/{VAFLUPQJ.js → 75B7Y26B.js} +35 -8
  18. package/dist/75B7Y26B.js.map +1 -0
  19. package/dist/{25GBI5E7.js → 7GI6QGS6.js} +3 -3
  20. package/dist/{25GBI5E7.js.map → 7GI6QGS6.js.map} +1 -1
  21. package/dist/{T4AL4FJH.js → ALC4M7WK.js} +3 -3
  22. package/dist/{T4AL4FJH.js.map → ALC4M7WK.js.map} +1 -1
  23. package/dist/{3RGRZQQT.js → BL22CZFA.js} +3 -3
  24. package/dist/{3RGRZQQT.js.map → BL22CZFA.js.map} +1 -1
  25. package/dist/{5AD6IR4R.js → DJTKDAIT.js} +3 -3
  26. package/dist/{5AD6IR4R.js.map → DJTKDAIT.js.map} +1 -1
  27. package/dist/{TM5LJKTE.js → FADZDRWB.js} +5 -5
  28. package/dist/FADZDRWB.js.map +1 -0
  29. package/dist/{RJSKBZMO.js → HF5HP2EX.js} +24 -16
  30. package/dist/HF5HP2EX.js.map +1 -0
  31. package/dist/{WUXBJ4EJ.js → HLWLB4AY.js} +3 -3
  32. package/dist/{WUXBJ4EJ.js.map → HLWLB4AY.js.map} +1 -1
  33. package/dist/{RJHKVYCL.js → HRZTWWO4.js} +3 -3
  34. package/dist/{RJHKVYCL.js.map → HRZTWWO4.js.map} +1 -1
  35. package/dist/{EPHLTMJZ.js → JSG7MGHH.js} +3 -3
  36. package/dist/{EPHLTMJZ.js.map → JSG7MGHH.js.map} +1 -1
  37. package/dist/{JH2I4JGJ.js → JXKVPYCE.js} +3 -3
  38. package/dist/{JH2I4JGJ.js.map → JXKVPYCE.js.map} +1 -1
  39. package/dist/{Q4H5IB4B.js → K2SFNQJC.js} +3 -3
  40. package/dist/{Q4H5IB4B.js.map → K2SFNQJC.js.map} +1 -1
  41. package/dist/{OQVZLKQ5.js → KBZ6YXX4.js} +3 -3
  42. package/dist/{OQVZLKQ5.js.map → KBZ6YXX4.js.map} +1 -1
  43. package/dist/{W5H6OVFB.js → KH7RP6Q4.js} +3 -3
  44. package/dist/{W5H6OVFB.js.map → KH7RP6Q4.js.map} +1 -1
  45. package/dist/{WRKQRG6I.js → KTNEUXUI.js} +4 -4
  46. package/dist/{WRKQRG6I.js.map → KTNEUXUI.js.map} +1 -1
  47. package/dist/{D3AV6J7R.js → LL7Z56UN.js} +3 -3
  48. package/dist/{D3AV6J7R.js.map → LL7Z56UN.js.map} +1 -1
  49. package/dist/{BAIUJA2D.js → MFVQ6EHM.js} +3 -3
  50. package/dist/{BAIUJA2D.js.map → MFVQ6EHM.js.map} +1 -1
  51. package/dist/{4FW6H35F.js → NKXEPWZV.js} +3 -3
  52. package/dist/{4FW6H35F.js.map → NKXEPWZV.js.map} +1 -1
  53. package/dist/{VJP6DRFT.js → NS763D57.js} +3 -3
  54. package/dist/{VJP6DRFT.js.map → NS763D57.js.map} +1 -1
  55. package/dist/{2UWZKS5E.js → Q3RL6UXD.js} +4 -4
  56. package/dist/{2UWZKS5E.js.map → Q3RL6UXD.js.map} +1 -1
  57. package/dist/QSQZYJB6.js +93 -0
  58. package/dist/QSQZYJB6.js.map +1 -0
  59. package/dist/{5KFMHJZB.js → QYQWHMQM.js} +3 -3
  60. package/dist/{5KFMHJZB.js.map → QYQWHMQM.js.map} +1 -1
  61. package/dist/SWY4QT4I.js +31 -0
  62. package/dist/SWY4QT4I.js.map +1 -0
  63. package/dist/{4SOUDUP7.js → T4OC6JEE.js} +3 -3
  64. package/dist/T4OC6JEE.js.map +1 -0
  65. package/dist/{7ZK6FSHF.js → UBHUOSK3.js} +3 -3
  66. package/dist/{7ZK6FSHF.js.map → UBHUOSK3.js.map} +1 -1
  67. package/dist/{262S47C4.js → UL73PQD3.js} +4 -4
  68. package/dist/{262S47C4.js.map → UL73PQD3.js.map} +1 -1
  69. package/dist/{57KDDFEU.js → WLHCBBAJ.js} +5 -5
  70. package/dist/WLHCBBAJ.js.map +1 -0
  71. package/dist/{HU7X7G5L.js → WSLU3JGO.js} +3 -3
  72. package/dist/{HU7X7G5L.js.map → WSLU3JGO.js.map} +1 -1
  73. package/dist/{NVDYBSHG.js → ZPOY5WJ2.js} +3 -3
  74. package/dist/{NVDYBSHG.js.map → ZPOY5WJ2.js.map} +1 -1
  75. package/dist/{I6Z5XG3N.js → ZYPVFCJP.js} +7 -3
  76. package/dist/ZYPVFCJP.js.map +1 -0
  77. package/dist/address.d.ts.map +1 -1
  78. package/dist/address.js +2 -2
  79. package/dist/auth/index.js +1 -1
  80. package/dist/client/canton-client.js +79 -79
  81. package/dist/client/index.js +79 -79
  82. package/dist/deferredValue.d.ts +21 -3
  83. package/dist/deferredValue.d.ts.map +1 -1
  84. package/dist/deferredValue.js +1 -1
  85. package/dist/events.d.ts +2 -1
  86. package/dist/events.d.ts.map +1 -1
  87. package/dist/events.js +2 -2
  88. package/dist/index.d.ts +1 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +91 -90
  91. package/dist/open-api/apis/DefaultApi.js +78 -78
  92. package/dist/open-api/apis/index.js +78 -78
  93. package/dist/open-api/index.js +78 -78
  94. package/dist/open-api/models/Command.js +3 -3
  95. package/dist/open-api/models/CreateUserRequest.js +6 -6
  96. package/dist/open-api/models/DeduplicationPeriod.js +1 -1
  97. package/dist/open-api/models/GrantUserRightsRequest.js +6 -6
  98. package/dist/open-api/models/GrantUserRightsResponse.js +6 -6
  99. package/dist/open-api/models/JsCommands.js +5 -5
  100. package/dist/open-api/models/JsGetUpdateResponse.js +10 -10
  101. package/dist/open-api/models/JsGetUpdateTreesResponse.js +3 -3
  102. package/dist/open-api/models/JsGetUpdatesResponse.js +10 -10
  103. package/dist/open-api/models/JsPrepareSubmissionRequest.js +5 -5
  104. package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +6 -6
  105. package/dist/open-api/models/JsTopologyTransaction.js +4 -4
  106. package/dist/open-api/models/Kind.js +4 -4
  107. package/dist/open-api/models/ListUserRightsResponse.js +6 -6
  108. package/dist/open-api/models/Operation.js +4 -4
  109. package/dist/open-api/models/RevokeUserRightsRequest.js +6 -6
  110. package/dist/open-api/models/RevokeUserRightsResponse.js +6 -6
  111. package/dist/open-api/models/Right.js +5 -5
  112. package/dist/open-api/models/TopologyEvent.js +3 -3
  113. package/dist/open-api/models/TopologyEventEvent.js +2 -2
  114. package/dist/open-api/models/TopologyTransaction.js +5 -5
  115. package/dist/open-api/models/Update.js +9 -9
  116. package/dist/open-api/models/Update1.js +2 -2
  117. package/dist/open-api/models/UpdateOneOf2.js +6 -6
  118. package/dist/open-api/models/UpdateVettedPackagesRequest.js +6 -6
  119. package/dist/open-api/models/VettedPackagesChange.js +5 -5
  120. package/dist/open-api/models/index.js +77 -77
  121. package/dist/provider.js +81 -81
  122. package/dist/refresh/address-resolver.d.ts +24 -4
  123. package/dist/refresh/address-resolver.d.ts.map +1 -1
  124. package/dist/refresh/address-resolver.js +3 -1
  125. package/dist/refresh/deployment-address.d.ts.map +1 -1
  126. package/dist/refresh/deployment-address.js +2 -2
  127. package/dist/refresh/index.js +7 -6
  128. package/dist/refresh/resolve.js +5 -4
  129. package/dist/refresh/reverse-substitute.d.ts.map +1 -1
  130. package/dist/refresh/reverse-substitute.js +2 -2
  131. package/dist/refresh/wrapped-lz-sdk.d.ts.map +1 -1
  132. package/dist/refresh/wrapped-lz-sdk.js +3 -3
  133. package/dist/transaction.d.ts +10 -1
  134. package/dist/transaction.d.ts.map +1 -1
  135. package/dist/transaction.js +1 -1
  136. package/dist/trusted-origin.d.ts +36 -0
  137. package/dist/trusted-origin.d.ts.map +1 -0
  138. package/dist/trusted-origin.js +4 -0
  139. package/dist/trusted-origin.js.map +1 -0
  140. package/package.json +10 -10
  141. package/src/address.ts +3 -6
  142. package/src/deferredValue.ts +57 -13
  143. package/src/events.ts +2 -1
  144. package/src/index.ts +1 -0
  145. package/src/refresh/address-resolver.ts +83 -13
  146. package/src/refresh/deployment-address.ts +2 -0
  147. package/src/refresh/reverse-substitute.ts +3 -3
  148. package/src/refresh/wrapped-lz-sdk.ts +20 -10
  149. package/src/transaction.ts +10 -1
  150. package/src/trusted-origin.ts +59 -0
  151. package/test/deferredValue.test.ts +40 -0
  152. package/test/refresh/deployment-artifacts.test.ts +53 -0
  153. package/test/refresh/observer-config-signing-dos.test.ts +336 -0
  154. package/test/refresh/reverse-substitute.test.ts +20 -0
  155. package/test/refresh/wrapped-lz-sdk.test.ts +50 -0
  156. package/dist/4SOUDUP7.js.map +0 -1
  157. package/dist/57KDDFEU.js.map +0 -1
  158. package/dist/I6Z5XG3N.js.map +0 -1
  159. package/dist/JJKMXRP7.js.map +0 -1
  160. package/dist/RJSKBZMO.js.map +0 -1
  161. package/dist/TM5LJKTE.js.map +0 -1
  162. package/dist/VAFLUPQJ.js.map +0 -1
  163. package/dist/Z35TKEFU.js +0 -68
  164. package/dist/Z35TKEFU.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/deferredValue.ts"],"names":["CANTON_DEFERRED_SENDER","cantonDeferredSenderSchema","z","literal","isCantonDeferredSender","value","cantonRefreshPartyFilterSchema","union","object","party","string","cantonExpectedSignatoriesSchema","array","min","nonempty","cantonActiveContractRefFields","partyToFilter","expectedSignatories","optional","templateId","contractStateFilter","partialRecord","any","cantonDeferredValueSchema","discriminatedUnion","type","CANTON_DEFERRED_VALUE_PREFIX","CANTON_DEFERRED_VALUE_SUFFIX","isCantonDeferredSentinel","startsWith","endsWith","encodeCantonDeferredValue","JSON","stringify","parseCantonDeferredValue","undefined","parsedJson","parse","slice","length","parseCantonDeferredValueOrThrow","ref","NonRetryableError","cantonSenderPartyRef","cantonActiveContractIdRef","cantonActiveContractIdsRef","cantonAmuletRulesCidRef","cantonAmuletContextRef","isCantonPlaceholder"],"mappings":"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","file":"QSQZYJB6.js","sourcesContent":["import { z } from 'zod';\n\nimport { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\n/** Filter / authority token resolved to the ACS query (funding) party at refresh. */\nexport const CANTON_DEFERRED_SENDER = 'sender' as const;\nexport type CantonDeferredSender = typeof CANTON_DEFERRED_SENDER;\n\nexport const cantonDeferredSenderSchema = z.literal(CANTON_DEFERRED_SENDER);\n\nexport const isCantonDeferredSender = (value: unknown): value is CantonDeferredSender =>\n value === CANTON_DEFERRED_SENDER;\n\nexport const cantonRefreshPartyFilterSchema = z.union([\n cantonDeferredSenderSchema,\n z.object({ party: z.string() }),\n]);\n\n/** Non-empty list of parties that must all appear in created-event signatories. */\nexport const cantonExpectedSignatoriesSchema = z\n .array(z.union([cantonDeferredSenderSchema, z.string().min(1)]))\n .nonempty();\n\nconst cantonActiveContractRefFields = {\n partyToFilter: cantonRefreshPartyFilterSchema,\n /**\n * Authority parties that must all be ledger signatories (authenticate-then-count).\n * Use {@link CANTON_DEFERRED_SENDER} for the resolved funding/query party.\n * Omitted on pre-existing persisted refs; refresh then defaults to the query\n * party, except CIP-56 Amulet holdings (owner is not a signatory).\n */\n expectedSignatories: cantonExpectedSignatoriesSchema.optional(),\n templateId: z.string(),\n contractStateFilter: z.partialRecord(z.string(), z.any()).optional(),\n};\n\nexport const cantonDeferredValueSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('senderParty') }),\n z.object({\n type: z.literal('activeContractId'),\n ...cantonActiveContractRefFields,\n }),\n z.object({\n type: z.literal('activeContractIds'),\n ...cantonActiveContractRefFields,\n }),\n z.object({ type: z.literal('amuletRulesCid') }),\n z.object({ type: z.literal('amuletContext') }),\n]);\n\nexport type CantonRefreshPartyFilter = z.infer<typeof cantonRefreshPartyFilterSchema>;\nexport type CantonExpectedSignatories = z.infer<typeof cantonExpectedSignatoriesSchema>;\nexport type CantonDeferredValue = z.infer<typeof cantonDeferredValueSchema>;\ntype CantonActiveContractIdRef = Omit<\n Extract<CantonDeferredValue, { type: 'activeContractId' }>,\n 'type'\n>;\ntype CantonActiveContractIdsRef = Omit<\n Extract<CantonDeferredValue, { type: 'activeContractIds' }>,\n 'type'\n>;\n\n/**\n * Branded encoded form of a {@link CantonDeferredValue}: a sign-time reference\n * string that a resolver turns into a live contract id / party. Branding keeps it\n * distinct from a plain `string` so the ref-substitution stays type-checked.\n */\nexport type CantonDeferredRef = string & { readonly __cantonDeferredRef: unique symbol };\n\nexport const CANTON_DEFERRED_VALUE_PREFIX = '<<CANTON_DEFERRED:';\nexport const CANTON_DEFERRED_VALUE_SUFFIX = '>>';\n\n/** True when `value` has deferred-ref framing, whether or not the payload parses. */\nexport const isCantonDeferredSentinel = (value: unknown): value is string =>\n typeof value === 'string' &&\n value.startsWith(CANTON_DEFERRED_VALUE_PREFIX) &&\n value.endsWith(CANTON_DEFERRED_VALUE_SUFFIX);\n\nexport const encodeCantonDeferredValue = (value: CantonDeferredValue): CantonDeferredRef =>\n `${CANTON_DEFERRED_VALUE_PREFIX}${JSON.stringify(value)}${CANTON_DEFERRED_VALUE_SUFFIX}` as CantonDeferredRef;\n\nexport const parseCantonDeferredValue = (value: unknown): CantonDeferredValue | undefined => {\n if (!isCantonDeferredSentinel(value)) {\n return undefined;\n }\n\n try {\n const parsedJson = JSON.parse(\n value.slice(CANTON_DEFERRED_VALUE_PREFIX.length, -CANTON_DEFERRED_VALUE_SUFFIX.length),\n );\n return cantonDeferredValueSchema.parse(parsedJson);\n } catch {\n return undefined;\n }\n};\n\n/**\n * Parse a deferred ref. Non-sentinels return `undefined`. A framed sentinel\n * that fails schema validation throws — callers must not treat corrupt refs\n * as plain strings.\n */\nexport const parseCantonDeferredValueOrThrow = (\n value: unknown,\n): CantonDeferredValue | undefined => {\n const ref = parseCantonDeferredValue(value);\n if (ref) return ref;\n if (isCantonDeferredSentinel(value)) {\n throw new NonRetryableError(`Invalid Canton deferred ref: ${value}`);\n }\n return undefined;\n};\n\nexport const cantonSenderPartyRef = (): CantonDeferredRef =>\n encodeCantonDeferredValue({ type: 'senderParty' });\n\nexport const cantonActiveContractIdRef = (value: CantonActiveContractIdRef): CantonDeferredRef =>\n encodeCantonDeferredValue({ type: 'activeContractId', ...value });\n\nexport const cantonActiveContractIdsRef = (value: CantonActiveContractIdsRef): CantonDeferredRef =>\n encodeCantonDeferredValue({ type: 'activeContractIds', ...value });\n\nexport const cantonAmuletRulesCidRef = (): CantonDeferredRef =>\n encodeCantonDeferredValue({ type: 'amuletRulesCid' });\n\nexport const cantonAmuletContextRef = (): CantonDeferredRef =>\n encodeCantonDeferredValue({ type: 'amuletContext' });\n\n/** Returns true if `value` is a valid Canton deferred-value sentinel. */\nexport const isCantonPlaceholder = (value: string): boolean =>\n parseCantonDeferredValue(value) !== undefined;\n"]}
@@ -1,4 +1,4 @@
1
- import { OperationFromJSON, OperationToJSON } from './JH2I4JGJ.js';
1
+ import { OperationFromJSON, OperationToJSON } from './JXKVPYCE.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/open-api/models/VettedPackagesChange.ts
@@ -35,5 +35,5 @@ function VettedPackagesChangeToJSONTyped(value, ignoreDiscriminator = false) {
35
35
  __name(VettedPackagesChangeToJSONTyped, "VettedPackagesChangeToJSONTyped");
36
36
 
37
37
  export { VettedPackagesChangeFromJSON, VettedPackagesChangeFromJSONTyped, VettedPackagesChangeToJSON, VettedPackagesChangeToJSONTyped, instanceOfVettedPackagesChange };
38
- //# sourceMappingURL=5KFMHJZB.js.map
39
- //# sourceMappingURL=5KFMHJZB.js.map
38
+ //# sourceMappingURL=QYQWHMQM.js.map
39
+ //# sourceMappingURL=QYQWHMQM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/VettedPackagesChange.ts"],"names":["instanceOfVettedPackagesChange","value","undefined","VettedPackagesChangeFromJSON","json","VettedPackagesChangeFromJSONTyped","ignoreDiscriminator","OperationFromJSON","VettedPackagesChangeToJSON","VettedPackagesChangeToJSONTyped","OperationToJSON"],"mappings":";;;;AAwCO,SAASA,+BAA+BC,KAAAA,EAAa;AACxD,EAAA,IAAI,EAAE,WAAA,IAAeA,KAAAA,CAAAA,IAAUA,MAAM,WAAA,CAAA,KAAiBC,QAAW,OAAO,KAAA;AACxE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAKT,SAASG,6BAA6BC,IAAAA,EAAS;AAClD,EAAA,OAAOC,iCAAAA,CAAkCD,IAAM,CAAA;AACnD;AAFgBD,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASE,iCAAAA,CAAkCD,MAAWE,mBAAAA,EAA4B;AACrF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,WAAA,EAAaG,iBAAAA,CAAkBH,IAAAA,CAAK,WAAA,CAAY;AACpD,GAAA;AACJ;AARgBC,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAUT,SAASG,2BAA2BJ,IAAAA,EAAS;AAChD,EAAA,OAAOK,+BAAAA,CAAgCL,MAAM,KAAA,CAAA;AACjD;AAFgBI,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASC,+BAAAA,CAAgCR,KAAAA,EAAqCK,mBAAAA,GAA+B,KAAA,EAAK;AACrH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,WAAA,EAAaS,eAAAA,CAAgBT,KAAAA,CAAM,WAAA,CAAY;AACnD,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA","file":"5KFMHJZB.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Operation } from './Operation.js';\nimport {\n OperationFromJSON,\n OperationFromJSONTyped,\n OperationToJSON,\n OperationToJSONTyped,\n} from './Operation.js';\n\n/**\n * A change to the set of vetted packages.\n * @export\n * @interface VettedPackagesChange\n */\nexport interface VettedPackagesChange {\n /**\n * \n * @type {Operation}\n * @memberof VettedPackagesChange\n */\n operation: Operation;\n}\n\n/**\n * Check if a given object implements the VettedPackagesChange interface.\n */\nexport function instanceOfVettedPackagesChange(value: object): value is VettedPackagesChange {\n if (!('operation' in value) || value['operation'] === undefined) return false;\n return true;\n}\n\nexport function VettedPackagesChangeFromJSON(json: any): VettedPackagesChange {\n return VettedPackagesChangeFromJSONTyped(json, false);\n}\n\nexport function VettedPackagesChangeFromJSONTyped(json: any, ignoreDiscriminator: boolean): VettedPackagesChange {\n if (json == null) {\n return json;\n }\n return {\n \n 'operation': OperationFromJSON(json['operation']),\n };\n}\n\nexport function VettedPackagesChangeToJSON(json: any): VettedPackagesChange {\n return VettedPackagesChangeToJSONTyped(json, false);\n}\n\nexport function VettedPackagesChangeToJSONTyped(value?: VettedPackagesChange | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'operation': OperationToJSON(value['operation']),\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/VettedPackagesChange.ts"],"names":["instanceOfVettedPackagesChange","value","undefined","VettedPackagesChangeFromJSON","json","VettedPackagesChangeFromJSONTyped","ignoreDiscriminator","OperationFromJSON","VettedPackagesChangeToJSON","VettedPackagesChangeToJSONTyped","OperationToJSON"],"mappings":";;;;AAwCO,SAASA,+BAA+BC,KAAAA,EAAa;AACxD,EAAA,IAAI,EAAE,WAAA,IAAeA,KAAAA,CAAAA,IAAUA,MAAM,WAAA,CAAA,KAAiBC,QAAW,OAAO,KAAA;AACxE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAKT,SAASG,6BAA6BC,IAAAA,EAAS;AAClD,EAAA,OAAOC,iCAAAA,CAAkCD,IAAM,CAAA;AACnD;AAFgBD,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASE,iCAAAA,CAAkCD,MAAWE,mBAAAA,EAA4B;AACrF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,WAAA,EAAaG,iBAAAA,CAAkBH,IAAAA,CAAK,WAAA,CAAY;AACpD,GAAA;AACJ;AARgBC,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAUT,SAASG,2BAA2BJ,IAAAA,EAAS;AAChD,EAAA,OAAOK,+BAAAA,CAAgCL,MAAM,KAAA,CAAA;AACjD;AAFgBI,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAIT,SAASC,+BAAAA,CAAgCR,KAAAA,EAAqCK,mBAAAA,GAA+B,KAAA,EAAK;AACrH,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,WAAA,EAAaS,eAAAA,CAAgBT,KAAAA,CAAM,WAAA,CAAY;AACnD,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA","file":"QYQWHMQM.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Operation } from './Operation.js';\nimport {\n OperationFromJSON,\n OperationFromJSONTyped,\n OperationToJSON,\n OperationToJSONTyped,\n} from './Operation.js';\n\n/**\n * A change to the set of vetted packages.\n * @export\n * @interface VettedPackagesChange\n */\nexport interface VettedPackagesChange {\n /**\n * \n * @type {Operation}\n * @memberof VettedPackagesChange\n */\n operation: Operation;\n}\n\n/**\n * Check if a given object implements the VettedPackagesChange interface.\n */\nexport function instanceOfVettedPackagesChange(value: object): value is VettedPackagesChange {\n if (!('operation' in value) || value['operation'] === undefined) return false;\n return true;\n}\n\nexport function VettedPackagesChangeFromJSON(json: any): VettedPackagesChange {\n return VettedPackagesChangeFromJSONTyped(json, false);\n}\n\nexport function VettedPackagesChangeFromJSONTyped(json: any, ignoreDiscriminator: boolean): VettedPackagesChange {\n if (json == null) {\n return json;\n }\n return {\n \n 'operation': OperationFromJSON(json['operation']),\n };\n}\n\nexport function VettedPackagesChangeToJSON(json: any): VettedPackagesChange {\n return VettedPackagesChangeToJSONTyped(json, false);\n}\n\nexport function VettedPackagesChangeToJSONTyped(value?: VettedPackagesChange | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'operation': OperationToJSON(value['operation']),\n };\n}\n\n"]}
@@ -0,0 +1,31 @@
1
+ import { __name } from './VUOMXK5T.js';
2
+
3
+ // src/trusted-origin.ts
4
+ var getCreateArgumentField = /* @__PURE__ */ __name((createArgument, fieldPath) => {
5
+ let current = createArgument;
6
+ for (const part of fieldPath.split(".")) {
7
+ if (current == null || typeof current !== "object") {
8
+ return void 0;
9
+ }
10
+ current = current[part];
11
+ }
12
+ return current;
13
+ }, "getCreateArgumentField");
14
+ var areExpectedSignatories = /* @__PURE__ */ __name((created, expectedSignatories) => {
15
+ if (expectedSignatories.length === 0) return false;
16
+ const signatories = created.signatories ?? [];
17
+ return expectedSignatories.every((party) => signatories.includes(party));
18
+ }, "areExpectedSignatories");
19
+ var isSignatoryOrigin = /* @__PURE__ */ __name((created, expectedParty) => areExpectedSignatories(created, [
20
+ expectedParty
21
+ ]), "isSignatoryOrigin");
22
+ var isTrustedOrigin = /* @__PURE__ */ __name((created, expectedParty, createArgumentField) => {
23
+ if (getCreateArgumentField(created.createArgument, createArgumentField) !== expectedParty) {
24
+ return false;
25
+ }
26
+ return isSignatoryOrigin(created, expectedParty);
27
+ }, "isTrustedOrigin");
28
+
29
+ export { areExpectedSignatories, getCreateArgumentField, isSignatoryOrigin, isTrustedOrigin };
30
+ //# sourceMappingURL=SWY4QT4I.js.map
31
+ //# sourceMappingURL=SWY4QT4I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/trusted-origin.ts"],"names":["getCreateArgumentField","createArgument","fieldPath","current","part","split","undefined","areExpectedSignatories","created","expectedSignatories","length","signatories","every","party","includes","isSignatoryOrigin","expectedParty","isTrustedOrigin","createArgumentField"],"mappings":";;;AAGO,IAAMA,sBAAAA,mBAAyB,MAAA,CAAA,CAACC,cAAAA,EAAyBC,SAAAA,KAAAA;AAC5D,EAAA,IAAIC,OAAAA,GAAmBF,cAAAA;AACvB,EAAA,KAAA,MAAWG,IAAAA,IAAQF,SAAAA,CAAUG,KAAAA,CAAM,GAAA,CAAA,EAAM;AACrC,IAAA,IAAIF,OAAAA,IAAW,IAAA,IAAQ,OAAOA,OAAAA,KAAY,QAAA,EAAU;AAChD,MAAA,OAAOG,MAAAA;AACX,IAAA;AACAH,IAAAA,OAAAA,GAAWA,QAAoCC,IAAAA,CAAAA;AACnD,EAAA;AACA,EAAA,OAAOD,OAAAA;AACX,CAAA,EATsC,wBAAA;AAkB/B,IAAMI,sBAAAA,mBAAyB,MAAA,CAAA,CAClCC,OAAAA,EACAC,mBAAAA,KAAAA;AAEA,EAAA,IAAIA,mBAAAA,CAAoBC,MAAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AAC7C,EAAA,MAAMC,WAAAA,GAAcH,OAAAA,CAAQG,WAAAA,IAAe,EAAA;AAC3C,EAAA,OAAOF,oBAAoBG,KAAAA,CAAM,CAACC,UAAUF,WAAAA,CAAYG,QAAAA,CAASD,KAAAA,CAAAA,CAAAA;AACrE,CAAA,EAPsC,wBAAA;AAY/B,IAAME,iBAAAA,mBAAoB,MAAA,CAAA,CAC7BP,OAAAA,EACAQ,aAAAA,KACUT,uBAAuBC,OAAAA,EAAS;AAACQ,EAAAA;CAAc,CAAA,EAH5B,mBAAA;AAgB1B,IAAMC,eAAAA,mBAAkB,MAAA,CAAA,CAC3BT,OAAAA,EACAQ,aAAAA,EACAE,mBAAAA,KAAAA;AAEA,EAAA,IAAIlB,sBAAAA,CAAuBQ,OAAAA,CAAQP,cAAAA,EAAgBiB,mBAAAA,MAAyBF,aAAAA,EAAe;AACvF,IAAA,OAAO,KAAA;AACX,EAAA;AACA,EAAA,OAAOD,iBAAAA,CAAkBP,SAASQ,aAAAA,CAAAA;AACtC,CAAA,EAT+B,iBAAA","file":"SWY4QT4I.js","sourcesContent":["/**\n * Read a create-argument field, supporting dotted paths (`instrumentId.admin`).\n */\nexport const getCreateArgumentField = (createArgument: unknown, fieldPath: string): unknown => {\n let current: unknown = createArgument;\n for (const part of fieldPath.split('.')) {\n if (current == null || typeof current !== 'object') {\n return undefined;\n }\n current = (current as Record<string, unknown>)[part];\n }\n return current;\n};\n\n/**\n * True when every party in `expectedSignatories` is among the created-event signatories\n * (expected ⊆ ledger signatories). Opposite of `findMatchingCreatedEvent`, which\n * requires every ledger signatory to be in the expected/actAs set.\n *\n * Drops observer-only foreign contracts that would otherwise poison ACS cardinality.\n */\nexport const areExpectedSignatories = (\n created: { signatories?: readonly string[] },\n expectedSignatories: readonly string[],\n): boolean => {\n if (expectedSignatories.length === 0) return false;\n const signatories = created.signatories ?? [];\n return expectedSignatories.every((party) => signatories.includes(party));\n};\n\n/**\n * True when `expectedParty` is among the created-event signatories.\n */\nexport const isSignatoryOrigin = (\n created: { signatories?: readonly string[] },\n expectedParty: string,\n): boolean => areExpectedSignatories(created, [expectedParty]);\n\n/**\n * True when a created event originated under `expectedParty`: that party is among\n * the created-event signatories, and `createArgument[createArgumentField]` equals it.\n *\n * Use when the template has multiple signatories and the party must bind a\n * specific payload role (e.g. Request `handler` amid sender / oappAdmin).\n * Prefer `contractStateFilter` + `expectedSignatories` on deferred refs instead.\n *\n * @param createArgumentField - Payload identity field (`owner`, `handler`,\n * `admin`, or a dotted path such as `instrumentId.admin`).\n */\nexport const isTrustedOrigin = (\n created: { createArgument?: unknown; signatories?: readonly string[] },\n expectedParty: string,\n createArgumentField: string,\n): boolean => {\n if (getCreateArgumentField(created.createArgument, createArgumentField) !== expectedParty) {\n return false;\n }\n return isSignatoryOrigin(created, expectedParty);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { cantonTransactionWithResultSchema } from './JJKMXRP7.js';
1
+ import { cantonTransactionWithResultSchema } from './4AR5H4U6.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
  import { NonEmittableError } from '@layerzerolabs/common-error-utils';
4
4
 
@@ -48,5 +48,5 @@ var getExercisedEvent = /* @__PURE__ */ __name((transaction, contractId) => {
48
48
  }, "getExercisedEvent");
49
49
 
50
50
  export { cantonDeploymentSucceeded, fetchCreatedEvents, findMatchingCreatedEvent, findMatchingCreatedEventFromTx, getExercisedEvent, waitForArchival };
51
- //# sourceMappingURL=4SOUDUP7.js.map
52
- //# sourceMappingURL=4SOUDUP7.js.map
51
+ //# sourceMappingURL=T4OC6JEE.js.map
52
+ //# sourceMappingURL=T4OC6JEE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/events.ts"],"names":["findMatchingCreatedEvent","createdEvents","expectedTemplateId","expectedSignatories","expectedSet","Set","find","event","templateId","signatories","length","every","s","has","fetchCreatedEvents","client","updateId","parties","cantonTx","fetchTransactionByUpdateId","events","filter","map","CreatedEvent","findMatchingCreatedEventFromTx","tx","parsed","cantonTransactionWithResultSchema","safeParse","success","data","result","type","populatedTransaction","actAs","unresolvedCommands","minedTxHash","createCommand","cmd","cantonDeploymentSucceeded","txWithResult","waitForArchival","contractId","archived","fetchEventsByContractId","fetchTransactionByOffset","offset","NonEmittableError","getExercisedEvent","transaction","ExercisedEvent","exercised","undefined"],"mappings":"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","file":"T4OC6JEE.js","sourcesContent":["import { NonEmittableError } from '@layerzerolabs/common-error-utils';\n\nimport type { CantonTransaction, ICantonClient } from './client';\nimport type { CreatedEvent, ExercisedEvent } from './open-api/models';\nimport { cantonTransactionWithResultSchema } from './transaction';\n\n/**\n * Finds a CreatedEvent matching the expected templateId whose signatories\n * are a subset of the provided actAs parties (ledger signatories ⊆ expected).\n * Opposite of `areExpectedSignatories` on the refresh path.\n */\nexport const findMatchingCreatedEvent = (\n createdEvents: CreatedEvent[],\n expectedTemplateId: string,\n expectedSignatories: string[],\n): CreatedEvent | undefined => {\n const expectedSet = new Set(expectedSignatories);\n return createdEvents.find((event) => {\n if (event.templateId !== expectedTemplateId) return false;\n const signatories = event.signatories ?? [];\n return signatories.length > 0 && signatories.every((s) => expectedSet.has(s));\n });\n};\n\n/**\n * Fetches a transaction by updateId and returns all CreatedEvents.\n */\nexport const fetchCreatedEvents = async (\n client: ICantonClient,\n updateId: string,\n parties: string[],\n): Promise<CreatedEvent[]> => {\n const cantonTx = await client.fetchTransactionByUpdateId(updateId, parties);\n return (\n cantonTx.events\n ?.filter((event): event is { CreatedEvent: CreatedEvent } => 'CreatedEvent' in event)\n .map((event) => event.CreatedEvent) ?? []\n );\n};\n\n/**\n * Parses a Canton transaction-with-result, fetches the created events from the ledger,\n * and returns the first CreatedEvent matching the submitted command's templateId and actAs\n * signatories. Returns null if the transaction is falsy, not successful, or has no match.\n */\nexport const findMatchingCreatedEventFromTx = async (\n client: ICantonClient,\n tx: unknown,\n): Promise<CreatedEvent | null> => {\n const parsed = cantonTransactionWithResultSchema.safeParse(tx);\n if (!parsed.success) return null;\n\n if (parsed.data.result.type !== 'success') return null;\n\n const {\n populatedTransaction: { actAs, unresolvedCommands },\n } = parsed.data;\n const updateId = parsed.data.result.minedTxHash;\n\n if (!updateId || !actAs.length) return null;\n\n const createCommand = unresolvedCommands.find((cmd) => 'createCommand' in cmd);\n if (!createCommand || !('createCommand' in createCommand)) return null;\n\n const createdEvents = await fetchCreatedEvents(client, updateId, actAs);\n return (\n findMatchingCreatedEvent(createdEvents, createCommand.createCommand.templateId, actAs) ??\n null\n );\n};\n\n/**\n * Checks that a Canton deploy transaction resulted in a CreatedEvent\n * matching the submitted command's templateId and actAs signatories.\n */\nexport const cantonDeploymentSucceeded = async (\n client: ICantonClient,\n txWithResult: unknown,\n): Promise<boolean> => {\n return (await findMatchingCreatedEventFromTx(client, txWithResult)) != null;\n};\n\n/**\n * Waits for a contract to be archived and returns the transaction that archived it.\n * Throws NonEmittableError if the contract is not yet archived.\n */\nexport const waitForArchival = async (\n client: ICantonClient,\n contractId: string,\n parties: string[],\n): Promise<CantonTransaction> => {\n const { archived } = await client.fetchEventsByContractId(contractId, parties);\n if (archived) {\n return client.fetchTransactionByOffset(archived.offset, parties);\n }\n throw new NonEmittableError(`Contract ${contractId} is not archived yet`);\n};\n\n/** Returns the first exercised event on `contractId` in a transaction tree, if any. */\nexport const getExercisedEvent = (\n transaction: CantonTransaction,\n contractId: string,\n): ExercisedEvent | undefined => {\n for (const event of transaction.events ?? []) {\n if (!('ExercisedEvent' in event)) continue;\n const { ExercisedEvent: exercised } = event;\n if (exercised.contractId === contractId) {\n return exercised;\n }\n }\n return undefined;\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { RightFromJSON, RightToJSON } from './RJHKVYCL.js';
1
+ import { RightFromJSON, RightToJSON } from './HRZTWWO4.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/open-api/models/RevokeUserRightsRequest.ts
@@ -40,5 +40,5 @@ function RevokeUserRightsRequestToJSONTyped(value, ignoreDiscriminator = false)
40
40
  __name(RevokeUserRightsRequestToJSONTyped, "RevokeUserRightsRequestToJSONTyped");
41
41
 
42
42
  export { RevokeUserRightsRequestFromJSON, RevokeUserRightsRequestFromJSONTyped, RevokeUserRightsRequestToJSON, RevokeUserRightsRequestToJSONTyped, instanceOfRevokeUserRightsRequest };
43
- //# sourceMappingURL=7ZK6FSHF.js.map
44
- //# sourceMappingURL=7ZK6FSHF.js.map
43
+ //# sourceMappingURL=UBHUOSK3.js.map
44
+ //# sourceMappingURL=UBHUOSK3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/RevokeUserRightsRequest.ts"],"names":["instanceOfRevokeUserRightsRequest","value","undefined","RevokeUserRightsRequestFromJSON","json","RevokeUserRightsRequestFromJSONTyped","ignoreDiscriminator","map","RightFromJSON","RevokeUserRightsRequestToJSON","RevokeUserRightsRequestToJSONTyped","RightToJSON"],"mappings":";;;;AAyDO,SAASA,kCAAkCC,KAAAA,EAAa;AAC3D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,IAAI,EAAE,oBAAA,IAAwBD,KAAAA,CAAAA,IAAUA,MAAM,oBAAA,CAAA,KAA0BC,QAAW,OAAO,KAAA;AAC1F,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAMT,SAASG,gCAAgCC,IAAAA,EAAS;AACrD,EAAA,OAAOC,oCAAAA,CAAqCD,IAAM,CAAA;AACtD;AAFgBD,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAIT,SAASE,oCAAAA,CAAqCD,MAAWE,mBAAAA,EAA4B;AACxF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,QAAA,EAAUA,KAAK,QAAA,CAAA;IACf,QAAA,EAAUA,IAAAA,CAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,SAAcE,IAAAA,CAAK,QAAA,CAAA,CAAyBG,GAAAA,CAAIC,aAAAA,CAAAA;AACnF,IAAA,oBAAA,EAAsBJ,KAAK,oBAAA;AAC/B,GAAA;AACJ;AAVgBC,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAYT,SAASI,8BAA8BL,IAAAA,EAAS;AACnD,EAAA,OAAOM,kCAAAA,CAAmCN,MAAM,KAAA,CAAA;AACpD;AAFgBK,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASC,kCAAAA,CAAmCT,KAAAA,EAAwCK,mBAAAA,GAA+B,KAAA,EAAK;AAC3H,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,QAAA,EAAUA,MAAM,QAAA,CAAA;IAChB,QAAA,EAAUA,KAAAA,CAAM,QAAA,CAAA,IAAa,IAAA,GAAOC,SAAcD,KAAAA,CAAM,QAAA,CAAA,CAAyBM,GAAAA,CAAII,WAAAA,CAAAA;AACrF,IAAA,oBAAA,EAAsBV,MAAM,oBAAA;AAChC,GAAA;AACJ;AAXgBS,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA","file":"7ZK6FSHF.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Right } from './Right.js';\nimport {\n RightFromJSON,\n RightFromJSONTyped,\n RightToJSON,\n RightToJSONTyped,\n} from './Right.js';\n\n/**\n * Remove the rights from the set of rights granted to the user.\n * \n * Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)``\n * @export\n * @interface RevokeUserRightsRequest\n */\nexport interface RevokeUserRightsRequest {\n /**\n * The user from whom to revoke rights.\n * Required\n * @type {string}\n * @memberof RevokeUserRightsRequest\n */\n userId: string;\n /**\n * The rights to revoke.\n * Optional\n * @type {Array<Right>}\n * @memberof RevokeUserRightsRequest\n */\n rights?: Array<Right>;\n /**\n * The id of the ``Identity Provider``\n * Optional, if not set, assume the user is managed by the default identity provider.\n * @type {string}\n * @memberof RevokeUserRightsRequest\n */\n identityProviderId: string;\n}\n\n/**\n * Check if a given object implements the RevokeUserRightsRequest interface.\n */\nexport function instanceOfRevokeUserRightsRequest(value: object): value is RevokeUserRightsRequest {\n if (!('userId' in value) || value['userId'] === undefined) return false;\n if (!('identityProviderId' in value) || value['identityProviderId'] === undefined) return false;\n return true;\n}\n\nexport function RevokeUserRightsRequestFromJSON(json: any): RevokeUserRightsRequest {\n return RevokeUserRightsRequestFromJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RevokeUserRightsRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'rights': json['rights'] == null ? undefined : ((json['rights'] as Array<any>).map(RightFromJSON)),\n 'identityProviderId': json['identityProviderId'],\n };\n}\n\nexport function RevokeUserRightsRequestToJSON(json: any): RevokeUserRightsRequest {\n return RevokeUserRightsRequestToJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsRequestToJSONTyped(value?: RevokeUserRightsRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'userId': value['userId'],\n 'rights': value['rights'] == null ? undefined : ((value['rights'] as Array<any>).map(RightToJSON)),\n 'identityProviderId': value['identityProviderId'],\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/RevokeUserRightsRequest.ts"],"names":["instanceOfRevokeUserRightsRequest","value","undefined","RevokeUserRightsRequestFromJSON","json","RevokeUserRightsRequestFromJSONTyped","ignoreDiscriminator","map","RightFromJSON","RevokeUserRightsRequestToJSON","RevokeUserRightsRequestToJSONTyped","RightToJSON"],"mappings":";;;;AAyDO,SAASA,kCAAkCC,KAAAA,EAAa;AAC3D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,IAAI,EAAE,oBAAA,IAAwBD,KAAAA,CAAAA,IAAUA,MAAM,oBAAA,CAAA,KAA0BC,QAAW,OAAO,KAAA;AAC1F,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAMT,SAASG,gCAAgCC,IAAAA,EAAS;AACrD,EAAA,OAAOC,oCAAAA,CAAqCD,IAAM,CAAA;AACtD;AAFgBD,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAIT,SAASE,oCAAAA,CAAqCD,MAAWE,mBAAAA,EAA4B;AACxF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;AAEH,IAAA,QAAA,EAAUA,KAAK,QAAA,CAAA;IACf,QAAA,EAAUA,IAAAA,CAAK,QAAA,CAAA,IAAa,IAAA,GAAOF,SAAcE,IAAAA,CAAK,QAAA,CAAA,CAAyBG,GAAAA,CAAIC,aAAAA,CAAAA;AACnF,IAAA,oBAAA,EAAsBJ,KAAK,oBAAA;AAC/B,GAAA;AACJ;AAVgBC,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAYT,SAASI,8BAA8BL,IAAAA,EAAS;AACnD,EAAA,OAAOM,kCAAAA,CAAmCN,MAAM,KAAA,CAAA;AACpD;AAFgBK,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAIT,SAASC,kCAAAA,CAAmCT,KAAAA,EAAwCK,mBAAAA,GAA+B,KAAA,EAAK;AAC3H,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;AAEH,IAAA,QAAA,EAAUA,MAAM,QAAA,CAAA;IAChB,QAAA,EAAUA,KAAAA,CAAM,QAAA,CAAA,IAAa,IAAA,GAAOC,SAAcD,KAAAA,CAAM,QAAA,CAAA,CAAyBM,GAAAA,CAAII,WAAAA,CAAAA;AACrF,IAAA,oBAAA,EAAsBV,MAAM,oBAAA;AAChC,GAAA;AACJ;AAXgBS,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA","file":"UBHUOSK3.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Right } from './Right.js';\nimport {\n RightFromJSON,\n RightFromJSONTyped,\n RightToJSON,\n RightToJSONTyped,\n} from './Right.js';\n\n/**\n * Remove the rights from the set of rights granted to the user.\n * \n * Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)``\n * @export\n * @interface RevokeUserRightsRequest\n */\nexport interface RevokeUserRightsRequest {\n /**\n * The user from whom to revoke rights.\n * Required\n * @type {string}\n * @memberof RevokeUserRightsRequest\n */\n userId: string;\n /**\n * The rights to revoke.\n * Optional\n * @type {Array<Right>}\n * @memberof RevokeUserRightsRequest\n */\n rights?: Array<Right>;\n /**\n * The id of the ``Identity Provider``\n * Optional, if not set, assume the user is managed by the default identity provider.\n * @type {string}\n * @memberof RevokeUserRightsRequest\n */\n identityProviderId: string;\n}\n\n/**\n * Check if a given object implements the RevokeUserRightsRequest interface.\n */\nexport function instanceOfRevokeUserRightsRequest(value: object): value is RevokeUserRightsRequest {\n if (!('userId' in value) || value['userId'] === undefined) return false;\n if (!('identityProviderId' in value) || value['identityProviderId'] === undefined) return false;\n return true;\n}\n\nexport function RevokeUserRightsRequestFromJSON(json: any): RevokeUserRightsRequest {\n return RevokeUserRightsRequestFromJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RevokeUserRightsRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'rights': json['rights'] == null ? undefined : ((json['rights'] as Array<any>).map(RightFromJSON)),\n 'identityProviderId': json['identityProviderId'],\n };\n}\n\nexport function RevokeUserRightsRequestToJSON(json: any): RevokeUserRightsRequest {\n return RevokeUserRightsRequestToJSONTyped(json, false);\n}\n\nexport function RevokeUserRightsRequestToJSONTyped(value?: RevokeUserRightsRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'userId': value['userId'],\n 'rights': value['rights'] == null ? undefined : ((value['rights'] as Array<any>).map(RightToJSON)),\n 'identityProviderId': value['identityProviderId'],\n };\n}\n\n"]}
@@ -1,8 +1,8 @@
1
- import { CantonClient } from './5AD6IR4R.js';
1
+ import { CantonClient } from './DJTKDAIT.js';
2
2
  import { Configuration } from './KBNUN3MF.js';
3
3
  import { CantonGrpcClient } from './BFQYTMKD.js';
4
- import { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
5
4
  import { LocalTokenProvider } from './SCEF7TLZ.js';
5
+ import { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
6
6
  import { __name } from './VUOMXK5T.js';
7
7
 
8
8
  // src/provider.ts
@@ -99,5 +99,5 @@ function createTokenProvider(params, isLocal) {
99
99
  __name(createTokenProvider, "createTokenProvider");
100
100
 
101
101
  export { createCantonChainProvider, parseCantonChainUri };
102
- //# sourceMappingURL=262S47C4.js.map
103
- //# sourceMappingURL=262S47C4.js.map
102
+ //# sourceMappingURL=UL73PQD3.js.map
103
+ //# sourceMappingURL=UL73PQD3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider.ts"],"names":["parseCantonChainUri","uri","url","URL","adminApiHost","searchParams","get","Error","userId","actAsParam","actAs","split","map","party","trim","filter","length","walletUrl","tokenUrl","undefined","clientId","clientSecret","process","env","CANTON_CLIENT_SECRET","scope","audience","key","delete","jsonApiUrl","toString","replace","oauth2","createCantonChainProvider","isLocal","params","tokenProvider","createTokenProvider","configuration","Configuration","basePath","accessToken","getToken","client","CantonClient","grpcClient","CantonGrpcClient","host","insecureTransport","LocalTokenProvider","admin","ClientCredentialsTokenProvider"],"mappings":"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","file":"262S47C4.js","sourcesContent":["import {\n ClientCredentialsTokenProvider,\n type ClientCredentialsTokenProviderConfig,\n} from './auth/client-credentials-token-provider';\nimport { LocalTokenProvider } from './auth/local-token-provider';\nimport type { TokenProvider } from './auth/token-provider';\nimport { CantonClient } from './client/canton-client';\nimport { CantonGrpcClient } from './client/grpc';\nimport type { ICantonClient } from './client/interface';\nimport { Configuration } from './open-api/runtime';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Type\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * - {@link client} — JSON Ledger API (commands, queries, updates)\n * - {@link grpcClient} — gRPC Admin API (topology transactions, namespace queries)\n * - {@link tokenProvider} — Shared Bearer-token source used by both transports\n * - {@link walletUrl} — Canton Network validator wallet (scan-proxy CIP-56 endpoints)\n */\nexport type CantonChainProvider = {\n client: ICantonClient;\n grpcClient: CantonGrpcClient;\n tokenProvider: TokenProvider;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required. */\n walletUrl: string;\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// URI Parsing\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CantonChainUriParams = {\n /** Base URL of the JSON Ledger API (e.g. \"http://localhost:5975\") */\n jsonApiUrl: string;\n /** Host:port of the gRPC Admin API (e.g. \"localhost:5076\") */\n adminApiHost: string;\n /** Ledger API user ID (default: \"participant_admin\") */\n userId: string;\n /** Parties granted `actAs` on localnet tokens (comma-separated in the URI). */\n actAs: string[];\n /** Validator wallet URL for scan-proxy CIP-56 endpoints (e.g. \"http://localhost:7201\"). Required. */\n walletUrl: string;\n /** OAuth2 client credentials config — present only for non-local environments */\n oauth2?: ClientCredentialsTokenProviderConfig;\n};\n\n/**\n * Parse a Canton chain provider URI into its constituent parts.\n *\n * URI format:\n * `<json-api-base>?admin-api=<host:port>&user-id=<id>&wallet-url=<url>[&token-url=...&client-id=...&client-secret=...&scope=...&audience=...]`\n *\n * The base URL (everything before the query string) is the JSON Ledger API endpoint.\n * Canton-specific params are extracted and removed; any remaining query params are\n * preserved on the JSON API URL.\n *\n * When `client-secret` is omitted from the URI, `CANTON_CLIENT_SECRET` is read from the\n * environment.\n */\nexport function parseCantonChainUri(uri: string): CantonChainUriParams {\n const url = new URL(uri);\n\n const adminApiHost = url.searchParams.get('admin-api');\n if (!adminApiHost) {\n throw new Error('Canton provider URI missing required \"admin-api\" query parameter');\n }\n\n const userId = url.searchParams.get('user-id') ?? 'participant_admin';\n const actAsParam = url.searchParams.get('act-as');\n const actAs =\n actAsParam\n ?.split(',')\n .map((party) => party.trim())\n .filter((party) => party.length > 0) ?? [];\n const walletUrl = url.searchParams.get('wallet-url');\n if (!walletUrl) {\n throw new Error('Canton provider URI missing required \"wallet-url\" query parameter');\n }\n const tokenUrl = url.searchParams.get('token-url') ?? undefined;\n const clientId = url.searchParams.get('client-id') ?? undefined;\n // Prefer URI param; fall back to env so secrets are not committed in provider configs.\n const clientSecret =\n url.searchParams.get('client-secret') ??\n // eslint-disable-next-line turbo/no-undeclared-env-vars -- runtime OAuth secret, not a turbo task input\n process.env.CANTON_CLIENT_SECRET ??\n undefined;\n const scope = url.searchParams.get('scope') ?? undefined;\n const audience = url.searchParams.get('audience') ?? undefined;\n\n for (const key of [\n 'admin-api',\n 'user-id',\n 'act-as',\n 'wallet-url',\n 'sequencer-url',\n 'sequencer-validators',\n 'sequencer-quorum',\n 'token-url',\n 'client-id',\n 'client-secret',\n 'scope',\n 'audience',\n ]) {\n url.searchParams.delete(key);\n }\n\n const jsonApiUrl = url.toString().replace(/\\/$/, '');\n\n const oauth2 =\n tokenUrl && clientId && clientSecret\n ? { tokenUrl, clientId, clientSecret, scope, audience }\n : undefined;\n\n return {\n jsonApiUrl,\n adminApiHost,\n userId,\n actAs,\n walletUrl,\n oauth2,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CreateCantonChainProviderOptions = {\n /** Raw provider URI (from provider config) */\n uri: string;\n /** When true, uses LocalTokenProvider (self-signed JWTs) instead of OAuth2 */\n isLocal: boolean;\n};\n\n/**\n * Create a {@link CantonChainProvider} from a provider URI.\n *\n * - **isLocal=true**: Uses {@link LocalTokenProvider} with admin-level access (self-signed JWTs)\n * over an unencrypted admin channel, allowed for a loopback admin host only.\n * - **isLocal=false**: Uses {@link ClientCredentialsTokenProvider} with OAuth2 client\n * credentials extracted from the URI query parameters, over a TLS admin channel.\n */\nexport function createCantonChainProvider({\n uri,\n isLocal,\n}: CreateCantonChainProviderOptions): CantonChainProvider {\n const params = parseCantonChainUri(uri);\n\n const tokenProvider = createTokenProvider(params, isLocal);\n\n // ── JSON Ledger API Client ──────────────────────────────────────────\n const configuration = new Configuration({\n basePath: params.jsonApiUrl,\n accessToken: () => tokenProvider.getToken(),\n });\n const client = new CantonClient(configuration, params.userId, {\n walletUrl: params.walletUrl,\n tokenProvider,\n });\n\n // ── gRPC Admin API Client ───────────────────────────────────────────\n const grpcClient = new CantonGrpcClient({\n host: params.adminApiHost,\n tokenProvider,\n insecureTransport: isLocal,\n });\n\n return {\n client,\n grpcClient,\n tokenProvider,\n walletUrl: params.walletUrl,\n };\n}\n\nfunction createTokenProvider(params: CantonChainUriParams, isLocal: boolean): TokenProvider {\n if (isLocal) {\n return new LocalTokenProvider({\n userId: params.userId,\n actAs: params.actAs,\n admin: true,\n });\n }\n\n // TODO(canton): add other prod auth methods (direct JWT passthrough, etc.).\n if (!params.oauth2) {\n throw new Error(\n 'Canton provider requires OAuth2 credentials (token-url, client-id, client-secret in URI or CANTON_CLIENT_SECRET)',\n );\n }\n\n return new ClientCredentialsTokenProvider(params.oauth2);\n}\n"]}
1
+ {"version":3,"sources":["../src/provider.ts"],"names":["parseCantonChainUri","uri","url","URL","adminApiHost","searchParams","get","Error","userId","actAsParam","actAs","split","map","party","trim","filter","length","walletUrl","tokenUrl","undefined","clientId","clientSecret","process","env","CANTON_CLIENT_SECRET","scope","audience","key","delete","jsonApiUrl","toString","replace","oauth2","createCantonChainProvider","isLocal","params","tokenProvider","createTokenProvider","configuration","Configuration","basePath","accessToken","getToken","client","CantonClient","grpcClient","CantonGrpcClient","host","insecureTransport","LocalTokenProvider","admin","ClientCredentialsTokenProvider"],"mappings":"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","file":"UL73PQD3.js","sourcesContent":["import {\n ClientCredentialsTokenProvider,\n type ClientCredentialsTokenProviderConfig,\n} from './auth/client-credentials-token-provider';\nimport { LocalTokenProvider } from './auth/local-token-provider';\nimport type { TokenProvider } from './auth/token-provider';\nimport { CantonClient } from './client/canton-client';\nimport { CantonGrpcClient } from './client/grpc';\nimport type { ICantonClient } from './client/interface';\nimport { Configuration } from './open-api/runtime';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Type\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * - {@link client} — JSON Ledger API (commands, queries, updates)\n * - {@link grpcClient} — gRPC Admin API (topology transactions, namespace queries)\n * - {@link tokenProvider} — Shared Bearer-token source used by both transports\n * - {@link walletUrl} — Canton Network validator wallet (scan-proxy CIP-56 endpoints)\n */\nexport type CantonChainProvider = {\n client: ICantonClient;\n grpcClient: CantonGrpcClient;\n tokenProvider: TokenProvider;\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. Required. */\n walletUrl: string;\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// URI Parsing\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CantonChainUriParams = {\n /** Base URL of the JSON Ledger API (e.g. \"http://localhost:5975\") */\n jsonApiUrl: string;\n /** Host:port of the gRPC Admin API (e.g. \"localhost:5076\") */\n adminApiHost: string;\n /** Ledger API user ID (default: \"participant_admin\") */\n userId: string;\n /** Parties granted `actAs` on localnet tokens (comma-separated in the URI). */\n actAs: string[];\n /** Validator wallet URL for scan-proxy CIP-56 endpoints (e.g. \"http://localhost:7201\"). Required. */\n walletUrl: string;\n /** OAuth2 client credentials config — present only for non-local environments */\n oauth2?: ClientCredentialsTokenProviderConfig;\n};\n\n/**\n * Parse a Canton chain provider URI into its constituent parts.\n *\n * URI format:\n * `<json-api-base>?admin-api=<host:port>&user-id=<id>&wallet-url=<url>[&token-url=...&client-id=...&client-secret=...&scope=...&audience=...]`\n *\n * The base URL (everything before the query string) is the JSON Ledger API endpoint.\n * Canton-specific params are extracted and removed; any remaining query params are\n * preserved on the JSON API URL.\n *\n * When `client-secret` is omitted from the URI, `CANTON_CLIENT_SECRET` is read from the\n * environment.\n */\nexport function parseCantonChainUri(uri: string): CantonChainUriParams {\n const url = new URL(uri);\n\n const adminApiHost = url.searchParams.get('admin-api');\n if (!adminApiHost) {\n throw new Error('Canton provider URI missing required \"admin-api\" query parameter');\n }\n\n const userId = url.searchParams.get('user-id') ?? 'participant_admin';\n const actAsParam = url.searchParams.get('act-as');\n const actAs =\n actAsParam\n ?.split(',')\n .map((party) => party.trim())\n .filter((party) => party.length > 0) ?? [];\n const walletUrl = url.searchParams.get('wallet-url');\n if (!walletUrl) {\n throw new Error('Canton provider URI missing required \"wallet-url\" query parameter');\n }\n const tokenUrl = url.searchParams.get('token-url') ?? undefined;\n const clientId = url.searchParams.get('client-id') ?? undefined;\n // Prefer URI param; fall back to env so secrets are not committed in provider configs.\n const clientSecret =\n url.searchParams.get('client-secret') ??\n // eslint-disable-next-line turbo/no-undeclared-env-vars -- runtime OAuth secret, not a turbo task input\n process.env.CANTON_CLIENT_SECRET ??\n undefined;\n const scope = url.searchParams.get('scope') ?? undefined;\n const audience = url.searchParams.get('audience') ?? undefined;\n\n for (const key of [\n 'admin-api',\n 'user-id',\n 'act-as',\n 'wallet-url',\n 'sequencer-url',\n 'sequencer-validators',\n 'sequencer-quorum',\n 'token-url',\n 'client-id',\n 'client-secret',\n 'scope',\n 'audience',\n ]) {\n url.searchParams.delete(key);\n }\n\n const jsonApiUrl = url.toString().replace(/\\/$/, '');\n\n const oauth2 =\n tokenUrl && clientId && clientSecret\n ? { tokenUrl, clientId, clientSecret, scope, audience }\n : undefined;\n\n return {\n jsonApiUrl,\n adminApiHost,\n userId,\n actAs,\n walletUrl,\n oauth2,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type CreateCantonChainProviderOptions = {\n /** Raw provider URI (from provider config) */\n uri: string;\n /** When true, uses LocalTokenProvider (self-signed JWTs) instead of OAuth2 */\n isLocal: boolean;\n};\n\n/**\n * Create a {@link CantonChainProvider} from a provider URI.\n *\n * - **isLocal=true**: Uses {@link LocalTokenProvider} with admin-level access (self-signed JWTs)\n * over an unencrypted admin channel, allowed for a loopback admin host only.\n * - **isLocal=false**: Uses {@link ClientCredentialsTokenProvider} with OAuth2 client\n * credentials extracted from the URI query parameters, over a TLS admin channel.\n */\nexport function createCantonChainProvider({\n uri,\n isLocal,\n}: CreateCantonChainProviderOptions): CantonChainProvider {\n const params = parseCantonChainUri(uri);\n\n const tokenProvider = createTokenProvider(params, isLocal);\n\n // ── JSON Ledger API Client ──────────────────────────────────────────\n const configuration = new Configuration({\n basePath: params.jsonApiUrl,\n accessToken: () => tokenProvider.getToken(),\n });\n const client = new CantonClient(configuration, params.userId, {\n walletUrl: params.walletUrl,\n tokenProvider,\n });\n\n // ── gRPC Admin API Client ───────────────────────────────────────────\n const grpcClient = new CantonGrpcClient({\n host: params.adminApiHost,\n tokenProvider,\n insecureTransport: isLocal,\n });\n\n return {\n client,\n grpcClient,\n tokenProvider,\n walletUrl: params.walletUrl,\n };\n}\n\nfunction createTokenProvider(params: CantonChainUriParams, isLocal: boolean): TokenProvider {\n if (isLocal) {\n return new LocalTokenProvider({\n userId: params.userId,\n actAs: params.actAs,\n admin: true,\n });\n }\n\n // TODO(canton): add other prod auth methods (direct JWT passthrough, etc.).\n if (!params.oauth2) {\n throw new Error(\n 'Canton provider requires OAuth2 credentials (token-url, client-id, client-secret in URI or CANTON_CLIENT_SECRET)',\n );\n }\n\n return new ClientCredentialsTokenProvider(params.oauth2);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { parseCantonDeferredValue } from './Z35TKEFU.js';
1
+ import { parseCantonDeferredValueOrThrow } from './QSQZYJB6.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
  import { NonRetryableError } from '@layerzerolabs/common-error-utils';
4
4
 
@@ -23,14 +23,14 @@ var substituteCidsToRefs = /* @__PURE__ */ __name((value, cidToRef) => {
23
23
  var substituteRefsToCids = /* @__PURE__ */ __name(async (value, resolve) => {
24
24
  if (Array.isArray(value)) {
25
25
  const items = await Promise.all(value.map(async (item) => {
26
- const ref2 = parseCantonDeferredValue(item);
26
+ const ref2 = parseCantonDeferredValueOrThrow(item);
27
27
  return ref2?.type === "activeContractIds" ? await resolve(ref2) : [
28
28
  await substituteRefsToCids(item, resolve)
29
29
  ];
30
30
  }));
31
31
  return items.flat();
32
32
  }
33
- const ref = parseCantonDeferredValue(value);
33
+ const ref = parseCantonDeferredValueOrThrow(value);
34
34
  if (ref) {
35
35
  if (ref.type === "activeContractIds") {
36
36
  throw new NonRetryableError(`Refresh for ${ref.templateId} resolves to multiple contract ids, but the ref was not inside an array`);
@@ -48,5 +48,5 @@ var substituteRefsToCids = /* @__PURE__ */ __name(async (value, resolve) => {
48
48
  }, "substituteRefsToCids");
49
49
 
50
50
  export { substituteCidsToRefs, substituteRefsToCids };
51
- //# sourceMappingURL=57KDDFEU.js.map
52
- //# sourceMappingURL=57KDDFEU.js.map
51
+ //# sourceMappingURL=WLHCBBAJ.js.map
52
+ //# sourceMappingURL=WLHCBBAJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/refresh/reverse-substitute.ts"],"names":["BLOB_KEY","substituteCidsToRefs","value","cidToRef","ref","get","Array","isArray","map","item","out","key","Object","entries","substituteRefsToCids","resolve","items","Promise","all","parseCantonDeferredValueOrThrow","type","flat","NonRetryableError","templateId","fromEntries"],"mappings":";;;;AAKA,IAAMA,QAAAA,GAAW,kBAAA;AAEV,IAAMC,oBAAAA,mBAAuB,MAAA,CAAA,CAAIC,KAAAA,EAAUC,QAAAA,KAAAA;AAC9C,EAAA,IAAI,OAAOD,UAAU,QAAA,EAAU;AAC3B,IAAA,MAAME,GAAAA,GAAMD,QAAAA,CAASE,GAAAA,CAAIH,KAAAA,CAAAA;AACzB,IAAA,OAAQE,GAAAA,IAAOF,KAAAA;AACnB,EAAA;AACA,EAAA,IAAII,KAAAA,CAAMC,OAAAA,CAAQL,KAAAA,CAAAA,EAAQ;AACtB,IAAA,OAAOA,MAAMM,GAAAA,CAAI,CAACC,SAASR,oBAAAA,CAAqBQ,IAAAA,EAAMN,QAAAA,CAAAA,CAAAA;AAC1D,EAAA;AACA,EAAA,IAAID,KAAAA,KAAU,IAAA,IAAQ,OAAOA,KAAAA,KAAU,QAAA,EAAU;AAC7C,IAAA,MAAMQ,MAA+B,EAAC;AACtC,IAAA,KAAA,MAAW,CAACC,GAAAA,EAAKF,IAAAA,KAASG,MAAAA,CAAOC,OAAAA,CAAQX,KAAAA,CAAAA,EAAmC;AACxEQ,MAAAA,GAAAA,CAAIC,GAAAA,CAAAA,GAAOA,GAAAA,KAAQX,WAAWS,IAAAA,GAAOR,oBAAAA,CAAqBQ,MAAMN,QAAAA,CAAAA;AACpE,IAAA;AACA,IAAA,OAAOO,GAAAA;AACX,EAAA;AACA,EAAA,OAAOR,KAAAA;AACX,CAAA,EAhBoC,sBAAA;AAqB7B,IAAMY,oBAAAA,mBAAuB,MAAA,CAAA,OAAUZ,KAAAA,EAAUa,OAAAA,KAAAA;AACpD,EAAA,IAAIT,KAAAA,CAAMC,OAAAA,CAAQL,KAAAA,CAAAA,EAAQ;AACtB,IAAA,MAAMc,QAAQ,MAAMC,OAAAA,CAAQC,IACxBhB,KAAAA,CAAMM,GAAAA,CAAI,OAAOC,IAAAA,KAAAA;AACb,MAAA,MAAML,IAAAA,GAAMe,gCAAgCV,IAAAA,CAAAA;AAC5C,MAAA,OAAOL,MAAKgB,IAAAA,KAAS,mBAAA,GACb,MAAML,OAAAA,CAAQX,IAAAA,CAAAA,GAChB;QAAC,MAAMU,oBAAAA,CAAqBL,MAAMM,OAAAA;;AAC5C,IAAA,CAAA,CAAA,CAAA;AAEJ,IAAA,OAAOC,MAAMK,IAAAA,EAAI;AACrB,EAAA;AAEA,EAAA,MAAMjB,GAAAA,GAAMe,gCAAgCjB,KAAAA,CAAAA;AAC5C,EAAA,IAAIE,GAAAA,EAAK;AACL,IAAA,IAAIA,GAAAA,CAAIgB,SAAS,mBAAA,EAAqB;AAClC,MAAA,MAAM,IAAIE,iBAAAA,CACN,CAAA,YAAA,EAAelB,GAAAA,CAAImB,UAAU,CAAA,uEAAA,CAAyE,CAAA;AAE9G,IAAA;AACA,IAAA,OAAQ,MAAMR,QAAQX,GAAAA,CAAAA;AAC1B,EAAA;AAEA,EAAA,IAAIF,KAAAA,KAAU,IAAA,IAAQ,OAAOA,KAAAA,KAAU,QAAA,EAAU;AAC7C,IAAA,MAAMW,OAAAA,GAAU,MAAMI,OAAAA,CAAQC,GAAAA,CAC1BN,MAAAA,CAAOC,OAAAA,CAAQX,KAAAA,CAAAA,CAAkCM,GAAAA,CAAI,OAAO,CAACG,GAAAA,EAAKF,IAAAA,CAAAA,KAAU;AACxEE,MAAAA,GAAAA;MACA,MAAMG,oBAAAA,CAAqBL,MAAMM,OAAAA;KACpC,CAAA,CAAA;AAEL,IAAA,OAAOH,MAAAA,CAAOY,YAAYX,OAAAA,CAAAA;AAC9B,EAAA;AAEA,EAAA,OAAOX,KAAAA;AACX,CAAA,EAlCoC,sBAAA","file":"WLHCBBAJ.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport { type CantonDeferredValue, parseCantonDeferredValueOrThrow } from '../deferredValue';\n\n// Opaque base64 — swapping a cid here would corrupt it.\nconst BLOB_KEY = 'createdEventBlob';\n\nexport const substituteCidsToRefs = <T>(value: T, cidToRef: Map<string, string>): T => {\n if (typeof value === 'string') {\n const ref = cidToRef.get(value);\n return (ref ?? value) as T;\n }\n if (Array.isArray(value)) {\n return value.map((item) => substituteCidsToRefs(item, cidToRef)) as T;\n }\n if (value !== null && typeof value === 'object') {\n const out: Record<string, unknown> = {};\n for (const [key, item] of Object.entries(value as Record<string, unknown>)) {\n out[key] = key === BLOB_KEY ? item : substituteCidsToRefs(item, cidToRef);\n }\n return out as T;\n }\n return value;\n};\n\nexport type ResolveRef = (ref: CantonDeferredValue) => Promise<unknown>;\n\n/** A plural activeContractIds ref expands in place — must be inside an array; a scalar slot throws. */\nexport const substituteRefsToCids = async <T>(value: T, resolve: ResolveRef): Promise<T> => {\n if (Array.isArray(value)) {\n const items = await Promise.all(\n value.map(async (item) => {\n const ref = parseCantonDeferredValueOrThrow(item);\n return ref?.type === 'activeContractIds'\n ? ((await resolve(ref)) as unknown[])\n : [await substituteRefsToCids(item, resolve)];\n }),\n );\n return items.flat() as T;\n }\n\n const ref = parseCantonDeferredValueOrThrow(value);\n if (ref) {\n if (ref.type === 'activeContractIds') {\n throw new NonRetryableError(\n `Refresh for ${ref.templateId} resolves to multiple contract ids, but the ref was not inside an array`,\n );\n }\n return (await resolve(ref)) as T;\n }\n\n if (value !== null && typeof value === 'object') {\n const entries = await Promise.all(\n Object.entries(value as Record<string, unknown>).map(async ([key, item]) => [\n key,\n await substituteRefsToCids(item, resolve),\n ]),\n );\n return Object.fromEntries(entries) as T;\n }\n\n return value;\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { VettedPackagesChangeFromJSON, VettedPackagesChangeToJSON } from './5KFMHJZB.js';
1
+ import { VettedPackagesChangeFromJSON, VettedPackagesChangeToJSON } from './QYQWHMQM.js';
2
2
  import { PriorTopologySerialFromJSON, PriorTopologySerialToJSON } from './FCOOEGLV.js';
3
3
  import { __name } from './VUOMXK5T.js';
4
4
 
@@ -50,5 +50,5 @@ function UpdateVettedPackagesRequestToJSONTyped(value, ignoreDiscriminator = fal
50
50
  __name(UpdateVettedPackagesRequestToJSONTyped, "UpdateVettedPackagesRequestToJSONTyped");
51
51
 
52
52
  export { UpdateVettedPackagesRequestFromJSON, UpdateVettedPackagesRequestFromJSONTyped, UpdateVettedPackagesRequestToJSON, UpdateVettedPackagesRequestToJSONTyped, UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum, instanceOfUpdateVettedPackagesRequest };
53
- //# sourceMappingURL=HU7X7G5L.js.map
54
- //# sourceMappingURL=HU7X7G5L.js.map
53
+ //# sourceMappingURL=WSLU3JGO.js.map
54
+ //# sourceMappingURL=WSLU3JGO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/UpdateVettedPackagesRequest.ts"],"names":["UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum","UpdateVettedPackagesForceFlagUnspecified","UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades","UpdateVettedPackagesForceFlagAllowUnvettedDependencies","instanceOfUpdateVettedPackagesRequest","value","undefined","UpdateVettedPackagesRequestFromJSON","json","UpdateVettedPackagesRequestFromJSONTyped","ignoreDiscriminator","map","VettedPackagesChangeFromJSON","PriorTopologySerialFromJSON","UpdateVettedPackagesRequestToJSON","UpdateVettedPackagesRequestToJSONTyped","VettedPackagesChangeToJSON","PriorTopologySerialToJSON"],"mappings":";;;;;AAuFO,IAAMA,6DAAAA,GAAgE;EACzEC,wCAAAA,EAA0C,+CAAA;EAC1CC,yDAAAA,EAA2D,mEAAA;EAC3DC,sDAAAA,EAAwD;AAC5D;AAOO,SAASC,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,IAAI,EAAE,gBAAA,IAAoBD,KAAAA,CAAAA,IAAUA,MAAM,gBAAA,CAAA,KAAsBC,QAAW,OAAO,KAAA;AAClF,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAMT,SAASG,oCAAoCC,IAAAA,EAAS;AACzD,EAAA,OAAOC,wCAAAA,CAAyCD,IAAM,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAIT,SAASE,wCAAAA,CAAyCD,MAAWE,mBAAAA,EAA4B;AAC5F,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,SAAA,EAAWA,IAAAA,CAAK,SAAA,CAAA,IAAc,IAAA,GAAOF,SAAcE,IAAAA,CAAK,SAAA,CAAA,CAA0BG,GAAAA,CAAIC,4BAAAA,CAAAA;AACtF,IAAA,QAAA,EAAUJ,KAAK,QAAA,CAAA;AACf,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA;IACvB,wBAAA,EAA0BA,IAAAA,CAAK,wBAAA,CAAA,IAA6B,IAAA,GAAOF,SAAYO,2BAAAA,CAA4BL,IAAAA,CAAK,wBAAA,CAAyB,CAAA;AACzI,IAAA,gCAAA,EAAkCA,KAAK,gCAAA,CAAA,IAAqC,IAAA,GAAOF,MAAAA,GAAYE,KAAK,gCAAA;AACxG,GAAA;AACJ;AAZgBC,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAcT,SAASK,kCAAkCN,IAAAA,EAAS;AACvD,EAAA,OAAOO,sCAAAA,CAAuCP,MAAM,KAAA,CAAA;AACxD;AAFgBM,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCV,KAAAA,EAA4CK,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,SAAA,EAAWA,KAAAA,CAAM,SAAA,CAAA,IAAc,IAAA,GAAOC,SAAcD,KAAAA,CAAM,SAAA,CAAA,CAA0BM,GAAAA,CAAIK,0BAAAA,CAAAA;AACxF,IAAA,QAAA,EAAUX,MAAM,QAAA,CAAA;AAChB,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;IACxB,wBAAA,EAA0BY,yBAAAA,CAA0BZ,KAAAA,CAAM,wBAAA,CAAyB,CAAA;AACnF,IAAA,gCAAA,EAAkCA,MAAM,gCAAA;AAC5C,GAAA;AACJ;AAbgBU,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"HU7X7G5L.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { PriorTopologySerial } from './PriorTopologySerial.js';\nimport {\n PriorTopologySerialFromJSON,\n PriorTopologySerialFromJSONTyped,\n PriorTopologySerialToJSON,\n PriorTopologySerialToJSONTyped,\n} from './PriorTopologySerial.js';\nimport type { VettedPackagesChange } from './VettedPackagesChange.js';\nimport {\n VettedPackagesChangeFromJSON,\n VettedPackagesChangeFromJSONTyped,\n VettedPackagesChangeToJSON,\n VettedPackagesChangeToJSONTyped,\n} from './VettedPackagesChange.js';\n\n/**\n * \n * @export\n * @interface UpdateVettedPackagesRequest\n */\nexport interface UpdateVettedPackagesRequest {\n /**\n * Changes to apply to the current vetting state of the participant on the\n * specified synchronizer. The changes are applied in order.\n * Any package not changed will keep their previous vetting state.\n * @type {Array<VettedPackagesChange>}\n * @memberof UpdateVettedPackagesRequest\n */\n changes?: Array<VettedPackagesChange>;\n /**\n * If dry_run is true, then the changes are only prepared, but not applied. If\n * a request would trigger an error when run (e.g. TOPOLOGY_DEPENDENCIES_NOT_VETTED),\n * it will also trigger an error when dry_run.\n * \n * Use this flag to preview a change before applying it.\n * @type {boolean}\n * @memberof UpdateVettedPackagesRequest\n */\n dryRun: boolean;\n /**\n * If set, the requested changes will take place on the specified\n * synchronizer. If synchronizer_id is unset and the participant is only\n * connected to a single synchronizer, that synchronizer will be used by\n * default. If synchronizer_id is unset and the participant is connected to\n * multiple synchronizers, the request will error out with\n * PACKAGE_SERVICE_CANNOT_AUTODETECT_SYNCHRONIZER.\n * \n * Optional\n * @type {string}\n * @memberof UpdateVettedPackagesRequest\n */\n synchronizerId: string;\n /**\n * \n * @type {PriorTopologySerial}\n * @memberof UpdateVettedPackagesRequest\n */\n expectedTopologySerial?: PriorTopologySerial;\n /**\n * Controls whether potentially unsafe vetting updates are allowed.\n * \n * Optional, defaults to FORCE_FLAG_UNSPECIFIED.\n * @type {Array<UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum>}\n * @memberof UpdateVettedPackagesRequest\n */\n updateVettedPackagesForceFlags?: Array<UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum>;\n}\n\n\n/**\n * @export\n */\nexport const UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum = {\n UpdateVettedPackagesForceFlagUnspecified: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_UNSPECIFIED',\n UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_VET_INCOMPATIBLE_UPGRADES',\n UpdateVettedPackagesForceFlagAllowUnvettedDependencies: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_UNVETTED_DEPENDENCIES'\n} as const;\nexport type UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum = typeof UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum[keyof typeof UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum];\n\n\n/**\n * Check if a given object implements the UpdateVettedPackagesRequest interface.\n */\nexport function instanceOfUpdateVettedPackagesRequest(value: object): value is UpdateVettedPackagesRequest {\n if (!('dryRun' in value) || value['dryRun'] === undefined) return false;\n if (!('synchronizerId' in value) || value['synchronizerId'] === undefined) return false;\n return true;\n}\n\nexport function UpdateVettedPackagesRequestFromJSON(json: any): UpdateVettedPackagesRequest {\n return UpdateVettedPackagesRequestFromJSONTyped(json, false);\n}\n\nexport function UpdateVettedPackagesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateVettedPackagesRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'changes': json['changes'] == null ? undefined : ((json['changes'] as Array<any>).map(VettedPackagesChangeFromJSON)),\n 'dryRun': json['dryRun'],\n 'synchronizerId': json['synchronizerId'],\n 'expectedTopologySerial': json['expectedTopologySerial'] == null ? undefined : PriorTopologySerialFromJSON(json['expectedTopologySerial']),\n 'updateVettedPackagesForceFlags': json['updateVettedPackagesForceFlags'] == null ? undefined : json['updateVettedPackagesForceFlags'],\n };\n}\n\nexport function UpdateVettedPackagesRequestToJSON(json: any): UpdateVettedPackagesRequest {\n return UpdateVettedPackagesRequestToJSONTyped(json, false);\n}\n\nexport function UpdateVettedPackagesRequestToJSONTyped(value?: UpdateVettedPackagesRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'changes': value['changes'] == null ? undefined : ((value['changes'] as Array<any>).map(VettedPackagesChangeToJSON)),\n 'dryRun': value['dryRun'],\n 'synchronizerId': value['synchronizerId'],\n 'expectedTopologySerial': PriorTopologySerialToJSON(value['expectedTopologySerial']),\n 'updateVettedPackagesForceFlags': value['updateVettedPackagesForceFlags'],\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/UpdateVettedPackagesRequest.ts"],"names":["UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum","UpdateVettedPackagesForceFlagUnspecified","UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades","UpdateVettedPackagesForceFlagAllowUnvettedDependencies","instanceOfUpdateVettedPackagesRequest","value","undefined","UpdateVettedPackagesRequestFromJSON","json","UpdateVettedPackagesRequestFromJSONTyped","ignoreDiscriminator","map","VettedPackagesChangeFromJSON","PriorTopologySerialFromJSON","UpdateVettedPackagesRequestToJSON","UpdateVettedPackagesRequestToJSONTyped","VettedPackagesChangeToJSON","PriorTopologySerialToJSON"],"mappings":";;;;;AAuFO,IAAMA,6DAAAA,GAAgE;EACzEC,wCAAAA,EAA0C,+CAAA;EAC1CC,yDAAAA,EAA2D,mEAAA;EAC3DC,sDAAAA,EAAwD;AAC5D;AAOO,SAASC,sCAAsCC,KAAAA,EAAa;AAC/D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,IAAI,EAAE,gBAAA,IAAoBD,KAAAA,CAAAA,IAAUA,MAAM,gBAAA,CAAA,KAAsBC,QAAW,OAAO,KAAA;AAClF,EAAA,OAAO,IAAA;AACX;AAJgBF,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAMT,SAASG,oCAAoCC,IAAAA,EAAS;AACzD,EAAA,OAAOC,wCAAAA,CAAyCD,IAAM,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAIT,SAASE,wCAAAA,CAAyCD,MAAWE,mBAAAA,EAA4B;AAC5F,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,SAAA,EAAWA,IAAAA,CAAK,SAAA,CAAA,IAAc,IAAA,GAAOF,SAAcE,IAAAA,CAAK,SAAA,CAAA,CAA0BG,GAAAA,CAAIC,4BAAAA,CAAAA;AACtF,IAAA,QAAA,EAAUJ,KAAK,QAAA,CAAA;AACf,IAAA,gBAAA,EAAkBA,KAAK,gBAAA,CAAA;IACvB,wBAAA,EAA0BA,IAAAA,CAAK,wBAAA,CAAA,IAA6B,IAAA,GAAOF,SAAYO,2BAAAA,CAA4BL,IAAAA,CAAK,wBAAA,CAAyB,CAAA;AACzI,IAAA,gCAAA,EAAkCA,KAAK,gCAAA,CAAA,IAAqC,IAAA,GAAOF,MAAAA,GAAYE,KAAK,gCAAA;AACxG,GAAA;AACJ;AAZgBC,MAAAA,CAAAA,wCAAAA,EAAAA,0CAAAA,CAAAA;AAcT,SAASK,kCAAkCN,IAAAA,EAAS;AACvD,EAAA,OAAOO,sCAAAA,CAAuCP,MAAM,KAAA,CAAA;AACxD;AAFgBM,MAAAA,CAAAA,iCAAAA,EAAAA,mCAAAA,CAAAA;AAIT,SAASC,sCAAAA,CAAuCV,KAAAA,EAA4CK,mBAAAA,GAA+B,KAAA,EAAK;AACnI,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,SAAA,EAAWA,KAAAA,CAAM,SAAA,CAAA,IAAc,IAAA,GAAOC,SAAcD,KAAAA,CAAM,SAAA,CAAA,CAA0BM,GAAAA,CAAIK,0BAAAA,CAAAA;AACxF,IAAA,QAAA,EAAUX,MAAM,QAAA,CAAA;AAChB,IAAA,gBAAA,EAAkBA,MAAM,gBAAA,CAAA;IACxB,wBAAA,EAA0BY,yBAAAA,CAA0BZ,KAAAA,CAAM,wBAAA,CAAyB,CAAA;AACnF,IAAA,gCAAA,EAAkCA,MAAM,gCAAA;AAC5C,GAAA;AACJ;AAbgBU,MAAAA,CAAAA,sCAAAA,EAAAA,wCAAAA,CAAAA","file":"WSLU3JGO.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { PriorTopologySerial } from './PriorTopologySerial.js';\nimport {\n PriorTopologySerialFromJSON,\n PriorTopologySerialFromJSONTyped,\n PriorTopologySerialToJSON,\n PriorTopologySerialToJSONTyped,\n} from './PriorTopologySerial.js';\nimport type { VettedPackagesChange } from './VettedPackagesChange.js';\nimport {\n VettedPackagesChangeFromJSON,\n VettedPackagesChangeFromJSONTyped,\n VettedPackagesChangeToJSON,\n VettedPackagesChangeToJSONTyped,\n} from './VettedPackagesChange.js';\n\n/**\n * \n * @export\n * @interface UpdateVettedPackagesRequest\n */\nexport interface UpdateVettedPackagesRequest {\n /**\n * Changes to apply to the current vetting state of the participant on the\n * specified synchronizer. The changes are applied in order.\n * Any package not changed will keep their previous vetting state.\n * @type {Array<VettedPackagesChange>}\n * @memberof UpdateVettedPackagesRequest\n */\n changes?: Array<VettedPackagesChange>;\n /**\n * If dry_run is true, then the changes are only prepared, but not applied. If\n * a request would trigger an error when run (e.g. TOPOLOGY_DEPENDENCIES_NOT_VETTED),\n * it will also trigger an error when dry_run.\n * \n * Use this flag to preview a change before applying it.\n * @type {boolean}\n * @memberof UpdateVettedPackagesRequest\n */\n dryRun: boolean;\n /**\n * If set, the requested changes will take place on the specified\n * synchronizer. If synchronizer_id is unset and the participant is only\n * connected to a single synchronizer, that synchronizer will be used by\n * default. If synchronizer_id is unset and the participant is connected to\n * multiple synchronizers, the request will error out with\n * PACKAGE_SERVICE_CANNOT_AUTODETECT_SYNCHRONIZER.\n * \n * Optional\n * @type {string}\n * @memberof UpdateVettedPackagesRequest\n */\n synchronizerId: string;\n /**\n * \n * @type {PriorTopologySerial}\n * @memberof UpdateVettedPackagesRequest\n */\n expectedTopologySerial?: PriorTopologySerial;\n /**\n * Controls whether potentially unsafe vetting updates are allowed.\n * \n * Optional, defaults to FORCE_FLAG_UNSPECIFIED.\n * @type {Array<UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum>}\n * @memberof UpdateVettedPackagesRequest\n */\n updateVettedPackagesForceFlags?: Array<UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum>;\n}\n\n\n/**\n * @export\n */\nexport const UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum = {\n UpdateVettedPackagesForceFlagUnspecified: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_UNSPECIFIED',\n UpdateVettedPackagesForceFlagAllowVetIncompatibleUpgrades: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_VET_INCOMPATIBLE_UPGRADES',\n UpdateVettedPackagesForceFlagAllowUnvettedDependencies: 'UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_UNVETTED_DEPENDENCIES'\n} as const;\nexport type UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum = typeof UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum[keyof typeof UpdateVettedPackagesRequestUpdateVettedPackagesForceFlagsEnum];\n\n\n/**\n * Check if a given object implements the UpdateVettedPackagesRequest interface.\n */\nexport function instanceOfUpdateVettedPackagesRequest(value: object): value is UpdateVettedPackagesRequest {\n if (!('dryRun' in value) || value['dryRun'] === undefined) return false;\n if (!('synchronizerId' in value) || value['synchronizerId'] === undefined) return false;\n return true;\n}\n\nexport function UpdateVettedPackagesRequestFromJSON(json: any): UpdateVettedPackagesRequest {\n return UpdateVettedPackagesRequestFromJSONTyped(json, false);\n}\n\nexport function UpdateVettedPackagesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateVettedPackagesRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'changes': json['changes'] == null ? undefined : ((json['changes'] as Array<any>).map(VettedPackagesChangeFromJSON)),\n 'dryRun': json['dryRun'],\n 'synchronizerId': json['synchronizerId'],\n 'expectedTopologySerial': json['expectedTopologySerial'] == null ? undefined : PriorTopologySerialFromJSON(json['expectedTopologySerial']),\n 'updateVettedPackagesForceFlags': json['updateVettedPackagesForceFlags'] == null ? undefined : json['updateVettedPackagesForceFlags'],\n };\n}\n\nexport function UpdateVettedPackagesRequestToJSON(json: any): UpdateVettedPackagesRequest {\n return UpdateVettedPackagesRequestToJSONTyped(json, false);\n}\n\nexport function UpdateVettedPackagesRequestToJSONTyped(value?: UpdateVettedPackagesRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'changes': value['changes'] == null ? undefined : ((value['changes'] as Array<any>).map(VettedPackagesChangeToJSON)),\n 'dryRun': value['dryRun'],\n 'synchronizerId': value['synchronizerId'],\n 'expectedTopologySerial': PriorTopologySerialToJSON(value['expectedTopologySerial']),\n 'updateVettedPackagesForceFlags': value['updateVettedPackagesForceFlags'],\n };\n}\n\n"]}
@@ -1,4 +1,4 @@
1
- import { Update1FromJSON, Update1ToJSON } from './3RGRZQQT.js';
1
+ import { Update1FromJSON, Update1ToJSON } from './BL22CZFA.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/open-api/models/JsGetUpdateTreesResponse.ts
@@ -35,5 +35,5 @@ function JsGetUpdateTreesResponseToJSONTyped(value, ignoreDiscriminator = false)
35
35
  __name(JsGetUpdateTreesResponseToJSONTyped, "JsGetUpdateTreesResponseToJSONTyped");
36
36
 
37
37
  export { JsGetUpdateTreesResponseFromJSON, JsGetUpdateTreesResponseFromJSONTyped, JsGetUpdateTreesResponseToJSON, JsGetUpdateTreesResponseToJSONTyped, instanceOfJsGetUpdateTreesResponse };
38
- //# sourceMappingURL=NVDYBSHG.js.map
39
- //# sourceMappingURL=NVDYBSHG.js.map
38
+ //# sourceMappingURL=ZPOY5WJ2.js.map
39
+ //# sourceMappingURL=ZPOY5WJ2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/open-api/models/JsGetUpdateTreesResponse.ts"],"names":["instanceOfJsGetUpdateTreesResponse","value","undefined","JsGetUpdateTreesResponseFromJSON","json","JsGetUpdateTreesResponseFromJSONTyped","ignoreDiscriminator","Update1FromJSON","JsGetUpdateTreesResponseToJSON","JsGetUpdateTreesResponseToJSONTyped","Update1ToJSON"],"mappings":";;;;AAwCO,SAASA,mCAAmCC,KAAAA,EAAa;AAC5D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAKT,SAASG,iCAAiCC,IAAAA,EAAS;AACtD,EAAA,OAAOC,qCAAAA,CAAsCD,IAAM,CAAA;AACvD;AAFgBD,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,qCAAAA,CAAsCD,MAAWE,mBAAAA,EAA4B;AACzF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,QAAA,EAAUG,eAAAA,CAAgBH,IAAAA,CAAK,QAAA,CAAS;AAC5C,GAAA;AACJ;AARgBC,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASG,+BAA+BJ,IAAAA,EAAS;AACpD,EAAA,OAAOK,mCAAAA,CAAoCL,MAAM,KAAA,CAAA;AACrD;AAFgBI,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASC,mCAAAA,CAAoCR,KAAAA,EAAyCK,mBAAAA,GAA+B,KAAA,EAAK;AAC7H,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,QAAA,EAAUS,aAAAA,CAAcT,KAAAA,CAAM,QAAA,CAAS;AAC3C,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"NVDYBSHG.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Update1 } from './Update1.js';\nimport {\n Update1FromJSON,\n Update1FromJSONTyped,\n Update1ToJSON,\n Update1ToJSONTyped,\n} from './Update1.js';\n\n/**\n * Provided for backwards compatibility, it will be removed in the Canton version 3.5.0.\n * @export\n * @interface JsGetUpdateTreesResponse\n */\nexport interface JsGetUpdateTreesResponse {\n /**\n * \n * @type {Update1}\n * @memberof JsGetUpdateTreesResponse\n */\n update: Update1;\n}\n\n/**\n * Check if a given object implements the JsGetUpdateTreesResponse interface.\n */\nexport function instanceOfJsGetUpdateTreesResponse(value: object): value is JsGetUpdateTreesResponse {\n if (!('update' in value) || value['update'] === undefined) return false;\n return true;\n}\n\nexport function JsGetUpdateTreesResponseFromJSON(json: any): JsGetUpdateTreesResponse {\n return JsGetUpdateTreesResponseFromJSONTyped(json, false);\n}\n\nexport function JsGetUpdateTreesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsGetUpdateTreesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'update': Update1FromJSON(json['update']),\n };\n}\n\nexport function JsGetUpdateTreesResponseToJSON(json: any): JsGetUpdateTreesResponse {\n return JsGetUpdateTreesResponseToJSONTyped(json, false);\n}\n\nexport function JsGetUpdateTreesResponseToJSONTyped(value?: JsGetUpdateTreesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'update': Update1ToJSON(value['update']),\n };\n}\n\n"]}
1
+ {"version":3,"sources":["../src/open-api/models/JsGetUpdateTreesResponse.ts"],"names":["instanceOfJsGetUpdateTreesResponse","value","undefined","JsGetUpdateTreesResponseFromJSON","json","JsGetUpdateTreesResponseFromJSONTyped","ignoreDiscriminator","Update1FromJSON","JsGetUpdateTreesResponseToJSON","JsGetUpdateTreesResponseToJSONTyped","Update1ToJSON"],"mappings":";;;;AAwCO,SAASA,mCAAmCC,KAAAA,EAAa;AAC5D,EAAA,IAAI,EAAE,QAAA,IAAYA,KAAAA,CAAAA,IAAUA,MAAM,QAAA,CAAA,KAAcC,QAAW,OAAO,KAAA;AAClE,EAAA,OAAO,IAAA;AACX;AAHgBF,MAAAA,CAAAA,kCAAAA,EAAAA,oCAAAA,CAAAA;AAKT,SAASG,iCAAiCC,IAAAA,EAAS;AACtD,EAAA,OAAOC,qCAAAA,CAAsCD,IAAM,CAAA;AACvD;AAFgBD,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,qCAAAA,CAAsCD,MAAWE,mBAAAA,EAA4B;AACzF,EAAA,IAAIF,QAAQ,IAAA,EAAM;AACd,IAAA,OAAOA,IAAAA;AACX,EAAA;AACA,EAAA,OAAO;IAEH,QAAA,EAAUG,eAAAA,CAAgBH,IAAAA,CAAK,QAAA,CAAS;AAC5C,GAAA;AACJ;AARgBC,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASG,+BAA+BJ,IAAAA,EAAS;AACpD,EAAA,OAAOK,mCAAAA,CAAoCL,MAAM,KAAA,CAAA;AACrD;AAFgBI,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAIT,SAASC,mCAAAA,CAAoCR,KAAAA,EAAyCK,mBAAAA,GAA+B,KAAA,EAAK;AAC7H,EAAA,IAAIL,SAAS,IAAA,EAAM;AACf,IAAA,OAAOA,KAAAA;AACX,EAAA;AAEA,EAAA,OAAO;IAEH,QAAA,EAAUS,aAAAA,CAAcT,KAAAA,CAAM,QAAA,CAAS;AAC3C,GAAA;AACJ;AATgBQ,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA","file":"ZPOY5WJ2.js","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * JSON Ledger API HTTP endpoints\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.4.3-SNAPSHOT\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime.js';\nimport type { Update1 } from './Update1.js';\nimport {\n Update1FromJSON,\n Update1FromJSONTyped,\n Update1ToJSON,\n Update1ToJSONTyped,\n} from './Update1.js';\n\n/**\n * Provided for backwards compatibility, it will be removed in the Canton version 3.5.0.\n * @export\n * @interface JsGetUpdateTreesResponse\n */\nexport interface JsGetUpdateTreesResponse {\n /**\n * \n * @type {Update1}\n * @memberof JsGetUpdateTreesResponse\n */\n update: Update1;\n}\n\n/**\n * Check if a given object implements the JsGetUpdateTreesResponse interface.\n */\nexport function instanceOfJsGetUpdateTreesResponse(value: object): value is JsGetUpdateTreesResponse {\n if (!('update' in value) || value['update'] === undefined) return false;\n return true;\n}\n\nexport function JsGetUpdateTreesResponseFromJSON(json: any): JsGetUpdateTreesResponse {\n return JsGetUpdateTreesResponseFromJSONTyped(json, false);\n}\n\nexport function JsGetUpdateTreesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JsGetUpdateTreesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'update': Update1FromJSON(json['update']),\n };\n}\n\nexport function JsGetUpdateTreesResponseToJSON(json: any): JsGetUpdateTreesResponse {\n return JsGetUpdateTreesResponseToJSONTyped(json, false);\n}\n\nexport function JsGetUpdateTreesResponseToJSONTyped(value?: JsGetUpdateTreesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'update': Update1ToJSON(value['update']),\n };\n}\n\n"]}
@@ -1,4 +1,4 @@
1
- import { cantonActiveContractIdRef } from './Z35TKEFU.js';
1
+ import { cantonActiveContractIdRef } from './QSQZYJB6.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
  import { NonRetryableError } from '@layerzerolabs/common-error-utils';
4
4
 
@@ -21,6 +21,10 @@ var buildCantonDeployedContractAddressRef = /* @__PURE__ */ __name((createdEvent
21
21
  partyToFilter: {
22
22
  party: ownerParty
23
23
  },
24
+ // LZ deploy templates: ownerField is a create-argument signatory.
25
+ expectedSignatories: [
26
+ ownerParty
27
+ ],
24
28
  templateId: `#${spec.packageName}:${qualifiedName}`,
25
29
  ...contractStateFilter ? {
26
30
  contractStateFilter
@@ -29,5 +33,5 @@ var buildCantonDeployedContractAddressRef = /* @__PURE__ */ __name((createdEvent
29
33
  }, "buildCantonDeployedContractAddressRef");
30
34
 
31
35
  export { buildCantonDeployedContractAddressRef, qualifiedTemplateName };
32
- //# sourceMappingURL=I6Z5XG3N.js.map
33
- //# sourceMappingURL=I6Z5XG3N.js.map
36
+ //# sourceMappingURL=ZYPVFCJP.js.map
37
+ //# sourceMappingURL=ZYPVFCJP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/refresh/deployment-address.ts"],"names":["qualifiedTemplateName","templateId","firstColon","indexOf","slice","buildCantonDeployedContractAddressRef","createdEvent","spec","qualifiedName","createArgument","ownerParty","ownerField","NonRetryableError","contractStateFilter","identityKeys","length","Object","fromEntries","map","key","undefined","cantonActiveContractIdRef","partyToFilter","party","expectedSignatories","packageName"],"mappings":";;;;AAYO,IAAMA,qBAAAA,2BAAyBC,UAAAA,KAAAA;AAClC,EAAA,MAAMC,UAAAA,GAAaD,UAAAA,CAAWE,OAAAA,CAAQ,GAAA,CAAA;AACtC,EAAA,OAAOD,eAAe,EAAA,GAAKD,UAAAA,GAAaA,UAAAA,CAAWG,KAAAA,CAAMF,aAAa,CAAA,CAAA;AAC1E,CAAA,EAHqC,uBAAA;AAU9B,IAAMG,qCAAAA,mBAAwC,MAAA,CAAA,CACjDC,YAAAA,EACAC,IAAAA,KAAAA;AAEA,EAAA,MAAMC,aAAAA,GAAgBR,qBAAAA,CAAsBM,YAAAA,CAAaL,UAAU,CAAA;AACnE,EAAA,MAAMQ,cAAAA,GAAkBH,YAAAA,CAAaG,cAAAA,IAAkB,EAAC;AACxD,EAAA,MAAMC,UAAAA,GAAaD,cAAAA,CAAeF,IAAAA,CAAKI,UAAU,CAAA;AACjD,EAAA,IAAI,OAAOD,eAAe,QAAA,EAAU;AAChC,IAAA,MAAM,IAAIE,iBAAAA,CACN,CAAA,UAAA,EAAaJ,aAAAA,CAAAA,iDAAAA,EAAiED,IAAAA,CAAKI,UAAU,CAAA,CAAA,CAAG,CAAA;AAExG,EAAA;AAEA,EAAA,MAAME,mBAAAA,GAAsBN,IAAAA,CAAKO,YAAAA,CAAaC,MAAAA,GACxCC,MAAAA,CAAOC,YAAYV,IAAAA,CAAKO,YAAAA,CAAaI,GAAAA,CAAI,CAACC,GAAAA,KAAQ;AAACA,IAAAA,GAAAA;AAAKV,IAAAA,cAAAA,CAAeU,GAAAA;AAAK,GAAA,CAAA,CAAA,GAC5EC,MAAAA;AAEN,EAAA,OAAOC,yBAAAA,CAA0B;IAC7BC,aAAAA,EAAe;MAAEC,KAAAA,EAAOb;AAAW,KAAA;;IAEnCc,mBAAAA,EAAqB;AAACd,MAAAA;;AACtBT,IAAAA,UAAAA,EAAY,CAAA,CAAA,EAAIM,IAAAA,CAAKkB,WAAW,CAAA,CAAA,EAAIjB,aAAAA,CAAAA,CAAAA;AACpC,IAAA,GAAIK,mBAAAA,GAAsB;AAAEA,MAAAA;AAAoB,KAAA,GAAI;GACxD,CAAA;AACJ,CAAA,EAxBqD,uCAAA","file":"ZYPVFCJP.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport { cantonActiveContractIdRef, type CantonDeferredRef } from '../deferredValue';\n\nexport interface CantonDeployedTemplateSpec {\n packageName: string;\n ownerField: string;\n // Immutable disambiguating fields only — mutable fields break recreate-survival.\n identityKeys: string[];\n}\n\n// Canton returns `<packageId>:Module:Entity`; the package id has no colon.\nexport const qualifiedTemplateName = (templateId: string): string => {\n const firstColon = templateId.indexOf(':');\n return firstColon === -1 ? templateId : templateId.slice(firstColon + 1);\n};\n\ninterface DeployedCreatedEvent {\n templateId: string;\n createArgument?: unknown;\n}\n\nexport const buildCantonDeployedContractAddressRef = (\n createdEvent: DeployedCreatedEvent,\n spec: CantonDeployedTemplateSpec,\n): CantonDeferredRef => {\n const qualifiedName = qualifiedTemplateName(createdEvent.templateId);\n const createArgument = (createdEvent.createArgument ?? {}) as Record<string, unknown>;\n const ownerParty = createArgument[spec.ownerField];\n if (typeof ownerParty !== 'string') {\n throw new NonRetryableError(\n `Template '${qualifiedName}' create argument is missing string owner field '${spec.ownerField}'`,\n );\n }\n\n const contractStateFilter = spec.identityKeys.length\n ? Object.fromEntries(spec.identityKeys.map((key) => [key, createArgument[key]]))\n : undefined;\n\n return cantonActiveContractIdRef({\n partyToFilter: { party: ownerParty },\n // LZ deploy templates: ownerField is a create-argument signatory.\n expectedSignatories: [ownerParty],\n templateId: `#${spec.packageName}:${qualifiedName}`,\n ...(contractStateFilter ? { contractStateFilter } : {}),\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAO/D,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAE1D,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE7D,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,aAAa,MAAM,KAAG,aACoC,CAAC;AAE5G,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,KAAG,aACyC,CAAC;AAEhG,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,aAA0C,CAAC;AAEpG,uGAAuG;AACvG,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,aAiB7C,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,aAGP,CAAC"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAO/D,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAE1D,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE7D,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,aAAa,MAAM,KAAG,aACoC,CAAC;AAE5G,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,KAAG,aACyC,CAAC;AAEhG,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,aAA0C,CAAC;AAEpG,uGAAuG;AACvG,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,aAc7C,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,aAGtB,CAAC"}
package/dist/address.js CHANGED
@@ -1,5 +1,5 @@
1
- export { CANTON_CID_ADDRESS_PREFIX, CANTON_PARTY_ADDRESS_PREFIX, cantonCidAddress, cantonDeferredAddress, cantonPartyAddress, isCantonAddress, toCantonAddress } from './TM5LJKTE.js';
2
- import './Z35TKEFU.js';
1
+ export { CANTON_CID_ADDRESS_PREFIX, CANTON_PARTY_ADDRESS_PREFIX, cantonCidAddress, cantonDeferredAddress, cantonPartyAddress, isCantonAddress, toCantonAddress } from './FADZDRWB.js';
2
+ import './QSQZYJB6.js';
3
3
  import './VUOMXK5T.js';
4
4
  //# sourceMappingURL=address.js.map
5
5
  //# sourceMappingURL=address.js.map
@@ -1,7 +1,7 @@
1
1
  import '../35ELVFTS.js';
2
2
  import '../RSV7WS7X.js';
3
- export { ClientCredentialsTokenProvider } from '../V2H2WXKE.js';
4
3
  export { LocalTokenProvider } from '../SCEF7TLZ.js';
4
+ export { ClientCredentialsTokenProvider } from '../V2H2WXKE.js';
5
5
  import '../VUOMXK5T.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map