@layerzerolabs/common-canton 1.2.99 → 1.2.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{D3KVE5XQ.js → 3H5UAMWJ.js} +12 -9
- package/dist/3H5UAMWJ.js.map +1 -0
- package/dist/{YBGD26CU.js → 45C3KMUJ.js} +12 -6
- package/dist/45C3KMUJ.js.map +1 -0
- package/dist/{5BK6GCUD.js → 5VT3BVW6.js} +4 -4
- package/dist/{5BK6GCUD.js.map → 5VT3BVW6.js.map} +1 -1
- package/dist/{CMFVLC7C.js → 6GIDRO6Y.js} +3 -3
- package/dist/{CMFVLC7C.js.map → 6GIDRO6Y.js.map} +1 -1
- package/dist/{4SK2ZV46.js → 7DFFQF5Y.js} +37 -14
- package/dist/7DFFQF5Y.js.map +1 -0
- package/dist/{RFGCLYQN.js → 7Z6L2FXT.js} +3 -3
- package/dist/{RFGCLYQN.js.map → 7Z6L2FXT.js.map} +1 -1
- package/dist/{NSHNCUWI.js → A4HRBTRS.js} +5 -5
- package/dist/{NSHNCUWI.js.map → A4HRBTRS.js.map} +1 -1
- package/dist/{HQMIA66Y.js → DELPT7WC.js} +3 -3
- package/dist/{HQMIA66Y.js.map → DELPT7WC.js.map} +1 -1
- package/dist/{4WZTQJXP.js → KDLPAZ3P.js} +2 -2
- package/dist/{4WZTQJXP.js.map → KDLPAZ3P.js.map} +1 -1
- package/dist/{YV6LAB6R.js → KGEOWAAR.js} +3 -3
- package/dist/{YV6LAB6R.js.map → KGEOWAAR.js.map} +1 -1
- package/dist/{K7FRAGGM.js → KLMACWXT.js} +3 -3
- package/dist/KLMACWXT.js.map +1 -0
- package/dist/{UG2M23HF.js → MM7EIOP4.js} +3 -3
- package/dist/{UG2M23HF.js.map → MM7EIOP4.js.map} +1 -1
- package/dist/{E6W3YWXU.js → MRAAJXQA.js} +4 -4
- package/dist/{E6W3YWXU.js.map → MRAAJXQA.js.map} +1 -1
- package/dist/{NGED2YCU.js → OK7GQCQM.js} +9 -5
- package/dist/OK7GQCQM.js.map +1 -0
- package/dist/{JJDWTXLN.js → QOVYNKLD.js} +3 -3
- package/dist/{JJDWTXLN.js.map → QOVYNKLD.js.map} +1 -1
- package/dist/{HC2GOOAL.js → QWU4V7O2.js} +138 -24
- package/dist/QWU4V7O2.js.map +1 -0
- package/dist/{XUXLV3PL.js → SAHSVYH6.js} +2 -2
- package/dist/{XUXLV3PL.js.map → SAHSVYH6.js.map} +1 -1
- package/dist/{5VKWPQE4.js → SEKZMYNZ.js} +3 -3
- package/dist/{5VKWPQE4.js.map → SEKZMYNZ.js.map} +1 -1
- package/dist/{DCDLEU2R.js → UUUJS2PY.js} +11 -3
- package/dist/UUUJS2PY.js.map +1 -0
- package/dist/{M3GPMXME.js → W3ZJSUA6.js} +3 -3
- package/dist/{M3GPMXME.js.map → W3ZJSUA6.js.map} +1 -1
- package/dist/{IUQEDBC6.js → XKBA43N7.js} +12 -9
- package/dist/XKBA43N7.js.map +1 -0
- package/dist/{KPFKPA5E.js → XWNGGI4V.js} +6 -6
- package/dist/XWNGGI4V.js.map +1 -0
- package/dist/{2B3PTIL7.js → ZVEWMW6Q.js} +4 -4
- package/dist/{2B3PTIL7.js.map → ZVEWMW6Q.js.map} +1 -1
- package/dist/client/amulet.d.ts +11 -1
- package/dist/client/amulet.d.ts.map +1 -1
- package/dist/client/amulet.js +3 -3
- package/dist/client/canton-client.d.ts +13 -4
- package/dist/client/canton-client.d.ts.map +1 -1
- package/dist/client/canton-client.js +4 -4
- package/dist/client/grpc.js +2 -2
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -6
- package/dist/client/interface.d.ts +13 -4
- package/dist/client/interface.d.ts.map +1 -1
- package/dist/client/topology/utils.d.ts +4 -0
- package/dist/client/topology/utils.d.ts.map +1 -1
- package/dist/client/topology/utils.js +1 -1
- package/dist/events.js +3 -3
- package/dist/index.js +23 -23
- package/dist/minFee.js +2 -2
- package/dist/provider.js +7 -7
- package/dist/refresh/callback-burn-mint.js +5 -5
- package/dist/refresh/callback-lock-unlock.js +5 -5
- package/dist/refresh/callback-registry.js +4 -4
- package/dist/refresh/callback.js +7 -7
- package/dist/refresh/index.js +17 -17
- package/dist/refresh/onesig-config.js +1 -1
- package/dist/refresh/onesig-request.js +1 -1
- package/dist/refresh/onesig-scope.d.ts.map +1 -1
- package/dist/refresh/onesig-scope.js +1 -1
- package/dist/refresh/onesig-transfer-instruction.js +8 -8
- package/dist/refresh/onesig-transfer.js +9 -9
- package/dist/refresh/plan.d.ts +18 -0
- package/dist/refresh/plan.d.ts.map +1 -1
- package/dist/refresh/plan.js +1 -1
- package/dist/refresh/prepare-amulet-transfer.d.ts.map +1 -1
- package/dist/refresh/prepare-amulet-transfer.js +4 -4
- package/dist/refresh/resolve-plan.d.ts.map +1 -1
- package/dist/refresh/resolve-plan.js +15 -15
- package/dist/refresh/resolve.js +16 -16
- package/dist/sdk/canton-sdk.d.ts +1 -0
- package/dist/sdk/canton-sdk.d.ts.map +1 -1
- package/dist/sdk/canton-sdk.js +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/transaction.d.ts +30 -0
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +2 -2
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +10 -10
- package/dist/4SK2ZV46.js.map +0 -1
- package/dist/D3KVE5XQ.js.map +0 -1
- package/dist/DCDLEU2R.js.map +0 -1
- package/dist/HC2GOOAL.js.map +0 -1
- package/dist/IUQEDBC6.js.map +0 -1
- package/dist/K7FRAGGM.js.map +0 -1
- package/dist/KPFKPA5E.js.map +0 -1
- package/dist/NGED2YCU.js.map +0 -1
- package/dist/YBGD26CU.js.map +0 -1
|
@@ -138,7 +138,11 @@ var cantonActiveContractValueRefreshSchema = z.object({
|
|
|
138
138
|
var cantonAmuletContextRefreshSchema = z.object({
|
|
139
139
|
resolver: z.object({
|
|
140
140
|
type: z.literal("amuletContext"),
|
|
141
|
-
dsoParty: z.string().min(1)
|
|
141
|
+
dsoParty: z.string().min(1),
|
|
142
|
+
// A transfer's receiver and amount, so the context includes the receiver's
|
|
143
|
+
// TransferPreapproval. Omitted, the Wallet is probed with the admin and '0'.
|
|
144
|
+
receiver: z.string().min(1).optional(),
|
|
145
|
+
amount: z.string().min(1).optional()
|
|
142
146
|
}),
|
|
143
147
|
targets: z.array(cantonArgumentRefreshTargetSchema).min(1),
|
|
144
148
|
contractIdTargets: z.array(exerciseEntrypointTargetSchema).min(1).optional()
|
|
@@ -220,10 +224,12 @@ var oneSigRequestIdentitySchema = z.object({
|
|
|
220
224
|
admin: z.string().min(1),
|
|
221
225
|
id: z.string().min(1)
|
|
222
226
|
}).strict();
|
|
227
|
+
var oneSigReadAsSchema = z.array(z.string().min(1)).min(1).optional();
|
|
223
228
|
var cantonOneSigRequestContextRefreshSchema = z.object({
|
|
224
229
|
resolver: z.object({
|
|
225
230
|
type: z.literal("oneSigRequestContext"),
|
|
226
231
|
informee: z.string().min(1),
|
|
232
|
+
readAs: oneSigReadAsSchema,
|
|
227
233
|
dsoParty: z.string().min(1),
|
|
228
234
|
request: z.discriminatedUnion("kind", [
|
|
229
235
|
z.object({
|
|
@@ -269,6 +275,7 @@ var cantonOneSigRequestContextRefreshSchema = z.object({
|
|
|
269
275
|
var oneSigConfigResolverFields = {
|
|
270
276
|
type: z.literal("oneSigConfigContext"),
|
|
271
277
|
informee: z.string().min(1),
|
|
278
|
+
readAs: oneSigReadAsSchema,
|
|
272
279
|
oappId: oneSigRequestIdentitySchema
|
|
273
280
|
};
|
|
274
281
|
var cantonOneSigConfigContextRefreshSchema = z.object({
|
|
@@ -316,6 +323,7 @@ var cantonOneSigScopeContextRefreshSchema = z.object({
|
|
|
316
323
|
resolver: z.object({
|
|
317
324
|
type: z.literal("oneSigScopeContext"),
|
|
318
325
|
informee: z.string().min(1),
|
|
326
|
+
readAs: oneSigReadAsSchema,
|
|
319
327
|
operation: z.enum([
|
|
320
328
|
"OpGrantRoles",
|
|
321
329
|
"OpRevokeRoles",
|
|
@@ -408,5 +416,5 @@ var cantonRefreshPlanSchema = z.object({
|
|
|
408
416
|
});
|
|
409
417
|
|
|
410
418
|
export { cantonActiveContractSelectionSchema, cantonArgumentRefreshTargetSchema, cantonFinalizeCallbackRefreshSchema, cantonOneSigConfigContextRefreshSchema, cantonOneSigDiscoveryContextRefreshSchema, cantonOneSigRequestContextRefreshSchema, cantonOneSigScopeContextRefreshSchema, cantonOneSigTransferBatchRefreshSchema, cantonOneSigTransferInstructionContextRefreshSchema, cantonRefreshPathSchema, cantonRefreshPathSegmentSchema, cantonRefreshPlanSchema, cantonRefreshSchema, cantonRefreshTargetSchema, cantonTransferInstructionAcceptContextRefreshSchema };
|
|
411
|
-
//# sourceMappingURL=
|
|
412
|
-
//# sourceMappingURL=
|
|
419
|
+
//# sourceMappingURL=UUUJS2PY.js.map
|
|
420
|
+
//# sourceMappingURL=UUUJS2PY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/refresh/plan.ts"],"names":["cantonRefreshPathSegmentSchema","z","union","object","field","string","min","index","number","int","nonnegative","damlMapKey","cantonRefreshPathSchema","array","cantonNestedRefreshPathSchema","exerciseEntrypointTargetSchema","commandIndex","command","literal","choice","optional","exerciseChoiceArgumentTargetSchema","arguments","path","cantonCreateArgumentTargetSchema","template","cantonRefreshTargetSchema","cantonArgumentRefreshTargetSchema","cantonNestedArgumentRefreshTargetSchema","extend","offsetMs","cantonSelectorFields","queryAs","cantonRefreshPartyFilterSchema","expectedSignatories","cantonExpectedSignatoriesSchema","stateFilter","record","unknown","cantonBaseContractSelectorSchema","templateId","interfaceId","never","cantonContractSelectorSchema","and","contractId","selector","cantonActiveContractValueSchema","cantonExactlyOneSelectionSchema","kind","cantonAllSelectionSchema","cantonGteSelectionSchema","value","cantonActiveContractSelectionSchema","discriminatedUnion","cantonActiveContractResolverFields","type","cantonActiveContractRefreshSchema","resolver","selection","targets","cantonActiveContractValueRefreshSchema","cantonAmuletContextRefreshSchema","dsoParty","receiver","amount","contractIdTargets","cantonTransferInstructionAcceptContextRefreshSchema","tuple","strict","callbackArgumentTarget","callbackOAppIdSchema","admin","id","callbackDecimalSchema","regex","callbackIdentityFields","instrumentId","localDecimals","sharedDecimals","rateLimiterScaleDecimals","cantonFinalizeCallbackRefreshSchema","pendingCallbackCid","informee","oappId","identity","treasury","mintEscrow","environment","callbackCidTargets","oneSigRequestIdentitySchema","oneSigReadAsSchema","cantonOneSigRequestContextRefreshSchema","readAs","request","oneSig","oneSigId","enum","oneSigConfigResolverFields","cantonOneSigConfigContextRefreshSchema","operation","expectedHandler","shape","cantonOneSigScopeContextRefreshSchema","scope","category","cantonOneSigDiscoveryContextRefreshSchema","feeDsoParty","cantonOneSigTransferInstructionContextRefreshSchema","transferInstructionCid","registryUrls","length","cantonOneSigTransferBatchRefreshSchema","cantonTimestampRefreshSchema","cantonRefreshSchema","cantonSentinelArgumentSchema","strictObject","options","cantonSentinelTargetSchema","cantonRefreshPlanSchema","commands","replaceSentinels"],"mappings":"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","file":"UUUJS2PY.js","sourcesContent":["import { z } from 'zod';\n\nimport { cantonExpectedSignatoriesSchema, cantonRefreshPartyFilterSchema } from '../deferredValue';\n\nexport const cantonRefreshPathSegmentSchema = z.union([\n z.object({ field: z.string().min(1) }),\n z.object({ index: z.number().int().nonnegative() }),\n z.object({ damlMapKey: z.string().min(1) }),\n]);\n\nexport const cantonRefreshPathSchema = z.array(cantonRefreshPathSegmentSchema);\nconst cantonNestedRefreshPathSchema = cantonRefreshPathSchema.min(1);\n\nconst exerciseEntrypointTargetSchema = z.object({\n commandIndex: z.number().int().nonnegative(),\n command: z.literal('exercise'),\n field: z.literal('contractId'),\n choice: z.string().min(1).optional(),\n});\n\nconst exerciseChoiceArgumentTargetSchema = z.object({\n commandIndex: z.number().int().nonnegative(),\n command: z.literal('exercise'),\n choice: z.string().min(1),\n arguments: z\n .array(\n z.object({\n path: cantonRefreshPathSchema,\n }),\n )\n .min(1),\n});\n\nconst cantonCreateArgumentTargetSchema = z.object({\n commandIndex: z.number().int().nonnegative(),\n command: z.literal('create'),\n template: z.string().min(1),\n arguments: z\n .array(\n z.object({\n path: cantonRefreshPathSchema,\n }),\n )\n .min(1),\n});\n\nexport const cantonRefreshTargetSchema = z.union([\n exerciseEntrypointTargetSchema,\n exerciseChoiceArgumentTargetSchema,\n cantonCreateArgumentTargetSchema,\n]);\n\nexport const cantonArgumentRefreshTargetSchema = z.union([\n exerciseChoiceArgumentTargetSchema,\n cantonCreateArgumentTargetSchema,\n]);\n\nconst cantonNestedArgumentRefreshTargetSchema = z.union([\n exerciseChoiceArgumentTargetSchema.extend({\n arguments: z\n .array(\n z.object({\n path: cantonNestedRefreshPathSchema,\n offsetMs: z.number().int().optional(),\n }),\n )\n .min(1),\n }),\n cantonCreateArgumentTargetSchema.extend({\n arguments: z\n .array(\n z.object({\n path: cantonNestedRefreshPathSchema,\n offsetMs: z.number().int().optional(),\n }),\n )\n .min(1),\n }),\n]);\n\nconst cantonSelectorFields = {\n queryAs: cantonRefreshPartyFilterSchema,\n expectedSignatories: cantonExpectedSignatoriesSchema,\n stateFilter: z.record(z.string(), z.unknown()).optional(),\n};\nconst cantonBaseContractSelectorSchema = z.union([\n z.object({\n ...cantonSelectorFields,\n templateId: z.string().min(1),\n interfaceId: z.never().optional(),\n }),\n z.object({\n ...cantonSelectorFields,\n interfaceId: z.string().min(1),\n templateId: z.never().optional(),\n }),\n]);\nconst cantonContractSelectorSchema = cantonBaseContractSelectorSchema.and(\n z.object({\n contractId: z\n .object({ selector: cantonBaseContractSelectorSchema, field: z.string().min(1) })\n .optional(),\n }),\n);\n\nconst cantonActiveContractValueSchema = z.object({\n selector: cantonContractSelectorSchema,\n field: z.string().min(1),\n});\n\nconst cantonExactlyOneSelectionSchema = z.object({ kind: z.literal('exactlyOne') });\nconst cantonAllSelectionSchema = z.object({ kind: z.literal('all') });\nconst cantonGteSelectionSchema = z.object({\n kind: z.literal('gte'),\n field: z.string().min(1),\n value: z.union([z.string().min(1), cantonActiveContractValueSchema]),\n});\n\nexport const cantonActiveContractSelectionSchema = z.discriminatedUnion('kind', [\n cantonExactlyOneSelectionSchema,\n cantonAllSelectionSchema,\n cantonGteSelectionSchema,\n]);\n\nconst cantonActiveContractResolverFields = {\n type: z.literal('activeContract'),\n selector: cantonContractSelectorSchema,\n};\n\nconst cantonActiveContractRefreshSchema = z.union([\n z.object({\n resolver: z.object({\n ...cantonActiveContractResolverFields,\n selection: cantonExactlyOneSelectionSchema,\n }),\n targets: z.array(cantonRefreshTargetSchema),\n }),\n z.object({\n resolver: z.object({\n ...cantonActiveContractResolverFields,\n selection: z.union([cantonAllSelectionSchema, cantonGteSelectionSchema]),\n }),\n targets: z.array(cantonArgumentRefreshTargetSchema).min(1),\n }),\n]);\n\nconst cantonActiveContractValueRefreshSchema = z.object({\n resolver: cantonActiveContractValueSchema.extend({\n type: z.literal('activeContractValue'),\n }),\n targets: z.array(cantonArgumentRefreshTargetSchema).min(1),\n});\n\nconst cantonAmuletContextRefreshSchema = z.object({\n resolver: z.object({\n type: z.literal('amuletContext'),\n dsoParty: z.string().min(1),\n // A transfer's receiver and amount, so the context includes the receiver's\n // TransferPreapproval. Omitted, the Wallet is probed with the admin and '0'.\n receiver: z.string().min(1).optional(),\n amount: z.string().min(1).optional(),\n }),\n targets: z.array(cantonArgumentRefreshTargetSchema).min(1),\n contractIdTargets: z.array(exerciseEntrypointTargetSchema).min(1).optional(),\n});\n\nexport const cantonTransferInstructionAcceptContextRefreshSchema = z\n .object({\n resolver: z.object({\n type: z.literal('transferInstructionAcceptContext'),\n contractId: z.string().min(1),\n }),\n targets: z\n .array(\n z\n .object({\n commandIndex: z.number().int().nonnegative(),\n command: z.literal('exercise'),\n choice: z.literal('TransferInstruction_Accept'),\n arguments: z\n .array(\n z\n .object({\n path: z.tuple([\n z.object({ field: z.literal('extraArgs') }).strict(),\n z.object({ field: z.literal('context') }).strict(),\n ]),\n })\n .strict(),\n )\n .min(1),\n })\n .strict(),\n )\n .min(1),\n })\n .strict();\n\nconst callbackArgumentTarget = <T extends 'executeContext' | 'callbackCid'>(field: T) =>\n z\n .object({\n commandIndex: z.number().int().nonnegative(),\n command: z.literal('exercise'),\n choice: z.literal('FinalizeCallback'),\n arguments: z.tuple([\n z\n .object({\n path: z.tuple([z.object({ field: z.literal(field) }).strict()]),\n })\n .strict(),\n ]),\n })\n .strict();\n\nconst callbackOAppIdSchema = z.object({ admin: z.string().min(1), id: z.string().min(1) }).strict();\nconst callbackDecimalSchema = z.string().regex(/^\\d+$/);\nconst callbackIdentityFields = {\n instrumentId: callbackOAppIdSchema,\n localDecimals: callbackDecimalSchema,\n sharedDecimals: callbackDecimalSchema,\n rateLimiterScaleDecimals: callbackDecimalSchema,\n};\nexport const cantonFinalizeCallbackRefreshSchema = z\n .object({\n resolver: z\n .object({\n type: z.literal('finalizeCallback'),\n pendingCallbackCid: z.string().min(1),\n informee: z.string().min(1),\n oappId: callbackOAppIdSchema,\n identity: z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('oft-self'), ...callbackIdentityFields }).strict(),\n z\n .object({\n kind: z.literal('lock-unlock-adapter'),\n ...callbackIdentityFields,\n treasury: z.string().min(1),\n })\n .strict(),\n z\n .object({\n kind: z.literal('burn-mint-adapter'),\n ...callbackIdentityFields,\n mintEscrow: z.string().min(1),\n })\n .strict(),\n ]),\n environment: z.string().optional(),\n })\n .strict(),\n targets: z.array(callbackArgumentTarget('executeContext')).min(1),\n callbackCidTargets: z.array(callbackArgumentTarget('callbackCid')).min(1),\n })\n .strict();\n\nexport type CantonFinalizeCallbackRefresh = z.infer<typeof cantonFinalizeCallbackRefreshSchema>;\n\nconst oneSigRequestIdentitySchema = z\n .object({ admin: z.string().min(1), id: z.string().min(1) })\n .strict();\n\n// Extra parties the resolver also reads the ledger as; package lookups stay on `informee`.\nconst oneSigReadAsSchema = z.array(z.string().min(1)).min(1).optional();\n\nexport const cantonOneSigRequestContextRefreshSchema = z\n .object({\n resolver: z\n .object({\n type: z.literal('oneSigRequestContext'),\n informee: z.string().min(1),\n readAs: oneSigReadAsSchema,\n dsoParty: z.string().min(1),\n request: z.discriminatedUnion('kind', [\n z\n .object({\n kind: z.literal('request'),\n oneSig: z\n .object({\n admin: z.string().min(1),\n oneSigId: z.string().regex(/^(0|[1-9]\\d*)$/),\n })\n .strict(),\n })\n .strict(),\n z\n .object({\n kind: z.enum(['oappRequest', 'oappAccept']),\n oappId: oneSigRequestIdentitySchema,\n })\n .strict(),\n ]),\n })\n .strict(),\n targets: z\n .array(\n z\n .object({\n commandIndex: z.number().int().nonnegative(),\n command: z.literal('exercise'),\n choice: z.literal('OneSig_ExecuteTransaction'),\n arguments: z.tuple([\n z\n .object({\n path: z.tuple([\n z.object({ field: z.literal('transaction') }).strict(),\n z.object({ field: z.literal('calls') }).strict(),\n z\n .object({ index: z.number().int().nonnegative() })\n .strict(),\n z.object({ field: z.literal('context') }).strict(),\n ]),\n })\n .strict(),\n ]),\n })\n .strict(),\n )\n .min(1),\n })\n .strict();\n\nexport type CantonOneSigRequestContextRefresh = z.infer<\n typeof cantonOneSigRequestContextRefreshSchema\n>;\n\nconst oneSigConfigResolverFields = {\n type: z.literal('oneSigConfigContext'),\n informee: z.string().min(1),\n readAs: oneSigReadAsSchema,\n oappId: oneSigRequestIdentitySchema,\n};\n\nexport const cantonOneSigConfigContextRefreshSchema = z\n .object({\n resolver: z.discriminatedUnion('operation', [\n z\n .object({\n ...oneSigConfigResolverFields,\n operation: z.enum([\n 'OpAddToBlacklist',\n 'OpRemoveFromBlacklist',\n 'OpAddToWhitelist',\n 'OpRemoveFromWhitelist',\n 'OpSetAllowlistMode',\n 'OpRateLimiterSetDefault',\n 'OpRateLimiterSetEidOverride',\n 'OpRateLimiterRemoveEidOverride',\n 'OpRateLimiterSetGlobalFlags',\n 'OpRateLimiterSetAddressExemption',\n 'OpRateLimiterSetState',\n 'OpPauseLocalTransfers',\n 'OpUnpauseLocalTransfers',\n 'OpPauseDstEids',\n 'OpUnpauseDstEids',\n 'OpSetLedgerTimeValidityPeriod',\n 'OpSetPeer',\n 'OpSetFeeBps',\n 'OpSetFeeDeposit',\n 'OpSetEnforcedOptions',\n 'OpRemoveEnforcedOption',\n 'OpSetCostAsserts',\n 'OpRemoveCostAsserts',\n 'OpSetTransferRule',\n 'OpSetOfferExpiryDelayPeriod',\n 'OpSetObservers',\n ]),\n })\n .strict(),\n z\n .object({\n ...oneSigConfigResolverFields,\n operation: z.literal('OpSetRequestFactory'),\n expectedHandler: z.string().min(1),\n })\n .strict(),\n ]),\n targets: cantonOneSigRequestContextRefreshSchema.shape.targets,\n })\n .strict();\n\nexport type CantonOneSigConfigContextRefresh = z.infer<\n typeof cantonOneSigConfigContextRefreshSchema\n>;\n\nexport const cantonOneSigScopeContextRefreshSchema = z\n .object({\n resolver: z\n .object({\n type: z.literal('oneSigScopeContext'),\n informee: z.string().min(1),\n readAs: oneSigReadAsSchema,\n operation: z.enum([\n 'OpGrantRoles',\n 'OpRevokeRoles',\n 'OpProposeDefaultAdmin',\n 'OpCancelProposeDefaultAdmin',\n 'OpAcceptDefaultAdmin',\n 'OpSetMinFee',\n 'OpSetMinPayoutValue',\n 'OpSetProtocolLedgerTimeValidityPeriod',\n ]),\n scope: z\n .object({ category: z.string(), id: z.string(), admin: z.string().min(1) })\n .strict(),\n })\n .strict(),\n targets: cantonOneSigRequestContextRefreshSchema.shape.targets,\n })\n .strict();\nexport type CantonOneSigScopeContextRefresh = z.infer<typeof cantonOneSigScopeContextRefreshSchema>;\n\nexport const cantonOneSigDiscoveryContextRefreshSchema = z\n .object({\n resolver: z\n .object({\n type: z.literal('oneSigDiscoveryContext'),\n informee: z.string().min(1),\n oappId: oneSigRequestIdentitySchema,\n feeDsoParty: z.string().min(1).optional(),\n })\n .strict(),\n targets: cantonOneSigRequestContextRefreshSchema.shape.targets,\n })\n .strict();\nexport type CantonOneSigDiscoveryContextRefresh = z.infer<\n typeof cantonOneSigDiscoveryContextRefreshSchema\n>;\n\nexport const cantonOneSigTransferInstructionContextRefreshSchema = z\n .object({\n resolver: z\n .object({\n type: z.literal('oneSigTransferInstructionContext'),\n admin: z.string().min(1),\n informee: z.string().min(1),\n transferInstructionCid: z.string().min(1),\n environment: z.string().optional(),\n registryUrls: z.record(z.string(), z.string()).optional(),\n })\n .strict(),\n targets: cantonOneSigRequestContextRefreshSchema.shape.targets.length(1),\n })\n .strict();\n\nexport type CantonOneSigTransferInstructionContextRefresh = z.infer<\n typeof cantonOneSigTransferInstructionContextRefreshSchema\n>;\n\nexport const cantonOneSigTransferBatchRefreshSchema = z\n .object({\n resolver: z\n .object({\n type: z.literal('oneSigTransferBatch'),\n admin: z.string().min(1),\n informee: z.string().min(1),\n environment: z.string().optional(),\n registryUrls: z.record(z.string(), z.string()).optional(),\n })\n .strict(),\n targets: cantonOneSigRequestContextRefreshSchema.shape.targets,\n })\n .strict();\nexport type CantonOneSigTransferBatchRefresh = z.infer<\n typeof cantonOneSigTransferBatchRefreshSchema\n>;\n\nconst cantonTimestampRefreshSchema = z.object({\n resolver: z.object({\n type: z.literal('timestamp'),\n }),\n targets: z.array(cantonNestedArgumentRefreshTargetSchema).min(1),\n});\n\nexport const cantonRefreshSchema = z.union([\n cantonActiveContractRefreshSchema,\n cantonActiveContractValueRefreshSchema,\n cantonAmuletContextRefreshSchema,\n cantonTransferInstructionAcceptContextRefreshSchema,\n cantonTimestampRefreshSchema,\n cantonFinalizeCallbackRefreshSchema,\n cantonOneSigRequestContextRefreshSchema,\n cantonOneSigConfigContextRefreshSchema,\n cantonOneSigScopeContextRefreshSchema,\n cantonOneSigDiscoveryContextRefreshSchema,\n cantonOneSigTransferInstructionContextRefreshSchema,\n cantonOneSigTransferBatchRefreshSchema,\n]);\n\nconst cantonSentinelArgumentSchema = z.strictObject({\n path: z.array(\n z.union([\n cantonRefreshPathSegmentSchema.options[0].strict(),\n cantonRefreshPathSegmentSchema.options[1].strict(),\n cantonRefreshPathSegmentSchema.options[2].strict(),\n ]),\n ),\n});\nconst cantonSentinelTargetSchema = z.union([\n exerciseChoiceArgumentTargetSchema\n .extend({ arguments: z.array(cantonSentinelArgumentSchema).min(1) })\n .strict(),\n cantonCreateArgumentTargetSchema\n .extend({ arguments: z.array(cantonSentinelArgumentSchema).min(1) })\n .strict(),\n]);\n\nexport const cantonRefreshPlanSchema = z.object({\n commands: z.array(cantonRefreshSchema).min(1),\n replaceSentinels: z\n .array(\n z.strictObject({\n kind: z.literal('senderParty'),\n targets: z.array(cantonSentinelTargetSchema).min(1),\n }),\n )\n .min(1)\n .optional(),\n});\n\nexport type CantonRefreshPathSegment = z.infer<typeof cantonRefreshPathSegmentSchema>;\nexport type CantonRefreshPath = z.infer<typeof cantonRefreshPathSchema>;\nexport type ExerciseEntrypointTargetField = Pick<\n z.infer<typeof exerciseEntrypointTargetSchema>,\n 'field'\n>;\nexport type ExerciseChoiceArgumentTargetField = Pick<\n z.infer<typeof exerciseChoiceArgumentTargetSchema>,\n 'choice' | 'arguments'\n>;\nexport type CantonRefreshTarget = z.infer<typeof cantonRefreshTargetSchema>;\nexport type CantonArgumentRefreshTarget = z.infer<typeof cantonArgumentRefreshTargetSchema>;\nexport type CantonContractSelector = z.infer<typeof cantonContractSelectorSchema>;\nexport type CantonActiveContractSelection = z.infer<typeof cantonActiveContractSelectionSchema>;\nexport type CantonActiveContractRefresh = z.infer<typeof cantonActiveContractRefreshSchema>;\nexport type CantonAmuletContextRefresh = z.infer<typeof cantonAmuletContextRefreshSchema>;\nexport type CantonTimestampRefresh = z.infer<typeof cantonTimestampRefreshSchema>;\nexport type CantonRefresh = z.infer<typeof cantonRefreshSchema>;\nexport type CantonRefreshPlan = z.infer<typeof cantonRefreshPlanSchema>;\n\nexport type CantonActiveContractValue = z.infer<typeof cantonActiveContractValueSchema>;\nexport type CantonActiveContractValueRefresh = z.infer<\n typeof cantonActiveContractValueRefreshSchema\n>;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { canonicalizeDamlDecimal } from './
|
|
1
|
+
import { canonicalizeDamlDecimal } from './KDLPAZ3P.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
@@ -8,5 +8,5 @@ var minFeeArgSchema = z.object({
|
|
|
8
8
|
var parseMinFeeValue = /* @__PURE__ */ __name((createArgument) => canonicalizeDamlDecimal(minFeeArgSchema.parse(createArgument).minFee), "parseMinFeeValue");
|
|
9
9
|
|
|
10
10
|
export { parseMinFeeValue };
|
|
11
|
-
//# sourceMappingURL=
|
|
12
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=W3ZJSUA6.js.map
|
|
12
|
+
//# sourceMappingURL=W3ZJSUA6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/minFee.ts"],"names":["minFeeArgSchema","z","object","minFee","string","parseMinFeeValue","createArgument","canonicalizeDamlDecimal","parse"],"mappings":";;;;AAIA,IAAMA,eAAAA,GAAkBC,EAAEC,MAAAA,CAAO;AAAEC,EAAAA,MAAAA,EAAQF,EAAEG,MAAAA;AAAS,CAAA,CAAA;AAM/C,IAAMC,gBAAAA,2BAAoBC,cAAAA,KAC7BC,uBAAAA,CAAwBP,gBAAgBQ,KAAAA,CAAMF,cAAAA,CAAAA,CAAgBH,MAAM,CAAA,EADxC,kBAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/minFee.ts"],"names":["minFeeArgSchema","z","object","minFee","string","parseMinFeeValue","createArgument","canonicalizeDamlDecimal","parse"],"mappings":";;;;AAIA,IAAMA,eAAAA,GAAkBC,EAAEC,MAAAA,CAAO;AAAEC,EAAAA,MAAAA,EAAQF,EAAEG,MAAAA;AAAS,CAAA,CAAA;AAM/C,IAAMC,gBAAAA,2BAAoBC,cAAAA,KAC7BC,uBAAAA,CAAwBP,gBAAgBQ,KAAAA,CAAMF,cAAAA,CAAAA,CAAgBH,MAAM,CAAA,EADxC,kBAAA","file":"W3ZJSUA6.js","sourcesContent":["import { z } from 'zod';\n\nimport { canonicalizeDamlDecimal } from './types';\n\nconst minFeeArgSchema = z.object({ minFee: z.string() });\n\n/**\n * Extract and canonicalize the `minFee` Daml Decimal from an IMinFee contract's\n * `createArgument`. Throws a ZodError if the shape doesn't match.\n */\nexport const parseMinFeeValue = (createArgument: unknown): string =>\n canonicalizeDamlDecimal(minFeeArgSchema.parse(createArgument).minFee);\n"]}
|
|
@@ -15,13 +15,18 @@ var exactlyOne = /* @__PURE__ */ __name((contracts, label) => {
|
|
|
15
15
|
var resolveCantonOneSigConfigContext = /* @__PURE__ */ __name(async (sdk, input) => {
|
|
16
16
|
const { oappId, operation } = input;
|
|
17
17
|
const offset = await sdk.getLedgerEndOffset();
|
|
18
|
+
const parties = [
|
|
19
|
+
.../* @__PURE__ */ new Set([
|
|
20
|
+
input.informee,
|
|
21
|
+
...input.readAs ?? []
|
|
22
|
+
])
|
|
23
|
+
];
|
|
18
24
|
const sameIdentity = /* @__PURE__ */ __name((value) => getCreateArgumentField(value, "admin") === oappId.admin && getCreateArgumentField(value, "id") === oappId.id, "sameIdentity");
|
|
19
25
|
const templateContracts = /* @__PURE__ */ __name(async (templateId, admin) => {
|
|
20
26
|
const [name, ...entity] = templateId.slice(1).split(":");
|
|
21
|
-
return (await sdk.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
],
|
|
27
|
+
return (await sdk.queryActiveContractsByParties(parties, offset, [
|
|
28
|
+
templateId
|
|
29
|
+
], {
|
|
25
30
|
includeCreatedEventBlob: true
|
|
26
31
|
})).filter(({ createdEvent }) => createdEvent.packageName === name && createdEvent.templateId.split(":").slice(1).join(":") === entity.join(":") && areExpectedSignatories(createdEvent, [
|
|
27
32
|
admin
|
|
@@ -33,9 +38,7 @@ var resolveCantonOneSigConfigContext = /* @__PURE__ */ __name(async (sdk, input)
|
|
|
33
38
|
input.informee
|
|
34
39
|
]);
|
|
35
40
|
const resolvedId = `${packageId}:${entity.join(":")}`;
|
|
36
|
-
return (await sdk.queryActiveContractsByInterface([
|
|
37
|
-
input.informee
|
|
38
|
-
], offset, [
|
|
41
|
+
return (await sdk.queryActiveContractsByInterface(parties, offset, [
|
|
39
42
|
interfaceId
|
|
40
43
|
], {
|
|
41
44
|
includeCreatedEventBlob: true
|
|
@@ -98,5 +101,5 @@ var resolveCantonOneSigConfigContext = /* @__PURE__ */ __name(async (sdk, input)
|
|
|
98
101
|
}, "resolveCantonOneSigConfigContext");
|
|
99
102
|
|
|
100
103
|
export { resolveCantonOneSigConfigContext };
|
|
101
|
-
//# sourceMappingURL=
|
|
102
|
-
//# sourceMappingURL=
|
|
104
|
+
//# sourceMappingURL=XKBA43N7.js.map
|
|
105
|
+
//# sourceMappingURL=XKBA43N7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/refresh/onesig-config.ts"],"names":["OAPP_CONFIG","ACCESS_CONTROL","RATE_STATE","TRANSFER_RULE","REQUEST_FACTORY","exactlyOne","contracts","label","length","Error","resolveCantonOneSigConfigContext","sdk","input","oappId","operation","offset","getLedgerEndOffset","parties","Set","informee","readAs","sameIdentity","value","getCreateArgumentField","admin","id","templateContracts","templateId","name","entity","slice","split","queryActiveContractsByParties","includeCreatedEventBlob","filter","createdEvent","packageName","join","areExpectedSignatories","interfaceContracts","interfaceId","packageId","getPackageId","resolvedId","queryActiveContractsByInterface","flatMap","contract","views","interfaceViews","view","viewStatus","code","viewValue","disclosedContracts","disclose","push","callbackDisclosure","contractId","configs","accessControls","Promise","all","configCid","map","matchingAccess","scope","accessControlCid","rateLimitStateCid","includes","createArgument","newTransferRuleCid","newRequestFactoryCid","expectedHandler","context","tag"],"mappings":"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","file":"XKBA43N7.js","sourcesContent":["import type { JsActiveContract } from '../open-api/models';\nimport type { CantonSdk } from '../sdk/canton-sdk';\nimport type { CantonDisclosedContract } from '../transaction';\nimport { areExpectedSignatories, getCreateArgumentField } from '../trusted-origin';\nimport { callbackDisclosure } from './callback-contracts';\nimport type { CantonOneSigConfigContextRefresh } from './plan';\n\nconst OAPP_CONFIG = '#layerzero-ioapp-config:IOAppConfig:IOAppConfig';\nconst ACCESS_CONTROL = '#layerzero-iaccess-control:IAccessControl:IAccessControl';\nconst RATE_STATE = '#layerzero-rate-limiter:RateLimiterState:RateLimiterState';\nconst TRANSFER_RULE = '#layerzero-oft:Transfer.OftTransferRule:OftTransferRule';\nconst REQUEST_FACTORY = '#layerzero-request-factory:RequestFactory:RequestFactory';\n\ntype Input = CantonOneSigConfigContextRefresh['resolver'];\nexport type CantonOneSigConfigContext = {\n tag: 'ConfigContext';\n value: {\n configCid: string;\n accessControlCid: string | null;\n rateLimitStateCid: string | null;\n newTransferRuleCid: string | null;\n newRequestFactoryCid: string | null;\n };\n};\nconst exactlyOne = (contracts: JsActiveContract[], label: string): JsActiveContract => {\n if (contracts.length !== 1)\n throw new Error(`Expected exactly one ${label}, found ${contracts.length}`);\n return contracts[0]!;\n};\n\nexport const resolveCantonOneSigConfigContext = async (\n sdk: CantonSdk,\n input: Input,\n): Promise<{\n context: CantonOneSigConfigContext;\n disclosedContracts: CantonDisclosedContract[];\n}> => {\n const { oappId, operation } = input;\n const offset = await sdk.getLedgerEndOffset();\n const parties = [...new Set([input.informee, ...(input.readAs ?? [])])];\n const sameIdentity = (value: unknown): boolean =>\n getCreateArgumentField(value, 'admin') === oappId.admin &&\n getCreateArgumentField(value, 'id') === oappId.id;\n const templateContracts = async (templateId: string, admin: string) => {\n const [name, ...entity] = templateId.slice(1).split(':');\n return (\n await sdk.queryActiveContractsByParties(parties, offset, [templateId], {\n includeCreatedEventBlob: true,\n })\n ).filter(\n ({ createdEvent }) =>\n createdEvent.packageName === name &&\n createdEvent.templateId.split(':').slice(1).join(':') === entity.join(':') &&\n areExpectedSignatories(createdEvent, [admin]),\n );\n };\n const interfaceContracts = async (interfaceId: string) => {\n const [name, ...entity] = interfaceId.slice(1).split(':');\n const packageId = await sdk.getPackageId(name!, [input.informee]);\n const resolvedId = `${packageId}:${entity.join(':')}`;\n return (\n await sdk.queryActiveContractsByInterface(parties, offset, [interfaceId], {\n includeCreatedEventBlob: true,\n })\n ).flatMap((contract) => {\n const views =\n contract.createdEvent.interfaceViews?.filter(\n (view) => view.interfaceId === resolvedId,\n ) ?? [];\n const view = views[0];\n return views.length === 1 &&\n view?.viewStatus?.code === 0 &&\n view.viewValue &&\n areExpectedSignatories(contract.createdEvent, [oappId.admin])\n ? [{ contract, view: view.viewValue as Record<string, unknown> }]\n : [];\n });\n };\n const disclosedContracts: CantonDisclosedContract[] = [];\n const disclose = (contract: JsActiveContract) => {\n disclosedContracts.push(callbackDisclosure(contract));\n return contract.createdEvent.contractId;\n };\n const [configs, accessControls] = await Promise.all([\n interfaceContracts(OAPP_CONFIG),\n interfaceContracts(ACCESS_CONTROL),\n ]);\n const configCid = disclose(\n exactlyOne(\n configs.filter(({ view }) => sameIdentity(view.oappId)).map(({ contract }) => contract),\n 'OApp config',\n ),\n );\n const matchingAccess = accessControls.filter(\n ({ view }) =>\n sameIdentity(view.scope) && getCreateArgumentField(view.scope, 'category') === 'oapp',\n );\n if (matchingAccess.length > 1) throw new Error('Ambiguous OApp access control');\n const accessControlCid = matchingAccess[0] ? disclose(matchingAccess[0].contract) : null;\n let rateLimitStateCid: string | null = null;\n if (\n [\n 'OpRateLimiterSetDefault',\n 'OpRateLimiterSetEidOverride',\n 'OpRateLimiterRemoveEidOverride',\n 'OpRateLimiterSetState',\n ].includes(operation)\n ) {\n rateLimitStateCid = disclose(\n exactlyOne(\n (await templateContracts(RATE_STATE, oappId.admin)).filter(({ createdEvent }) =>\n sameIdentity(getCreateArgumentField(createdEvent.createArgument, 'oappId')),\n ),\n 'rate limiter state',\n ),\n );\n }\n let newTransferRuleCid: string | null = null;\n if (operation === 'OpSetTransferRule') {\n newTransferRuleCid = disclose(\n exactlyOne(\n (await templateContracts(TRANSFER_RULE, oappId.admin)).filter(({ createdEvent }) =>\n sameIdentity(\n getCreateArgumentField(createdEvent.createArgument, 'instrumentId'),\n ),\n ),\n 'transfer rule',\n ),\n );\n }\n let newRequestFactoryCid: string | null = null;\n if (operation === 'OpSetRequestFactory') {\n newRequestFactoryCid = disclose(\n exactlyOne(\n (await templateContracts(REQUEST_FACTORY, input.expectedHandler)).filter(\n ({ createdEvent }) =>\n getCreateArgumentField(createdEvent.createArgument, 'handler') ===\n input.expectedHandler,\n ),\n 'replacement request factory',\n ),\n );\n }\n return {\n context: {\n tag: 'ConfigContext',\n value: {\n configCid,\n accessControlCid,\n rateLimitStateCid,\n newTransferRuleCid,\n newRequestFactoryCid,\n },\n },\n disclosedContracts,\n };\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { postRegistryJson } from './TLQX4ZQW.js';
|
|
2
|
-
import { cantonDisclosedContractSchema } from './
|
|
2
|
+
import { cantonDisclosedContractSchema } from './MM7EIOP4.js';
|
|
3
3
|
import { CantonProtocolError } from './NYEJEKEY.js';
|
|
4
4
|
import { __name } from './VUOMXK5T.js';
|
|
5
5
|
import { z } from 'zod';
|
|
@@ -53,7 +53,7 @@ var fetchAmuletTransferFactoryContext = /* @__PURE__ */ __name(async (walletUrl,
|
|
|
53
53
|
};
|
|
54
54
|
}, "fetchAmuletTransferFactoryContext");
|
|
55
55
|
var CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS = 60 * 60 * 1e3;
|
|
56
|
-
var fetchAmuletContext = /* @__PURE__ */ __name(async (walletUrl, token, instrumentId) => {
|
|
56
|
+
var fetchAmuletContext = /* @__PURE__ */ __name(async (walletUrl, token, instrumentId, { receiver = instrumentId.admin, amount = "0" } = {}) => {
|
|
57
57
|
const now = /* @__PURE__ */ new Date();
|
|
58
58
|
const later = new Date(now.getTime() + CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS);
|
|
59
59
|
const response = await fetch(new URL("/api/validator/v0/scan-proxy/registry/transfer-instruction/v1/transfer-factory", walletUrl), {
|
|
@@ -67,8 +67,8 @@ var fetchAmuletContext = /* @__PURE__ */ __name(async (walletUrl, token, instrum
|
|
|
67
67
|
expectedAdmin: instrumentId.admin,
|
|
68
68
|
transfer: {
|
|
69
69
|
sender: instrumentId.admin,
|
|
70
|
-
receiver
|
|
71
|
-
amount
|
|
70
|
+
receiver,
|
|
71
|
+
amount,
|
|
72
72
|
instrumentId,
|
|
73
73
|
requestedAt: now.toISOString(),
|
|
74
74
|
executeBefore: later.toISOString(),
|
|
@@ -202,5 +202,5 @@ var toDisclosedContract = /* @__PURE__ */ __name((entry) => ({
|
|
|
202
202
|
}), "toDisclosedContract");
|
|
203
203
|
|
|
204
204
|
export { AMULET_INSTRUMENT_ID, fetchAcceptContext, fetchAmuletContext, fetchAmuletRules, fetchAmuletTransferFactoryContext, fetchDsoParty, fetchOpenAndIssuingMiningRounds, fetchTransferInstructionContext, findAmuletRulesDisclosures, injectExternalPartyAmuletRules, toDisclosedContract };
|
|
205
|
-
//# sourceMappingURL=
|
|
206
|
-
//# sourceMappingURL=
|
|
205
|
+
//# sourceMappingURL=XWNGGI4V.js.map
|
|
206
|
+
//# sourceMappingURL=XWNGGI4V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client/amulet.ts"],"names":["AMULET_INSTRUMENT_ID","amuletFactoryResponseSchema","z","object","factoryId","string","min","choiceContext","choiceContextData","values","record","unknown","optional","disclosedContracts","array","cantonDisclosedContractSchema","extend","contractId","createdEventBlob","synchronizerId","fetchAmuletTransferFactoryContext","walletUrl","token","args","parsed","safeParse","postRegistryJson","URL","toString","choiceArguments","expectedAdmin","instrumentId","admin","transfer","meta","extraArgs","context","probeName","headers","Authorization","success","Error","data","CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS","fetchAmuletContext","receiver","amount","now","Date","later","getTime","response","fetch","method","body","JSON","stringify","sender","requestedAt","toISOString","executeBefore","inputHoldingCids","ok","text","CantonProtocolError","status","json","amuletContext","findDisclosure","templateSuffix","contract","find","templateId","endsWith","findAmuletRulesDisclosures","amuletRules","openMiningRound","fetchTransferInstructionContext","encodeURIComponent","choice","excludeDebugFields","fetchAcceptContext","injectExternalPartyAmuletRules","externalRulesContract","tag","value","externalPartyAmuletRulesCid","fetchDsoParty","dso_party_id","scanProxyGet","path","fetchAmuletRules","amulet_rules","fetchOpenAndIssuingMiningRounds","open_mining_rounds","issuing_mining_rounds","toDisclosedContract","entry","contract_id","template_id","created_event_blob","domain_id"],"mappings":"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","file":"XWNGGI4V.js","sourcesContent":["import { z } from 'zod';\n\nimport type { TokenProvider } from '../auth/token-provider';\nimport { CantonProtocolError } from '../errors';\nimport { postRegistryJson, type TransferFactoryContext } from '../refresh/registry-context';\nimport { type CantonDisclosedContract, cantonDisclosedContractSchema } from '../transaction';\n\n/** Validator-wallet access a {@link CantonClient} needs to serve amulet endpoints. */\nexport type CantonClientWalletConfig = {\n /** Validator wallet URL for scan-proxy CIP-56 endpoints. */\n walletUrl: string;\n /** Bearer-token source for wallet requests. */\n tokenProvider: TokenProvider;\n};\n\n/** The single Amulet instrument id used across Canton Network fee flows. */\nexport const AMULET_INSTRUMENT_ID = 'Amulet';\n\n/** Instrument identifier for an amulet context probe. */\nexport type InstrumentId = { admin: string; id: string };\n\n/** DAML ChoiceContext — a bag of named AnyValues passed to fee-bearing choices. */\nexport type ChoiceContext = { values: Record<string, unknown> };\n\nexport type AmuletTransferFactoryArgs = {\n instrumentId: InstrumentId;\n sender: string;\n receiver: string;\n amount: string;\n inputHoldingCids: string[];\n requestedAt: string;\n executeBefore: string;\n};\n\nconst amuletFactoryResponseSchema = z.object({\n factoryId: z.string().min(1),\n choiceContext: z.object({\n choiceContextData: z\n .object({ values: z.record(z.string(), z.unknown()).optional() })\n .optional(),\n disclosedContracts: z\n .array(\n cantonDisclosedContractSchema.extend({\n contractId: z.string().min(1),\n createdEventBlob: z.string().min(1),\n synchronizerId: z.string().min(1),\n }),\n )\n .optional(),\n }),\n});\n\nexport const fetchAmuletTransferFactoryContext = async (\n walletUrl: string,\n token: string,\n args: AmuletTransferFactoryArgs,\n): Promise<TransferFactoryContext> => {\n const parsed = amuletFactoryResponseSchema.safeParse(\n await postRegistryJson(\n new URL(\n '/api/validator/v0/scan-proxy/registry/transfer-instruction/v1/transfer-factory',\n walletUrl,\n ).toString(),\n {\n choiceArguments: {\n expectedAdmin: args.instrumentId.admin,\n transfer: { ...args, meta: { values: {} } },\n extraArgs: { context: { values: {} }, meta: { values: {} } },\n },\n },\n { probeName: 'amulet transfer-factory', headers: { Authorization: `Bearer ${token}` } },\n ),\n );\n if (!parsed.success)\n throw new Error('Amulet transfer-factory response failed schema validation');\n return {\n factoryId: parsed.data.factoryId,\n choiceContext: { values: parsed.data.choiceContext.choiceContextData?.values ?? {} },\n disclosedContracts: parsed.data.choiceContext.disclosedContracts ?? [],\n };\n};\n\nexport type AmuletContextResult = {\n amuletContext: ChoiceContext;\n disclosedContracts: CantonDisclosedContract[];\n externalPartyAmuletRulesCid: string;\n};\n\n// The probe never executes — it only fetches context; 1-hour window is ample.\nconst CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS = 60 * 60 * 1000;\n\n/** Transfer fields for the amulet context probe. Omitted fields default to a zero-amount admin self-transfer. */\nexport type AmuletContextOptions = {\n /**\n * Transfer receiver. Defaults to `instrumentId.admin`. The registry includes a receiver's\n * TransferPreapproval in the context only when asked about that receiver.\n */\n receiver?: string;\n /** Daml Decimal amount string. Defaults to `'0'`. */\n amount?: string;\n};\n\ntype AmuletContextResponse = {\n choiceContext: {\n disclosedContracts: CantonDisclosedContract[];\n choiceContextData: ChoiceContext;\n };\n};\n\n/** Amulet ChoiceContext from the validator scan-proxy — same call for all fee-bearing choices. */\nexport const fetchAmuletContext = async (\n walletUrl: string,\n token: string,\n instrumentId: InstrumentId,\n { receiver = instrumentId.admin, amount = '0' }: AmuletContextOptions = {},\n): Promise<{ amuletContext: ChoiceContext; disclosedContracts: CantonDisclosedContract[] }> => {\n const now = new Date();\n const later = new Date(now.getTime() + CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS);\n\n const response = await fetch(\n new URL(\n '/api/validator/v0/scan-proxy/registry/transfer-instruction/v1/transfer-factory',\n walletUrl,\n ),\n {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n choiceArguments: {\n expectedAdmin: instrumentId.admin,\n transfer: {\n sender: instrumentId.admin,\n receiver,\n amount,\n instrumentId,\n requestedAt: now.toISOString(),\n executeBefore: later.toISOString(),\n inputHoldingCids: [],\n meta: { values: {} },\n },\n extraArgs: { context: { values: {} }, meta: { values: {} } },\n },\n }),\n },\n );\n\n if (!response.ok) {\n const text = await response.text();\n throw new CantonProtocolError(`Failed to get amulet context: ${response.status} ${text}`);\n }\n\n const data = (await response.json()) as AmuletContextResponse;\n const { disclosedContracts, choiceContextData: amuletContext } = data.choiceContext;\n\n return { amuletContext, disclosedContracts };\n};\n\nconst findDisclosure = (\n disclosedContracts: CantonDisclosedContract[],\n templateSuffix: string,\n): CantonDisclosedContract => {\n const contract = disclosedContracts.find(({ templateId }) =>\n templateId?.endsWith(templateSuffix),\n );\n\n if (!contract) {\n throw new CantonProtocolError(`${templateSuffix} not found in amulet context`);\n }\n\n return contract;\n};\n\n/** The AmuletRules and OpenMiningRound an amulet context discloses, as `AmuletRules_*` choices need. */\nexport const findAmuletRulesDisclosures = (\n disclosedContracts: CantonDisclosedContract[],\n): { amuletRules: CantonDisclosedContract; openMiningRound: CantonDisclosedContract } => ({\n amuletRules: findDisclosure(disclosedContracts, ':Splice.AmuletRules:AmuletRules'),\n openMiningRound: findDisclosure(disclosedContracts, ':Splice.Round:OpenMiningRound'),\n});\n\n// Validators disagree on where they nest the accept context: some return it under\n// `choiceContext.choiceContextData`, others at the top level, with or without a `values` wrapper.\ntype AcceptContextResponse = {\n choiceContextData?: { values?: Record<string, unknown> } | Record<string, unknown>;\n choiceContext?: {\n choiceContextData?: { values?: Record<string, unknown> };\n disclosedContracts?: CantonDisclosedContract[];\n };\n disclosedContracts?: CantonDisclosedContract[];\n};\n\nexport type TransferInstructionAcceptContextResult = {\n choiceContext: ChoiceContext;\n disclosedContracts: CantonDisclosedContract[];\n};\n\nexport type TransferInstructionChoice = 'accept' | 'reject' | 'withdraw';\n\nexport const fetchTransferInstructionContext = async (args: {\n walletUrl: string;\n token: string;\n contractId: string;\n choice: TransferInstructionChoice;\n}): Promise<TransferInstructionAcceptContextResult> => {\n const response = await fetch(\n new URL(\n `/api/validator/v0/scan-proxy/registry/transfer-instruction/v1/${encodeURIComponent(\n args.contractId,\n )}/choice-contexts/${args.choice}`,\n args.walletUrl,\n ),\n {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${args.token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ excludeDebugFields: true }),\n },\n );\n\n if (!response.ok) {\n const text = await response.text();\n throw new CantonProtocolError(\n `Failed to get ${args.choice} context: ${response.status} ${text}`,\n );\n }\n\n const data = (await response.json()) as AcceptContextResponse;\n const choiceContextData = data.choiceContext?.choiceContextData ??\n data.choiceContextData ?? { values: {} };\n const disclosedContracts =\n data.choiceContext?.disclosedContracts ?? data.disclosedContracts ?? [];\n const values =\n 'values' in choiceContextData &&\n choiceContextData.values &&\n typeof choiceContextData.values === 'object'\n ? (choiceContextData.values as Record<string, unknown>)\n : choiceContextData;\n\n return { choiceContext: { values }, disclosedContracts };\n};\n\nexport const fetchAcceptContext = (args: {\n walletUrl: string;\n token: string;\n contractId: string;\n}): Promise<TransferInstructionAcceptContextResult> =>\n fetchTransferInstructionContext({ ...args, choice: 'accept' });\n\n/** Injects ExternalPartyAmuletRules cid into the ChoiceContext — required by every flow hitting FeeUtils.validateContext. */\nexport const injectExternalPartyAmuletRules = (\n amuletContext: ChoiceContext,\n disclosedContracts: CantonDisclosedContract[],\n): { amuletContext: ChoiceContext; externalPartyAmuletRulesCid: string } => {\n const externalRulesContract = findDisclosure(\n disclosedContracts,\n ':Splice.ExternalPartyAmuletRules:ExternalPartyAmuletRules',\n );\n\n return {\n amuletContext: {\n values: {\n ...amuletContext.values,\n 'external-party-amulet-rules': {\n tag: 'AV_ContractId',\n value: externalRulesContract.contractId,\n },\n },\n },\n externalPartyAmuletRulesCid: externalRulesContract.contractId,\n };\n};\n\n/** Fetch the DSO party id from the validator scan-proxy API. */\nexport const fetchDsoParty = async (walletUrl: string, token: string): Promise<string> => {\n const response = await fetch(new URL('/api/validator/v0/scan-proxy/dso-party-id', walletUrl), {\n headers: { Authorization: `Bearer ${token}` },\n });\n if (!response.ok) {\n throw new CantonProtocolError(`Failed to get DSO party: ${response.status}`);\n }\n const data = (await response.json()) as { dso_party_id: string };\n return data.dso_party_id;\n};\n\n/** Scan-proxy contract envelope (`amulet-rules`, mining rounds). */\nexport type ScanContractEntry = {\n contract: {\n template_id: string;\n contract_id: string;\n payload?: unknown;\n created_event_blob: string;\n created_at?: string;\n };\n domain_id: string;\n};\n\nexport type OpenAndIssuingMiningRounds = {\n open_mining_rounds: Record<string, ScanContractEntry>;\n issuing_mining_rounds: Record<string, ScanContractEntry>;\n};\n\nconst scanProxyGet = async <T>(walletUrl: string, token: string, path: string): Promise<T> => {\n const response = await fetch(new URL(path, walletUrl), {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n if (!response.ok) {\n const text = await response.text();\n throw new CantonProtocolError(`Scan-proxy ${path} failed: ${response.status} ${text}`);\n }\n return (await response.json()) as T;\n};\n\nexport const fetchAmuletRules = async (\n walletUrl: string,\n token: string,\n): Promise<ScanContractEntry> => {\n const data = await scanProxyGet<{ amulet_rules: ScanContractEntry }>(\n walletUrl,\n token,\n '/api/validator/v0/scan-proxy/amulet-rules',\n );\n return data.amulet_rules;\n};\n\nexport const fetchOpenAndIssuingMiningRounds = async (\n walletUrl: string,\n token: string,\n): Promise<OpenAndIssuingMiningRounds> => {\n const data = await scanProxyGet<OpenAndIssuingMiningRounds>(\n walletUrl,\n token,\n '/api/validator/v0/scan-proxy/open-and-issuing-mining-rounds',\n );\n return {\n open_mining_rounds: data.open_mining_rounds ?? {},\n issuing_mining_rounds: data.issuing_mining_rounds ?? {},\n };\n};\n\nexport const toDisclosedContract = (entry: ScanContractEntry): CantonDisclosedContract => ({\n contractId: entry.contract.contract_id,\n templateId: entry.contract.template_id,\n createdEventBlob: entry.contract.created_event_blob,\n synchronizerId: entry.domain_id,\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CantonClient } from './
|
|
1
|
+
import { CantonClient } from './QWU4V7O2.js';
|
|
2
2
|
import { Configuration } from './XVX7EVTW.js';
|
|
3
|
-
import { CantonGrpcClient } from './
|
|
3
|
+
import { CantonGrpcClient } from './SEKZMYNZ.js';
|
|
4
4
|
import { ClientCredentialsTokenProvider } from './V2H2WXKE.js';
|
|
5
5
|
import { LocalTokenProvider } from './YF7P4UQM.js';
|
|
6
6
|
import { __name } from './VUOMXK5T.js';
|
|
@@ -99,5 +99,5 @@ function createTokenProvider(params, isLocal) {
|
|
|
99
99
|
__name(createTokenProvider, "createTokenProvider");
|
|
100
100
|
|
|
101
101
|
export { createCantonChainProvider, parseCantonChainUri };
|
|
102
|
-
//# sourceMappingURL=
|
|
103
|
-
//# sourceMappingURL=
|
|
102
|
+
//# sourceMappingURL=ZVEWMW6Q.js.map
|
|
103
|
+
//# sourceMappingURL=ZVEWMW6Q.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":"2B3PTIL7.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":"ZVEWMW6Q.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"]}
|
package/dist/client/amulet.d.ts
CHANGED
|
@@ -34,8 +34,18 @@ export type AmuletContextResult = {
|
|
|
34
34
|
disclosedContracts: CantonDisclosedContract[];
|
|
35
35
|
externalPartyAmuletRulesCid: string;
|
|
36
36
|
};
|
|
37
|
+
/** Transfer fields for the amulet context probe. Omitted fields default to a zero-amount admin self-transfer. */
|
|
38
|
+
export type AmuletContextOptions = {
|
|
39
|
+
/**
|
|
40
|
+
* Transfer receiver. Defaults to `instrumentId.admin`. The registry includes a receiver's
|
|
41
|
+
* TransferPreapproval in the context only when asked about that receiver.
|
|
42
|
+
*/
|
|
43
|
+
receiver?: string;
|
|
44
|
+
/** Daml Decimal amount string. Defaults to `'0'`. */
|
|
45
|
+
amount?: string;
|
|
46
|
+
};
|
|
37
47
|
/** Amulet ChoiceContext from the validator scan-proxy — same call for all fee-bearing choices. */
|
|
38
|
-
export declare const fetchAmuletContext: (walletUrl: string, token: string, instrumentId: InstrumentId) => Promise<{
|
|
48
|
+
export declare const fetchAmuletContext: (walletUrl: string, token: string, instrumentId: InstrumentId, { receiver, amount }?: AmuletContextOptions) => Promise<{
|
|
39
49
|
amuletContext: ChoiceContext;
|
|
40
50
|
disclosedContracts: CantonDisclosedContract[];
|
|
41
51
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amulet.d.ts","sourceRoot":"","sources":["../../src/client/amulet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,KAAK,uBAAuB,EAAiC,MAAM,gBAAgB,CAAC;AAE7F,sFAAsF;AACtF,MAAM,MAAM,wBAAwB,GAAG;IACnC,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,aAAa,EAAE,aAAa,CAAC;CAChC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,yBAAyB,GAAG;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAoBF,eAAO,MAAM,iCAAiC,cAC/B,MAAM,SACV,MAAM,QACP,yBAAyB,KAChC,OAAO,CAAC,sBAAsB,CAwBhC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;IAC9C,2BAA2B,EAAE,MAAM,CAAC;CACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"amulet.d.ts","sourceRoot":"","sources":["../../src/client/amulet.ts"],"names":[],"mappings":"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"}
|
package/dist/client/amulet.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { AMULET_INSTRUMENT_ID, fetchAcceptContext, fetchAmuletContext, fetchAmuletRules, fetchAmuletTransferFactoryContext, fetchDsoParty, fetchOpenAndIssuingMiningRounds, fetchTransferInstructionContext, findAmuletRulesDisclosures, injectExternalPartyAmuletRules, toDisclosedContract } from '../
|
|
1
|
+
export { AMULET_INSTRUMENT_ID, fetchAcceptContext, fetchAmuletContext, fetchAmuletRules, fetchAmuletTransferFactoryContext, fetchDsoParty, fetchOpenAndIssuingMiningRounds, fetchTransferInstructionContext, findAmuletRulesDisclosures, injectExternalPartyAmuletRules, toDisclosedContract } from '../XWNGGI4V.js';
|
|
2
2
|
import '../TLQX4ZQW.js';
|
|
3
3
|
import '../ZEK5YBPA.js';
|
|
4
4
|
import '../YMXOSAU4.js';
|
|
5
|
-
import '../
|
|
6
|
-
import '../
|
|
5
|
+
import '../MM7EIOP4.js';
|
|
6
|
+
import '../UUUJS2PY.js';
|
|
7
7
|
import '../SWY4QT4I.js';
|
|
8
8
|
import '../NYEJEKEY.js';
|
|
9
9
|
import '../U6EV6YAY.js';
|
|
@@ -2,8 +2,8 @@ import type { ContractId } from '@daml/types';
|
|
|
2
2
|
import { type ArchivedEvent, type Command, type CreatedEvent, type DisclosedContract, type JsActiveContract } from '../open-api/models';
|
|
3
3
|
import { type Configuration } from '../open-api/runtime';
|
|
4
4
|
import type { CantonDisclosedContract } from '../transaction';
|
|
5
|
-
import type { ExternalSignature, PreparedTransaction, SubmitActors, SubmitResult, UserRight, WaitOptions, WaitResult } from '../types';
|
|
6
|
-
import { type AmuletContextResult, type AmuletTransferFactoryArgs, type CantonClientWalletConfig, type InstrumentId, type TransferInstructionAcceptContextResult, type TransferInstructionChoice } from './amulet';
|
|
5
|
+
import type { ExternalSignature, PreparedTransaction, PreparedTransactionWithExpiry, SubmitActors, SubmitResult, UserRight, WaitOptions, WaitResult, WaitWithExpiryResult } from '../types';
|
|
6
|
+
import { type AmuletContextOptions, type AmuletContextResult, type AmuletTransferFactoryArgs, type CantonClientWalletConfig, type InstrumentId, type TransferInstructionAcceptContextResult, type TransferInstructionChoice } from './amulet';
|
|
7
7
|
import type { CantonTransaction, CantonUpdate, ICantonClient } from './interface';
|
|
8
8
|
/**
|
|
9
9
|
* CantonClient - The engine layer for Canton ledger operations.
|
|
@@ -30,7 +30,7 @@ export declare class CantonClient implements ICantonClient {
|
|
|
30
30
|
contractId: string;
|
|
31
31
|
}): Promise<TransferInstructionAcceptContextResult>;
|
|
32
32
|
/** Amulet ChoiceContext with ExternalPartyAmuletRules injected — required by every flow hitting FeeUtils.validateContext. */
|
|
33
|
-
getAmuletContextWithExternalRules(instrumentId: InstrumentId): Promise<AmuletContextResult>;
|
|
33
|
+
getAmuletContextWithExternalRules(instrumentId: InstrumentId, options?: AmuletContextOptions): Promise<AmuletContextResult>;
|
|
34
34
|
/**
|
|
35
35
|
* Returns all connected synchronizer IDs.
|
|
36
36
|
*/
|
|
@@ -176,6 +176,9 @@ export declare class CantonClient implements ICantonClient {
|
|
|
176
176
|
* Uses bounded exponential backoff to avoid hammering the participant.
|
|
177
177
|
*/
|
|
178
178
|
waitForCommand(commandId: string, opts: WaitOptions): Promise<WaitResult>;
|
|
179
|
+
waitForCommandWithExpiry(commandId: string, opts: Omit<WaitOptions, 'beginExclusive'> & {
|
|
180
|
+
expiry: PreparedTransactionWithExpiry['expiry'];
|
|
181
|
+
}): Promise<WaitWithExpiryResult>;
|
|
179
182
|
/**
|
|
180
183
|
* Build a disclosure for a contract.
|
|
181
184
|
*
|
|
@@ -231,16 +234,22 @@ export declare class CantonClient implements ICantonClient {
|
|
|
231
234
|
* await client.submitSigned(prepared, [signature]);
|
|
232
235
|
* ```
|
|
233
236
|
*/
|
|
237
|
+
prepareForSigning(actors: SubmitActors, commands: Command[], opts: {
|
|
238
|
+
disclosedContracts?: DisclosedContract[];
|
|
239
|
+
commandId?: string;
|
|
240
|
+
maxRecordTime: string;
|
|
241
|
+
}): Promise<PreparedTransactionWithExpiry>;
|
|
234
242
|
prepareForSigning(actors: SubmitActors, commands: Command[], opts?: {
|
|
235
243
|
disclosedContracts?: DisclosedContract[];
|
|
236
244
|
commandId?: string;
|
|
245
|
+
maxRecordTime?: undefined;
|
|
237
246
|
}): Promise<PreparedTransaction>;
|
|
238
247
|
/**
|
|
239
248
|
* Submit a pre-signed transaction.
|
|
240
249
|
*
|
|
241
250
|
* The generic type T flows from prepareForSigning() for type documentation.
|
|
242
251
|
*/
|
|
243
|
-
submitSigned(prepared: PreparedTransaction, signatures: ExternalSignature[]): Promise<SubmitResult>;
|
|
252
|
+
submitSigned(prepared: PreparedTransaction | PreparedTransactionWithExpiry, signatures: ExternalSignature[]): Promise<SubmitResult>;
|
|
244
253
|
/**
|
|
245
254
|
* Get the current ledger end offset.
|
|
246
255
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canton-client.d.ts","sourceRoot":"","sources":["../../src/client/canton-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canton-client.d.ts","sourceRoot":"","sources":["../../src/client/canton-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CantonClient } from '../
|
|
1
|
+
export { CantonClient } from '../QWU4V7O2.js';
|
|
2
2
|
import '../YQ7YDN2E.js';
|
|
3
3
|
import '../YBJJNRKE.js';
|
|
4
4
|
import '../AVTRWMUF.js';
|
|
@@ -278,12 +278,12 @@ import '../FGFEMG3G.js';
|
|
|
278
278
|
import '../CQF7HUL6.js';
|
|
279
279
|
import '../3BHGC5S7.js';
|
|
280
280
|
import '../PIFB5EMI.js';
|
|
281
|
-
import '../
|
|
281
|
+
import '../XWNGGI4V.js';
|
|
282
282
|
import '../TLQX4ZQW.js';
|
|
283
283
|
import '../ZEK5YBPA.js';
|
|
284
284
|
import '../YMXOSAU4.js';
|
|
285
|
-
import '../
|
|
286
|
-
import '../
|
|
285
|
+
import '../MM7EIOP4.js';
|
|
286
|
+
import '../UUUJS2PY.js';
|
|
287
287
|
import '../SWY4QT4I.js';
|
|
288
288
|
import '../NYEJEKEY.js';
|
|
289
289
|
import '../U6EV6YAY.js';
|
package/dist/client/grpc.js
CHANGED
package/dist/client/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export * from './utils';
|
|
|
6
6
|
export type { TopologySignature } from './topology/signing';
|
|
7
7
|
export { buildMultiTransactionSignatures, buildSignedTransaction } from './topology/signing';
|
|
8
8
|
export type { CantonGrpcClientOptions, CreateDecentralizedNamespaceDefinitionTxParams, CreateNamespaceDelegationTxParams, CreatePartyToKeyMappingTxParams, CreatePartyToParticipantMappingTxParams, DecentralizedNamespaceDefinitionState, GeneratedTopologyTransaction, NamespaceDelegationState, PartyToKeyMappingState, PartyToParticipantMappingState, UpdateDecentralizedNamespaceDefinitionTxParams, } from './topology/types';
|
|
9
|
-
export { computeDecentralizedNamespace, computeMultiTransactionHash } from './topology/utils';
|
|
9
|
+
export { computeDecentralizedNamespace, computeMultiTransactionHash, isLoopbackHost, } from './topology/utils';
|
|
10
10
|
export type { SignedTopologyTransaction } from '@canton-network/core-ledger-proto';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EACR,uBAAuB,EACvB,8CAA8C,EAC9C,iCAAiC,EACjC,+BAA+B,EAC/B,uCAAuC,EACvC,qCAAqC,EACrC,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,8CAA8C,GACjD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EACR,uBAAuB,EACvB,8CAA8C,EAC9C,iCAAiC,EACjC,+BAA+B,EAC/B,uCAAuC,EACvC,qCAAqC,EACrC,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,8CAA8C,GACjD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
|