@layerzerolabs/common-canton 1.2.70 → 1.2.71
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/{A7U4VVQK.js → 3TB6JU2S.js} +3 -3
- package/dist/{A7U4VVQK.js.map → 3TB6JU2S.js.map} +1 -1
- package/dist/{O26WXLAL.js → 4TSDR3IG.js} +4 -4
- package/dist/{O26WXLAL.js.map → 4TSDR3IG.js.map} +1 -1
- package/dist/{XINHRIWA.js → 5BIIW37A.js} +3 -3
- package/dist/{XINHRIWA.js.map → 5BIIW37A.js.map} +1 -1
- package/dist/{ODJN4O2R.js → 5QCQRBF2.js} +16 -6
- package/dist/5QCQRBF2.js.map +1 -0
- package/dist/{EITKKRM7.js → 66C2UKUB.js} +3 -3
- package/dist/{EITKKRM7.js.map → 66C2UKUB.js.map} +1 -1
- package/dist/{LS6TAA3S.js → 6GU7J47E.js} +3 -3
- package/dist/{LS6TAA3S.js.map → 6GU7J47E.js.map} +1 -1
- package/dist/{MI3L7BKC.js → 6NR67X2L.js} +4 -4
- package/dist/{MI3L7BKC.js.map → 6NR67X2L.js.map} +1 -1
- package/dist/{IHOOPR5Q.js → 74GXIV45.js} +4 -4
- package/dist/{IHOOPR5Q.js.map → 74GXIV45.js.map} +1 -1
- package/dist/{TAI7WDMG.js → 7PHM6HLD.js} +3 -3
- package/dist/{TAI7WDMG.js.map → 7PHM6HLD.js.map} +1 -1
- package/dist/{HCWCELIY.js → A3YRP3CP.js} +3 -3
- package/dist/{HCWCELIY.js.map → A3YRP3CP.js.map} +1 -1
- package/dist/{LCM7LWM5.js → A7FFE5B3.js} +3 -3
- package/dist/{LCM7LWM5.js.map → A7FFE5B3.js.map} +1 -1
- package/dist/{7STDATVZ.js → A7VF3ZJF.js} +3 -3
- package/dist/{7STDATVZ.js.map → A7VF3ZJF.js.map} +1 -1
- package/dist/{HLEDC536.js → AAYMVMGA.js} +4 -4
- package/dist/{HLEDC536.js.map → AAYMVMGA.js.map} +1 -1
- package/dist/{VNAH76JJ.js → ACTUREBJ.js} +4 -4
- package/dist/{VNAH76JJ.js.map → ACTUREBJ.js.map} +1 -1
- package/dist/{ZILWPZLS.js → AE56UC5I.js} +3 -3
- package/dist/{ZILWPZLS.js.map → AE56UC5I.js.map} +1 -1
- package/dist/{SUQRZQJZ.js → AGAXQJWB.js} +4 -4
- package/dist/{SUQRZQJZ.js.map → AGAXQJWB.js.map} +1 -1
- package/dist/{PXHLNX4K.js → BQWTGHOG.js} +5 -5
- package/dist/BQWTGHOG.js.map +1 -0
- package/dist/{WLHCBBAJ.js → BSVJEBKM.js} +5 -5
- package/dist/BSVJEBKM.js.map +1 -0
- package/dist/{AXXLRBOT.js → BZPOVFBV.js} +3 -3
- package/dist/{AXXLRBOT.js.map → BZPOVFBV.js.map} +1 -1
- package/dist/{VWP2ORHR.js → C4O6KF4R.js} +4 -4
- package/dist/{VWP2ORHR.js.map → C4O6KF4R.js.map} +1 -1
- package/dist/{WRPKZZ4E.js → CC2PLAKT.js} +3 -3
- package/dist/{WRPKZZ4E.js.map → CC2PLAKT.js.map} +1 -1
- package/dist/{KCRFOKIB.js → CJNH6ICZ.js} +3 -3
- package/dist/{KCRFOKIB.js.map → CJNH6ICZ.js.map} +1 -1
- package/dist/{5N5IZWFQ.js → CMO2N5J7.js} +92 -45
- package/dist/CMO2N5J7.js.map +1 -0
- package/dist/{5RZS7DZN.js → CVQHQLYE.js} +3 -3
- package/dist/{5RZS7DZN.js.map → CVQHQLYE.js.map} +1 -1
- package/dist/{5LBZE3FZ.js → CXV5NOWI.js} +3 -3
- package/dist/{5LBZE3FZ.js.map → CXV5NOWI.js.map} +1 -1
- package/dist/{F7DI4SRR.js → DCTO6JNO.js} +8 -7
- package/dist/DCTO6JNO.js.map +1 -0
- package/dist/{42L4RKH6.js → DDDXBNRD.js} +8 -8
- package/dist/DDDXBNRD.js.map +1 -0
- package/dist/{2NZC3LBF.js → DSOC63CO.js} +3 -3
- package/dist/{2NZC3LBF.js.map → DSOC63CO.js.map} +1 -1
- package/dist/{OR2CV5NU.js → EPHLTMJZ.js} +3 -3
- package/dist/{OR2CV5NU.js.map → EPHLTMJZ.js.map} +1 -1
- package/dist/{C46IODEA.js → FA5HJRNC.js} +3 -3
- package/dist/{C46IODEA.js.map → FA5HJRNC.js.map} +1 -1
- package/dist/{HGLH54M2.js → FCOOEGLV.js} +3 -3
- package/dist/{HGLH54M2.js.map → FCOOEGLV.js.map} +1 -1
- package/dist/{T5O5EZO2.js → FYF3KCTO.js} +3 -3
- package/dist/{T5O5EZO2.js.map → FYF3KCTO.js.map} +1 -1
- package/dist/{B42Y5JOK.js → GJFARMTH.js} +39 -39
- package/dist/{B42Y5JOK.js.map → GJFARMTH.js.map} +1 -1
- package/dist/{VBS2IYYS.js → GN3EMRUZ.js} +3 -3
- package/dist/{VBS2IYYS.js.map → GN3EMRUZ.js.map} +1 -1
- package/dist/{MLPZRNZP.js → H5WF7YON.js} +3 -3
- package/dist/{MLPZRNZP.js.map → H5WF7YON.js.map} +1 -1
- package/dist/HFTJEW3A.js +3 -0
- package/dist/HFTJEW3A.js.map +1 -0
- package/dist/{FXR2Z54G.js → HPOEKKSQ.js} +3 -3
- package/dist/{FXR2Z54G.js.map → HPOEKKSQ.js.map} +1 -1
- package/dist/{4MFKSIYK.js → HU7X7G5L.js} +3 -3
- package/dist/{4MFKSIYK.js.map → HU7X7G5L.js.map} +1 -1
- package/dist/{HF5HP2EX.js → I5ERUZDD.js} +5 -6
- package/dist/I5ERUZDD.js.map +1 -0
- package/dist/{XFM6ATM3.js → IQJ5FFO2.js} +3 -3
- package/dist/{XFM6ATM3.js.map → IQJ5FFO2.js.map} +1 -1
- package/dist/{SPMIXP6R.js → JDIEWLND.js} +3 -3
- package/dist/{SPMIXP6R.js.map → JDIEWLND.js.map} +1 -1
- package/dist/{J26F3LZM.js → K3RKYYAJ.js} +3 -3
- package/dist/{J26F3LZM.js.map → K3RKYYAJ.js.map} +1 -1
- package/dist/{34I4OGQK.js → KA2OXQFA.js} +3 -3
- package/dist/{34I4OGQK.js.map → KA2OXQFA.js.map} +1 -1
- package/dist/{JRFMLEIC.js → KS4JT7HC.js} +3 -3
- package/dist/{JRFMLEIC.js.map → KS4JT7HC.js.map} +1 -1
- package/dist/{ZQ2F7HPB.js → LYW3PRU5.js} +3 -3
- package/dist/{ZQ2F7HPB.js.map → LYW3PRU5.js.map} +1 -1
- package/dist/{5GUS3R4R.js → MANSIJ5E.js} +4 -4
- package/dist/{5GUS3R4R.js.map → MANSIJ5E.js.map} +1 -1
- package/dist/{NMK4KJVK.js → MOQL7EDE.js} +3 -3
- package/dist/{NMK4KJVK.js.map → MOQL7EDE.js.map} +1 -1
- package/dist/{JKQLMXRN.js → NFLUJSFO.js} +3 -3
- package/dist/{JKQLMXRN.js.map → NFLUJSFO.js.map} +1 -1
- package/dist/{5N747JZQ.js → NKSFRE2D.js} +3 -3
- package/dist/{5N747JZQ.js.map → NKSFRE2D.js.map} +1 -1
- package/dist/{5O7CQ3B5.js → NRS4DZPT.js} +3 -3
- package/dist/{5O7CQ3B5.js.map → NRS4DZPT.js.map} +1 -1
- package/dist/{OU6ZGOI7.js → NVM727ES.js} +3 -3
- package/dist/{OU6ZGOI7.js.map → NVM727ES.js.map} +1 -1
- package/dist/{UOJYTAJA.js → NZ7JRTF5.js} +3 -3
- package/dist/{UOJYTAJA.js.map → NZ7JRTF5.js.map} +1 -1
- package/dist/{S5X72W5R.js → OC2GKSCZ.js} +3 -3
- package/dist/{S5X72W5R.js.map → OC2GKSCZ.js.map} +1 -1
- package/dist/{2PMOI5F3.js → OUSDBPTI.js} +3 -3
- package/dist/{2PMOI5F3.js.map → OUSDBPTI.js.map} +1 -1
- package/dist/{MZMRFQTR.js → PW7NJ3JL.js} +3 -3
- package/dist/{MZMRFQTR.js.map → PW7NJ3JL.js.map} +1 -1
- package/dist/{UZTJVHNP.js → PWHGLCTH.js} +3 -3
- package/dist/{UZTJVHNP.js.map → PWHGLCTH.js.map} +1 -1
- package/dist/{QSQZYJB6.js → PWKI6T6A.js} +3 -4
- package/dist/PWKI6T6A.js.map +1 -0
- package/dist/{SEKD553P.js → QEE5QCHB.js} +4 -4
- package/dist/QEE5QCHB.js.map +1 -0
- package/dist/{BA56KCNU.js → QYKMFCVF.js} +3 -3
- package/dist/{BA56KCNU.js.map → QYKMFCVF.js.map} +1 -1
- package/dist/{QZJONP6W.js → QZKEWDGH.js} +3 -3
- package/dist/{QZJONP6W.js.map → QZKEWDGH.js.map} +1 -1
- package/dist/{KYQVWBET.js → RGSLEGIT.js} +3 -3
- package/dist/{KYQVWBET.js.map → RGSLEGIT.js.map} +1 -1
- package/dist/{P6RLTY4Q.js → SFKNDB45.js} +4 -4
- package/dist/{P6RLTY4Q.js.map → SFKNDB45.js.map} +1 -1
- package/dist/{CPODYNES.js → TIKYUQ7Z.js} +3 -3
- package/dist/{CPODYNES.js.map → TIKYUQ7Z.js.map} +1 -1
- package/dist/{CM3AEJH2.js → TV3E6NFT.js} +4 -4
- package/dist/{CM3AEJH2.js.map → TV3E6NFT.js.map} +1 -1
- package/dist/{JG3CGXAA.js → U64PVM2G.js} +3 -3
- package/dist/{JG3CGXAA.js.map → U64PVM2G.js.map} +1 -1
- package/dist/{NAKXSYHE.js → U7QJUV2C.js} +3 -3
- package/dist/{NAKXSYHE.js.map → U7QJUV2C.js.map} +1 -1
- package/dist/{7QVLLG7J.js → UNTLGCGB.js} +3 -3
- package/dist/{7QVLLG7J.js.map → UNTLGCGB.js.map} +1 -1
- package/dist/{X5Q5IDTX.js → V6WKCZKX.js} +3 -3
- package/dist/{X5Q5IDTX.js.map → V6WKCZKX.js.map} +1 -1
- package/dist/{6GAFSKMN.js → VDBQAUSY.js} +3 -3
- package/dist/{6GAFSKMN.js.map → VDBQAUSY.js.map} +1 -1
- package/dist/{TKPU3I2P.js → VIVHP4ZR.js} +3 -3
- package/dist/{TKPU3I2P.js.map → VIVHP4ZR.js.map} +1 -1
- package/dist/{RELCLANB.js → VKQ3WBCW.js} +3 -3
- package/dist/{RELCLANB.js.map → VKQ3WBCW.js.map} +1 -1
- package/dist/{H2QNCZZP.js → WEOR7EMZ.js} +4 -4
- package/dist/{H2QNCZZP.js.map → WEOR7EMZ.js.map} +1 -1
- package/dist/{CYUO5SRQ.js → WH4AALW7.js} +3 -3
- package/dist/{CYUO5SRQ.js.map → WH4AALW7.js.map} +1 -1
- package/dist/{WS55YOW3.js → WLN7SJMS.js} +3 -3
- package/dist/{WS55YOW3.js.map → WLN7SJMS.js.map} +1 -1
- package/dist/XEYUU6QF.js +3 -0
- package/dist/XEYUU6QF.js.map +1 -0
- package/dist/{42XERBT4.js → XUUV67AB.js} +3 -3
- package/dist/{42XERBT4.js.map → XUUV67AB.js.map} +1 -1
- package/dist/{Z2TOQ5RW.js → YCNGW63C.js} +3 -3
- package/dist/{Z2TOQ5RW.js.map → YCNGW63C.js.map} +1 -1
- package/dist/{DAP5XJGH.js → Z6XV6V6U.js} +3 -3
- package/dist/{DAP5XJGH.js.map → Z6XV6V6U.js.map} +1 -1
- package/dist/{JEVZBCKB.js → Z74KDZ47.js} +3 -3
- package/dist/{JEVZBCKB.js.map → Z74KDZ47.js.map} +1 -1
- package/dist/{JRALW2JZ.js → ZCFOFDYY.js} +3 -3
- package/dist/{JRALW2JZ.js.map → ZCFOFDYY.js.map} +1 -1
- package/dist/{XPBJWESZ.js → ZKWD7SP2.js} +3 -3
- package/dist/{XPBJWESZ.js.map → ZKWD7SP2.js.map} +1 -1
- package/dist/{NXLM7ANC.js → ZYOH5EDV.js} +3 -3
- package/dist/{NXLM7ANC.js.map → ZYOH5EDV.js.map} +1 -1
- package/dist/address.js +2 -2
- package/dist/browser.js +2 -2
- package/dist/client/amulet.d.ts.map +1 -1
- package/dist/client/amulet.js +1 -1
- package/dist/client/canton-client.js +100 -100
- package/dist/client/index.js +100 -100
- package/dist/deferredValue.d.ts.map +1 -1
- package/dist/deferredValue.js +1 -1
- package/dist/events.js +5 -5
- package/dist/index.js +114 -113
- package/dist/open-api/apis/DefaultApi.js +98 -98
- package/dist/open-api/apis/index.js +98 -98
- package/dist/open-api/index.js +98 -98
- package/dist/open-api/models/Command.js +3 -3
- package/dist/open-api/models/Completion.js +6 -6
- package/dist/open-api/models/Completion1.js +5 -5
- package/dist/open-api/models/CompletionResponse.js +9 -9
- package/dist/open-api/models/CompletionResponseOneOf.js +7 -7
- package/dist/open-api/models/CompletionStreamResponse.js +10 -10
- package/dist/open-api/models/CreateUserRequest.js +6 -6
- package/dist/open-api/models/CumulativeFilter.js +5 -5
- package/dist/open-api/models/DeduplicationPeriod.js +3 -3
- package/dist/open-api/models/DeduplicationPeriod1.js +3 -3
- package/dist/open-api/models/Event.js +3 -3
- package/dist/open-api/models/EventFormat.js +7 -7
- package/dist/open-api/models/ExperimentalFeatures.js +2 -2
- package/dist/open-api/models/FeaturesDescriptor.js +3 -3
- package/dist/open-api/models/Filters.js +6 -6
- package/dist/open-api/models/GetActiveContractsRequest.js +9 -9
- package/dist/open-api/models/GetEventsByContractIdRequest.js +8 -8
- package/dist/open-api/models/GetLedgerApiVersionResponse.js +4 -4
- package/dist/open-api/models/GetTransactionByIdRequest.js +9 -9
- package/dist/open-api/models/GetTransactionByOffsetRequest.js +9 -9
- package/dist/open-api/models/GetUpdateByIdRequest.js +10 -10
- package/dist/open-api/models/GetUpdateByOffsetRequest.js +10 -10
- package/dist/open-api/models/GetUpdatesRequest.js +11 -11
- package/dist/open-api/models/GrantUserRightsRequest.js +6 -6
- package/dist/open-api/models/GrantUserRightsResponse.js +6 -6
- package/dist/open-api/models/IdentifierFilter.js +4 -4
- package/dist/open-api/models/JsCommands.js +7 -7
- package/dist/open-api/models/JsContractEntry.js +5 -5
- package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionRequest.js +13 -13
- package/dist/open-api/models/JsExecuteSubmissionAndWaitForTransactionResponse.js +5 -5
- package/dist/open-api/models/JsExecuteSubmissionAndWaitRequest.js +5 -5
- package/dist/open-api/models/JsExecuteSubmissionRequest.js +5 -5
- package/dist/open-api/models/JsGetActiveContractsResponse.js +6 -6
- package/dist/open-api/models/JsGetTransactionResponse.js +5 -5
- package/dist/open-api/models/JsGetTransactionTreeResponse.js +4 -4
- package/dist/open-api/models/JsGetUpdateResponse.js +9 -9
- package/dist/open-api/models/JsGetUpdateTreesResponse.js +7 -7
- package/dist/open-api/models/JsGetUpdatesResponse.js +9 -9
- package/dist/open-api/models/JsPrepareSubmissionRequest.js +8 -8
- package/dist/open-api/models/JsSubmitAndWaitForTransactionRequest.js +16 -16
- package/dist/open-api/models/JsSubmitAndWaitForTransactionResponse.js +5 -5
- package/dist/open-api/models/JsSubmitAndWaitForTransactionTreeResponse.js +4 -4
- package/dist/open-api/models/JsTransaction.js +4 -4
- package/dist/open-api/models/JsTransactionTree.js +3 -3
- package/dist/open-api/models/Kind.js +4 -4
- package/dist/open-api/models/ListUserRightsResponse.js +6 -6
- package/dist/open-api/models/MinLedgerTime.js +4 -4
- package/dist/open-api/models/PriorTopologySerial.js +3 -3
- package/dist/open-api/models/RevokeUserRightsRequest.js +6 -6
- package/dist/open-api/models/RevokeUserRightsResponse.js +6 -6
- package/dist/open-api/models/Right.js +5 -5
- package/dist/open-api/models/Serial.js +2 -2
- package/dist/open-api/models/SubmitAndWaitForReassignmentRequest.js +8 -8
- package/dist/open-api/models/Time.js +3 -3
- package/dist/open-api/models/Transaction.js +5 -5
- package/dist/open-api/models/TransactionFilter.js +7 -7
- package/dist/open-api/models/TransactionFormat.js +8 -8
- package/dist/open-api/models/TransactionTree.js +4 -4
- package/dist/open-api/models/TreeEvent.js +2 -2
- package/dist/open-api/models/Update.js +8 -8
- package/dist/open-api/models/Update1.js +6 -6
- package/dist/open-api/models/Update1OneOf2.js +5 -5
- package/dist/open-api/models/UpdateFormat.js +9 -9
- package/dist/open-api/models/UpdateOneOf3.js +6 -6
- package/dist/open-api/models/UpdateVettedPackagesRequest.js +4 -4
- package/dist/open-api/models/index.js +97 -97
- package/dist/provider.js +101 -101
- package/dist/refresh/address-resolver.d.ts.map +1 -1
- package/dist/refresh/address-resolver.js +2 -2
- package/dist/refresh/deployment-address.d.ts.map +1 -1
- package/dist/refresh/deployment-address.js +2 -2
- package/dist/refresh/index.d.ts +1 -0
- package/dist/refresh/index.d.ts.map +1 -1
- package/dist/refresh/index.js +11 -10
- package/dist/refresh/onesig-execution.d.ts +18 -0
- package/dist/refresh/onesig-execution.d.ts.map +1 -0
- package/dist/refresh/onesig-execution.js +3 -0
- package/dist/refresh/onesig-execution.js.map +1 -0
- package/dist/refresh/plan.d.ts +15 -0
- package/dist/refresh/plan.d.ts.map +1 -1
- package/dist/refresh/plan.js +2 -2
- package/dist/refresh/resolve-plan.d.ts +2 -0
- package/dist/refresh/resolve-plan.d.ts.map +1 -1
- package/dist/refresh/resolve-plan.js +3 -3
- package/dist/refresh/resolve.d.ts +3 -1
- package/dist/refresh/resolve.d.ts.map +1 -1
- package/dist/refresh/resolve.js +6 -6
- package/dist/refresh/reverse-substitute.d.ts.map +1 -1
- package/dist/refresh/reverse-substitute.js +2 -2
- package/dist/refresh/wrapped-lz-sdk.d.ts.map +1 -1
- package/dist/refresh/wrapped-lz-sdk.js +3 -3
- package/dist/transaction.d.ts +35 -0
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +3 -3
- package/package.json +10 -10
- package/dist/42L4RKH6.js.map +0 -1
- package/dist/5N5IZWFQ.js.map +0 -1
- package/dist/6UDREB6T.js +0 -3
- package/dist/6UDREB6T.js.map +0 -1
- package/dist/F7DI4SRR.js.map +0 -1
- package/dist/HF5HP2EX.js.map +0 -1
- package/dist/ODJN4O2R.js.map +0 -1
- package/dist/PXHLNX4K.js.map +0 -1
- package/dist/QSQZYJB6.js.map +0 -1
- package/dist/SEKD553P.js.map +0 -1
- package/dist/WLHCBBAJ.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { wrapLzSdk } from '../
|
|
2
|
-
import '../
|
|
3
|
-
import '../
|
|
1
|
+
export { wrapLzSdk } from '../I5ERUZDD.js';
|
|
2
|
+
import '../BSVJEBKM.js';
|
|
3
|
+
import '../PWKI6T6A.js';
|
|
4
4
|
import '../VUOMXK5T.js';
|
|
5
5
|
//# sourceMappingURL=wrapped-lz-sdk.js.map
|
|
6
6
|
//# sourceMappingURL=wrapped-lz-sdk.js.map
|
package/dist/transaction.d.ts
CHANGED
|
@@ -355,6 +355,13 @@ export declare const cantonTransactionSchema: z.ZodObject<{
|
|
|
355
355
|
disclosures: z.ZodOptional<z.ZodObject<{
|
|
356
356
|
originalCids: z.ZodArray<z.ZodString>;
|
|
357
357
|
}, z.core.$strip>>;
|
|
358
|
+
oneSigExecution: z.ZodOptional<z.ZodObject<{
|
|
359
|
+
commandIndex: z.ZodNumber;
|
|
360
|
+
admin: z.ZodString;
|
|
361
|
+
informee: z.ZodString;
|
|
362
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
363
|
+
transferRegistryUrls: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
364
|
+
}, z.core.$strip>>;
|
|
358
365
|
}, z.core.$strip>>;
|
|
359
366
|
}, z.core.$strip>;
|
|
360
367
|
}, z.core.$strip>;
|
|
@@ -663,6 +670,13 @@ export declare const cantonTransactionWithResultSchema: z.ZodObject<{
|
|
|
663
670
|
disclosures: z.ZodOptional<z.ZodObject<{
|
|
664
671
|
originalCids: z.ZodArray<z.ZodString>;
|
|
665
672
|
}, z.core.$strip>>;
|
|
673
|
+
oneSigExecution: z.ZodOptional<z.ZodObject<{
|
|
674
|
+
commandIndex: z.ZodNumber;
|
|
675
|
+
admin: z.ZodString;
|
|
676
|
+
informee: z.ZodString;
|
|
677
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
678
|
+
transferRegistryUrls: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
679
|
+
}, z.core.$strip>>;
|
|
666
680
|
}, z.core.$strip>>;
|
|
667
681
|
}, z.core.$strip>;
|
|
668
682
|
} & {
|
|
@@ -988,6 +1002,13 @@ export declare const cantonAssignedTransactionSchema: z.ZodObject<{
|
|
|
988
1002
|
disclosures: z.ZodOptional<z.ZodObject<{
|
|
989
1003
|
originalCids: z.ZodArray<z.ZodString>;
|
|
990
1004
|
}, z.core.$strip>>;
|
|
1005
|
+
oneSigExecution: z.ZodOptional<z.ZodObject<{
|
|
1006
|
+
commandIndex: z.ZodNumber;
|
|
1007
|
+
admin: z.ZodString;
|
|
1008
|
+
informee: z.ZodString;
|
|
1009
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
1010
|
+
transferRegistryUrls: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1011
|
+
}, z.core.$strip>>;
|
|
991
1012
|
}, z.core.$strip>>;
|
|
992
1013
|
}, z.core.$strip>;
|
|
993
1014
|
}, z.core.$strip>;
|
|
@@ -1355,6 +1376,13 @@ export declare const cantonSignedTransactionSchema: z.ZodObject<{
|
|
|
1355
1376
|
disclosures: z.ZodOptional<z.ZodObject<{
|
|
1356
1377
|
originalCids: z.ZodArray<z.ZodString>;
|
|
1357
1378
|
}, z.core.$strip>>;
|
|
1379
|
+
oneSigExecution: z.ZodOptional<z.ZodObject<{
|
|
1380
|
+
commandIndex: z.ZodNumber;
|
|
1381
|
+
admin: z.ZodString;
|
|
1382
|
+
informee: z.ZodString;
|
|
1383
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
1384
|
+
transferRegistryUrls: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1385
|
+
}, z.core.$strip>>;
|
|
1358
1386
|
}, z.core.$strip>>;
|
|
1359
1387
|
}, z.core.$strip>;
|
|
1360
1388
|
}, z.core.$strip>;
|
|
@@ -1732,6 +1760,13 @@ export declare const cantonMinedTransactionSchema: z.ZodObject<{
|
|
|
1732
1760
|
disclosures: z.ZodOptional<z.ZodObject<{
|
|
1733
1761
|
originalCids: z.ZodArray<z.ZodString>;
|
|
1734
1762
|
}, z.core.$strip>>;
|
|
1763
|
+
oneSigExecution: z.ZodOptional<z.ZodObject<{
|
|
1764
|
+
commandIndex: z.ZodNumber;
|
|
1765
|
+
admin: z.ZodString;
|
|
1766
|
+
informee: z.ZodString;
|
|
1767
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
1768
|
+
transferRegistryUrls: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1769
|
+
}, z.core.$strip>>;
|
|
1735
1770
|
}, z.core.$strip>>;
|
|
1736
1771
|
}, z.core.$strip>;
|
|
1737
1772
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAKpF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+B9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAqC,CAAC,CAAC,OAAO,CAClF,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GACnC;IACI,eAAe,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,iBAAiB,GAAG,MAAM,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,OAAO,CAAC;KAC3B,CAAC;CACL,CACN,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BArBT;gBACb,UAAU,EAAE,MAAM,CAAC;gBACnB,UAAU,EAAE,iBAAiB,GAAG,MAAM,CAAC;gBACvC,MAAM,EAAE,MAAM,CAAC;gBACf,cAAc,EAAE,OAAO,CAAC;aAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BALgB;gBACb,UAAU,EAAE,MAAM,CAAC;gBACnB,UAAU,EAAE,iBAAiB,GAAG,MAAM,CAAC;gBACvC,MAAM,EAAE,MAAM,CAAC;gBACf,cAAc,EAAE,OAAO,CAAC;aAC3B
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
|
package/dist/transaction.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema, cantonTransactionWithResultSchema, unresolvedCantonCommandSchema } from './
|
|
2
|
-
import './
|
|
3
|
-
import './
|
|
1
|
+
export { buildCantonTransaction, cantonAssignedTransactionSchema, cantonCommandSchema, cantonDisclosedContractSchema, cantonMinedTransactionSchema, cantonSignedTransactionSchema, cantonTransactionSchema, cantonTransactionWithResultSchema, unresolvedCantonCommandSchema } from './VKQ3WBCW.js';
|
|
2
|
+
import './5QCQRBF2.js';
|
|
3
|
+
import './PWKI6T6A.js';
|
|
4
4
|
import './VUOMXK5T.js';
|
|
5
5
|
//# sourceMappingURL=transaction.js.map
|
|
6
6
|
//# sourceMappingURL=transaction.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/common-canton",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.71",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Canton VM client and utilities",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"@canton-network/core-ledger-proto": "^1.7.0",
|
|
33
33
|
"@daml/types": "3.4.8",
|
|
34
34
|
"@grpc/grpc-js": "^1.12.0",
|
|
35
|
-
"@layerzerolabs/common-chain-model": "1.2.
|
|
36
|
-
"@layerzerolabs/common-encoding-utils": "1.2.
|
|
37
|
-
"@layerzerolabs/common-error-utils": "1.2.
|
|
38
|
-
"@layerzerolabs/typescript-utils": "1.2.
|
|
35
|
+
"@layerzerolabs/common-chain-model": "1.2.71",
|
|
36
|
+
"@layerzerolabs/common-encoding-utils": "1.2.71",
|
|
37
|
+
"@layerzerolabs/common-error-utils": "1.2.71",
|
|
38
|
+
"@layerzerolabs/typescript-utils": "1.2.71",
|
|
39
39
|
"@mojotech/json-type-validation": "^3.1.0",
|
|
40
40
|
"@noble/hashes": "^1.8.0",
|
|
41
41
|
"@noble/secp256k1": "1.7.1",
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
"zod": "4.3.5"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@layerzerolabs/eslint-configuration": "^1.2.
|
|
50
|
-
"@layerzerolabs/tsup-configuration": "1.2.
|
|
51
|
-
"@layerzerolabs/typescript-configuration": "1.2.
|
|
52
|
-
"@layerzerolabs/vitest-configuration": "1.2.
|
|
53
|
-
"@layerzerolabs/vm-tooling-canton": "1.2.
|
|
49
|
+
"@layerzerolabs/eslint-configuration": "^1.2.71",
|
|
50
|
+
"@layerzerolabs/tsup-configuration": "1.2.71",
|
|
51
|
+
"@layerzerolabs/typescript-configuration": "1.2.71",
|
|
52
|
+
"@layerzerolabs/vitest-configuration": "1.2.71",
|
|
53
|
+
"@layerzerolabs/vm-tooling-canton": "1.2.71",
|
|
54
54
|
"@vitest/coverage-v8": "4.1.10",
|
|
55
55
|
"eslint": "9.39.1",
|
|
56
56
|
"tsup": "^8.4.0",
|
package/dist/42L4RKH6.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/refresh/address-resolver.ts"],"names":["isAmuletHoldingTemplateId","templateId","endsWith","isConcreteActiveContractRef","ref","type","partyToFilter","CANTON_DEFERRED_SENDER","matchesContractStateFilter","contract","contractStateFilter","createArgument","createdEvent","Object","entries","every","key","value","actual","getCreateArgumentField","undefined","JSON","stringify","resolveExpectedSignatories","expectedSignatories","queryParty","length","map","party","isCantonDeferredSender","resolveContractStateFilter","fromEntries","isRefAlive","client","contracts","queryLiveContractsForRef","offset","getLedgerEndOffset","queryActiveContracts","templateIds","includeCreatedEventBlob","filter","areExpectedSignatories","queryLiveContractIdsForRef","senderParty","c","contractId","createContractAddressResolver","deps","signingParties","appendDisclosures","requireSender","NonRetryableError","resolveQueryParty","queryCache","Map","queryAsParty","cacheKey","cached","get","query","set","needsDisclosure","stakeholders","Set","signatories","observers","some","has","discloseContracts","toDisclose","disclosures","createdEventBlob","synchronizerId","resolveActiveContractId","resolveActiveContractIds","resolveActiveContracts","discloseActiveContracts","requireSenderParty"],"mappings":"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","file":"42L4RKH6.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport type { ICantonClient } from '../client/interface';\nimport {\n CANTON_DEFERRED_SENDER,\n type CantonDeferredValue,\n isCantonDeferredSender,\n} from '../deferredValue';\nimport type { JsActiveContract } from '../open-api/models';\nimport type { CantonDisclosedContracts } from '../transaction';\nimport { areExpectedSignatories, getCreateArgumentField } from '../trusted-origin';\n\n/** CIP-56 Amulet holding — DSO is the sole signatory; owner is payload/observer. */\nconst isAmuletHoldingTemplateId = (templateId: string): boolean =>\n templateId.endsWith(':Splice.Amulet:Amulet');\n\nexport type ActiveContractRef = Extract<\n CantonDeferredValue,\n { type: 'activeContractId' | 'activeContractIds' }\n>;\n\n/** Active-contract ref whose handler party is concrete (not the sender sentinel). */\nexport type ConcreteActiveContractRef = ActiveContractRef & {\n partyToFilter: { party: string };\n};\n\nexport const isConcreteActiveContractRef = (\n ref: CantonDeferredValue,\n): ref is ConcreteActiveContractRef =>\n (ref.type === 'activeContractId' || ref.type === 'activeContractIds') &&\n ref.partyToFilter !== CANTON_DEFERRED_SENDER;\n\nexport interface ContractAddressResolverDeps {\n client: ICantonClient;\n senderParty?: string;\n /** A contract is only disclosed when none of these parties is already a stakeholder on it. */\n signingParties: string[];\n appendDisclosures: (disclosures: CantonDisclosedContracts) => void;\n}\n\n/**\n * Match create-argument fields, including dotted paths (`instrumentId.admin`).\n */\nexport const matchesContractStateFilter = (\n contract: JsActiveContract,\n contractStateFilter: ActiveContractRef['contractStateFilter'],\n): boolean => {\n if (!contractStateFilter) return true;\n const createArgument = contract.createdEvent.createArgument;\n return Object.entries(contractStateFilter).every(([key, value]) => {\n const actual = getCreateArgumentField(createArgument, key);\n // Missing / unresolvable paths must not match (fail closed).\n if (actual === undefined) return false;\n return JSON.stringify(actual) === JSON.stringify(value);\n });\n};\n\n/**\n * Resolve {@link CANTON_DEFERRED_SENDER} entries to the ACS query party.\n * Missing lists default to `[queryParty]` except CIP-56 Amulet holdings, where\n * the owner is not a signatory — omit the filter so pre-PR refs still resolve.\n */\nexport const resolveExpectedSignatories = (\n expectedSignatories: readonly string[] | undefined,\n queryParty: string,\n templateId: string,\n): string[] | undefined => {\n if (expectedSignatories?.length) {\n return expectedSignatories.map((party) =>\n isCantonDeferredSender(party) ? queryParty : party,\n );\n }\n if (isAmuletHoldingTemplateId(templateId)) {\n return undefined;\n }\n return [queryParty];\n};\n\n/** Resolve {@link CANTON_DEFERRED_SENDER} values in `contractStateFilter` to the ACS query party. */\nexport const resolveContractStateFilter = (\n contractStateFilter: ActiveContractRef['contractStateFilter'],\n queryParty: string,\n): ActiveContractRef['contractStateFilter'] => {\n if (!contractStateFilter) return contractStateFilter;\n return Object.fromEntries(\n Object.entries(contractStateFilter).map(([key, value]) => [\n key,\n isCantonDeferredSender(value) ? queryParty : value,\n ]),\n );\n};\n\nexport const isRefAlive = async (\n client: ICantonClient,\n ref: CantonDeferredValue,\n): Promise<boolean> => {\n if (!isConcreteActiveContractRef(ref)) return false;\n const contracts = await queryLiveContractsForRef(client, ref.partyToFilter.party, ref);\n return ref.type === 'activeContractId' ? contracts.length === 1 : contracts.length > 0;\n};\n\n/**\n * Query ACS for `party` + template, apply state filter, then\n * authenticate-then-count: keep only contracts where every resolved\n * `expectedSignatories` entry is a ledger signatory.\n *\n * `partyToFilter` is visibility (may be an observer). `expectedSignatories` is\n * authority (defaults to the query party when omitted, except Amulet holdings).\n * Optional `contractStateFilter` disambiguates / binds payload roles (supports\n * dotted paths; {@link CANTON_DEFERRED_SENDER} values resolve).\n */\nexport const queryLiveContractsForRef = async (\n client: ICantonClient,\n party: string,\n ref: ActiveContractRef,\n): Promise<JsActiveContract[]> => {\n const offset = await client.getLedgerEndOffset();\n const expectedSignatories = resolveExpectedSignatories(\n ref.expectedSignatories,\n party,\n ref.templateId,\n );\n const contractStateFilter = resolveContractStateFilter(ref.contractStateFilter, party);\n return (\n await client.queryActiveContracts(party, offset, {\n templateIds: [ref.templateId],\n includeCreatedEventBlob: true,\n })\n )\n .filter((contract) => matchesContractStateFilter(contract, contractStateFilter))\n .filter(\n (contract) =>\n expectedSignatories === undefined ||\n areExpectedSignatories(contract.createdEvent, expectedSignatories),\n );\n};\n\n/**\n * Returns the contractIds of all live contracts matching ref.\n * Resolves {@link CANTON_DEFERRED_SENDER} to senderParty when provided; returns [] if unresolvable.\n */\nexport const queryLiveContractIdsForRef = async (\n client: ICantonClient,\n ref: CantonDeferredValue,\n senderParty?: string,\n): Promise<string[]> => {\n if (ref.type !== 'activeContractId' && ref.type !== 'activeContractIds') return [];\n const party =\n ref.partyToFilter === CANTON_DEFERRED_SENDER ? senderParty : ref.partyToFilter.party;\n if (!party) return [];\n const contracts = await queryLiveContractsForRef(client, party, ref);\n return contracts.map((c) => c.createdEvent.contractId);\n};\n\nexport const createContractAddressResolver = (deps: ContractAddressResolverDeps) => {\n const { client, senderParty, signingParties, appendDisclosures } = deps;\n\n const requireSender = (templateId: string): string => {\n if (!senderParty) {\n throw new NonRetryableError(\n `Refresh entry for ${templateId} needs a resolved sender party, but none was provided`,\n );\n }\n return senderParty;\n };\n\n const resolveQueryParty = ({ partyToFilter, templateId }: ActiveContractRef): string =>\n partyToFilter === CANTON_DEFERRED_SENDER ? requireSender(templateId) : partyToFilter.party;\n\n const queryCache = new Map<string, Promise<JsActiveContract[]>>();\n const queryAsParty = async (ref: ActiveContractRef): Promise<JsActiveContract[]> => {\n const party = resolveQueryParty(ref);\n const cacheKey = JSON.stringify({ ...ref, party });\n const cached = queryCache.get(cacheKey);\n if (cached) return cached;\n\n const query = (async () => {\n const contracts = await queryLiveContractsForRef(client, party, ref);\n if (contracts.length === 0) {\n throw new NonRetryableError(\n `Party ${party} has no matching active contracts of ${ref.templateId}`,\n );\n }\n return contracts;\n })();\n queryCache.set(cacheKey, query);\n return query;\n };\n\n // A signing party that is already a stakeholder can see the contract on its\n // own stream, so only disclose to parties that aren't signatories/observers.\n const needsDisclosure = (contract: JsActiveContract): boolean => {\n const stakeholders = new Set([\n ...(contract.createdEvent.signatories ?? []),\n ...(contract.createdEvent.observers ?? []),\n ]);\n return !signingParties.some((party) => stakeholders.has(party));\n };\n\n const discloseContracts = async (\n ref: ActiveContractRef,\n contracts: JsActiveContract[],\n ): Promise<void> => {\n const toDisclose = contracts.filter(needsDisclosure);\n if (toDisclose.length === 0) return;\n\n const disclosures = toDisclose.map((contract) => {\n const contractId = contract.createdEvent.contractId;\n const createdEventBlob = contract.createdEvent.createdEventBlob;\n if (!createdEventBlob) {\n throw new NonRetryableError(\n `Could not disclose ${contractId} (template ${ref.templateId}) — ACS result omitted createdEventBlob`,\n );\n }\n return {\n contractId,\n templateId: contract.createdEvent.templateId,\n createdEventBlob,\n synchronizerId: contract.synchronizerId,\n };\n });\n appendDisclosures(disclosures);\n };\n\n const resolveActiveContractId = async (ref: ActiveContractRef): Promise<string> => {\n const contracts = await queryAsParty(ref);\n if (contracts.length !== 1) {\n throw new NonRetryableError(\n `Refresh for ${ref.templateId} matched ${contracts.length} contracts, but a scalar ref expects exactly one`,\n );\n }\n await discloseContracts(ref, contracts);\n return contracts[0]!.createdEvent.contractId;\n };\n\n const resolveActiveContractIds = async (ref: ActiveContractRef): Promise<string[]> => {\n const contracts = await queryAsParty(ref);\n await discloseContracts(ref, contracts);\n return contracts.map((contract) => contract.createdEvent.contractId);\n };\n\n return {\n resolveActiveContractId,\n resolveActiveContractIds,\n resolveActiveContracts: queryAsParty,\n discloseActiveContracts: discloseContracts,\n requireSenderParty: requireSender,\n };\n};\n"]}
|
package/dist/5N5IZWFQ.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/refresh/resolve-plan.ts"],"names":["DAML_DECIMAL_SCALE","MAX_SELECTED_CONTRACTS","CANTON_TIME_PATTERN","nonRetryable","message","NonRetryableError","resolveParty","partyRef","senderParty","label","isCantonDeferredSender","party","parseDamlDecimal","value","match","exec","sign","whole","BigInt","fraction","padEnd","getContractNumericField","contract","field","raw","getCreateArgumentField","createdEvent","createArgument","initialAmount","contractId","selectContractsByGte","contracts","requestedValue","requested","candidates","map","amount","filter","sort","left","right","localeCompare","selected","total","candidate","push","toString","length","makeActiveContractRef","selector","type","partyToFilter","queryAs","expectedSignatories","templateId","contractStateFilter","stateFilter","resolveContractValue","resolver","source","resolveActiveContracts","selectActiveContracts","selection","kind","resolveCantonActiveContracts","args","queryParty","ref","createContractAddressResolver","client","signingParties","appendDisclosures","undefined","contractIds","isRecord","Array","isArray","isCantonTime","test","Number","isFinite","Date","parse","isActiveContractRefresh","refresh","isActiveContractValueRefresh","isAmuletContextRefresh","isTimestampRefresh","replaceAtPath","root","path","current","position","segment","entries","isLast","index","damlMapKey","matches","entry","readAtPath","readTarget","commands","target","command","commandIndex","exerciseCommand","choice","choiceArgument","createCommand","template","createArguments","applyPatch","applyTarget","argument","arguments","containsDeferredSentinel","key","isCantonDeferredSentinel","some","item","Object","childKey","child","disclosuresEqual","createdEventBlob","synchronizerId","resolveCantonRefreshPlan","unresolvedCommands","unresolvedDisclosedContracts","structuredClone","baselineDisclosureCids","Set","originalCids","refreshPlan","disclosures","has","disclosureMap","Map","disclosure","existing","get","set","discloseActiveContracts","resolved","targets","bundle","getAmuletContextWithExternalRules","admin","dsoParty","id","disclosedContracts","amuletContext","now","offsetMs","iso","getTime","toISOString","tag","values"],"mappings":"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","file":"5N5IZWFQ.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport type { ICantonClient } from '../client/interface';\nimport {\n type CantonRefreshPartyFilter,\n isCantonDeferredSender,\n isCantonDeferredSentinel,\n} from '../deferredValue';\nimport type { JsActiveContract } from '../open-api/models';\nimport type {\n CantonCommands,\n CantonDisclosedContracts,\n CantonUnresolvedCommands,\n} from '../transaction';\nimport { getCreateArgumentField } from '../trusted-origin';\nimport { type ActiveContractRef, createContractAddressResolver } from './address-resolver';\nimport type {\n CantonActiveContractRefresh,\n CantonActiveContractSelection,\n CantonActiveContractValue,\n CantonActiveContractValueRefresh,\n CantonAmuletContextRefresh,\n CantonArgumentRefreshTarget,\n CantonContractSelector,\n CantonRefresh,\n CantonRefreshPath,\n CantonRefreshPlan,\n CantonRefreshTarget,\n CantonTimestampRefresh,\n} from './plan';\n\nconst DAML_DECIMAL_SCALE = 10n ** 10n;\nconst MAX_SELECTED_CONTRACTS = 100;\nconst CANTON_TIME_PATTERN = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,9})?Z$/;\n\nconst nonRetryable = (message: string): never => {\n throw new NonRetryableError(message);\n};\n\nconst resolveParty = (\n partyRef: CantonRefreshPartyFilter,\n senderParty: string | undefined,\n label: string,\n): string => {\n if (!isCantonDeferredSender(partyRef)) return partyRef.party;\n if (!senderParty) {\n return nonRetryable(`${label} requires a resolved sender party`);\n }\n return senderParty;\n};\n\nconst parseDamlDecimal = (value: unknown, label: string): bigint => {\n if (typeof value !== 'string') {\n return nonRetryable(`${label} must be a DAML Decimal string`);\n }\n const match = /^([+-]?)(\\d+)(?:\\.(\\d{0,10}))?$/.exec(value);\n if (!match) {\n return nonRetryable(`${label} is not a valid DAML Decimal: ${value}`);\n }\n const sign = match[1] === '-' ? -1n : 1n;\n const whole = BigInt(match[2]!);\n const fraction = BigInt((match[3] ?? '').padEnd(10, '0'));\n return sign * (whole * DAML_DECIMAL_SCALE + fraction);\n};\n\nconst getContractNumericField = (contract: JsActiveContract, field: string): bigint => {\n const raw = getCreateArgumentField(contract.createdEvent.createArgument, field);\n const value =\n raw !== null && typeof raw === 'object' && 'initialAmount' in raw\n ? (raw as { initialAmount?: unknown }).initialAmount\n : raw;\n return parseDamlDecimal(\n value,\n `Contract ${contract.createdEvent.contractId} numeric field ${field}`,\n );\n};\n\nexport const selectContractsByGte = (\n contracts: JsActiveContract[],\n field: string,\n requestedValue: string,\n): JsActiveContract[] => {\n const requested = parseDamlDecimal(requestedValue, 'Requested contract value');\n if (requested <= 0n) {\n return nonRetryable('Requested contract value must be positive');\n }\n\n const candidates = contracts\n .map((contract) => ({\n contract,\n amount: getContractNumericField(contract, field),\n }))\n .filter(({ amount }) => amount > 0n)\n .sort((left, right) =>\n left.amount === right.amount\n ? left.contract.createdEvent.contractId.localeCompare(\n right.contract.createdEvent.contractId,\n )\n : left.amount > right.amount\n ? -1\n : 1,\n );\n\n const selected: JsActiveContract[] = [];\n let total = 0n;\n for (const candidate of candidates) {\n selected.push(candidate.contract);\n total += candidate.amount;\n if (total >= requested) break;\n }\n\n if (total < requested) {\n return nonRetryable(\n `Insufficient contract value in field ${field}: requested ${requestedValue}, found ${total.toString()} base units`,\n );\n }\n if (selected.length > MAX_SELECTED_CONTRACTS) {\n return nonRetryable(\n `Selection needs ${selected.length} contracts, exceeding the ${MAX_SELECTED_CONTRACTS} input limit`,\n );\n }\n return selected;\n};\n\nconst makeActiveContractRef = (selector: CantonContractSelector): ActiveContractRef => ({\n type: 'activeContractIds',\n partyToFilter: selector.queryAs,\n expectedSignatories: selector.expectedSignatories,\n templateId: selector.templateId,\n contractStateFilter: selector.stateFilter,\n});\n\nconst resolveContractValue = async (\n resolver: ReturnType<typeof createContractAddressResolver>,\n source: CantonActiveContractValue,\n): Promise<string> => {\n const contracts = await resolver.resolveActiveContracts(makeActiveContractRef(source.selector));\n if (contracts.length !== 1) {\n return nonRetryable(\n `Active contract value matched ${contracts.length} contracts, expected exactly one`,\n );\n }\n const value = getCreateArgumentField(contracts[0]!.createdEvent.createArgument, source.field);\n if (parseDamlDecimal(value, `Contract value ${source.field}`) <= 0n) {\n return nonRetryable(`Contract value ${source.field} must be positive`);\n }\n return value as string;\n};\n\nconst selectActiveContracts = async (\n contracts: JsActiveContract[],\n selection: CantonActiveContractSelection,\n resolver: ReturnType<typeof createContractAddressResolver>,\n): Promise<JsActiveContract[]> => {\n switch (selection.kind) {\n case 'exactlyOne':\n if (contracts.length !== 1) {\n return nonRetryable(\n `Active contract selection matched ${contracts.length} contracts, expected exactly one`,\n );\n }\n return contracts;\n case 'all':\n return contracts;\n case 'gte':\n return selectContractsByGte(\n contracts,\n selection.field,\n typeof selection.value === 'string'\n ? selection.value\n : await resolveContractValue(resolver, selection.value),\n );\n }\n};\n\nexport const resolveCantonActiveContracts = async (args: {\n client: ICantonClient;\n selector: CantonContractSelector;\n selection: CantonActiveContractSelection;\n senderParty?: string;\n}): Promise<{ contractIds: string[] }> => {\n const queryParty = resolveParty(\n args.selector.queryAs,\n args.senderParty,\n 'Active contract selection',\n );\n const ref = makeActiveContractRef(args.selector);\n const resolver = createContractAddressResolver({\n client: args.client,\n senderParty: args.senderParty,\n signingParties: [queryParty],\n appendDisclosures: () => undefined,\n });\n const selected = await selectActiveContracts(\n await resolver.resolveActiveContracts(ref),\n args.selection,\n resolver,\n );\n return {\n contractIds: selected.map(({ createdEvent }) => createdEvent.contractId),\n };\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n value !== null && typeof value === 'object' && !Array.isArray(value);\n\nconst isCantonTime = (value: unknown): value is string =>\n typeof value === 'string' &&\n CANTON_TIME_PATTERN.test(value) &&\n Number.isFinite(Date.parse(value));\n\nconst isActiveContractRefresh = (refresh: CantonRefresh): refresh is CantonActiveContractRefresh =>\n refresh.resolver.type === 'activeContract';\n\nconst isActiveContractValueRefresh = (\n refresh: CantonRefresh,\n): refresh is CantonActiveContractValueRefresh => refresh.resolver.type === 'activeContractValue';\n\nconst isAmuletContextRefresh = (refresh: CantonRefresh): refresh is CantonAmuletContextRefresh =>\n refresh.resolver.type === 'amuletContext';\n\nconst isTimestampRefresh = (refresh: CantonRefresh): refresh is CantonTimestampRefresh =>\n refresh.resolver.type === 'timestamp';\n\nconst replaceAtPath = (root: unknown, path: CantonRefreshPath, value: unknown): unknown => {\n if (path.length === 0) return value;\n\n let current = root;\n for (const [position, segment] of path.entries()) {\n const isLast = position === path.length - 1;\n if ('field' in segment) {\n if (!isRecord(current) || !(segment.field in current)) {\n return nonRetryable(`Refresh target field \"${segment.field}\" does not exist`);\n }\n if (isLast) {\n current[segment.field] = value;\n return root;\n }\n current = current[segment.field];\n continue;\n }\n if ('index' in segment) {\n if (!Array.isArray(current) || segment.index >= current.length) {\n return nonRetryable(`Refresh target array index ${segment.index} does not exist`);\n }\n if (isLast) {\n current[segment.index] = value;\n return root;\n }\n current = current[segment.index];\n continue;\n }\n\n if (!Array.isArray(current)) {\n return nonRetryable(`Refresh target DAML map \"${segment.damlMapKey}\" is not an array`);\n }\n const matches = current.filter(\n (entry): entry is [string, unknown] =>\n Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey,\n );\n if (matches.length !== 1) {\n return nonRetryable(\n `Refresh target DAML map key \"${segment.damlMapKey}\" matched ${matches.length} entries`,\n );\n }\n if (isLast) {\n matches[0]![1] = value;\n return root;\n }\n current = matches[0]![1];\n }\n return root;\n};\n\nconst readAtPath = (root: unknown, path: CantonRefreshPath): unknown => {\n let current = root;\n for (const segment of path) {\n if ('field' in segment) {\n if (!isRecord(current) || !(segment.field in current)) {\n return nonRetryable(`Refresh target field \"${segment.field}\" does not exist`);\n }\n current = current[segment.field];\n continue;\n }\n if ('index' in segment) {\n if (!Array.isArray(current) || segment.index >= current.length) {\n return nonRetryable(`Refresh target array index ${segment.index} does not exist`);\n }\n current = current[segment.index];\n continue;\n }\n\n if (!Array.isArray(current)) {\n return nonRetryable(`Refresh target DAML map \"${segment.damlMapKey}\" is not an array`);\n }\n const matches = current.filter(\n (entry): entry is [string, unknown] =>\n Array.isArray(entry) && entry.length === 2 && entry[0] === segment.damlMapKey,\n );\n if (matches.length !== 1) {\n return nonRetryable(\n `Refresh target DAML map key \"${segment.damlMapKey}\" matched ${matches.length} entries`,\n );\n }\n current = matches[0]![1];\n }\n return current;\n};\n\nconst readTarget = (\n commands: CantonUnresolvedCommands,\n target: CantonArgumentRefreshTarget,\n path: CantonRefreshPath,\n): unknown => {\n const command = commands[target.commandIndex];\n if (!command) {\n return nonRetryable(`Refresh command index ${target.commandIndex} does not exist`);\n }\n\n if (target.command === 'exercise') {\n if (!('exerciseCommand' in command)) {\n return nonRetryable(`Refresh command index ${target.commandIndex} is not an exercise`);\n }\n if (command.exerciseCommand.choice !== target.choice) {\n return nonRetryable(\n `Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`,\n );\n }\n return readAtPath(command.exerciseCommand.choiceArgument, path);\n }\n\n if (!('createCommand' in command)) {\n return nonRetryable(`Refresh command index ${target.commandIndex} is not a create`);\n }\n if (command.createCommand.templateId !== target.template) {\n return nonRetryable(\n `Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`,\n );\n }\n return readAtPath(command.createCommand.createArguments, path);\n};\n\nconst applyPatch = (\n commands: CantonUnresolvedCommands,\n target: CantonArgumentRefreshTarget,\n path: CantonRefreshPath,\n value: unknown,\n): void => {\n const command = commands[target.commandIndex];\n if (!command) {\n return nonRetryable(`Refresh command index ${target.commandIndex} does not exist`);\n }\n\n if (target.command === 'exercise') {\n if (!('exerciseCommand' in command)) {\n return nonRetryable(`Refresh command index ${target.commandIndex} is not an exercise`);\n }\n if (command.exerciseCommand.choice !== target.choice) {\n return nonRetryable(\n `Refresh command index ${target.commandIndex} expected choice ${target.choice}, found ${command.exerciseCommand.choice}`,\n );\n }\n command.exerciseCommand.choiceArgument = replaceAtPath(\n command.exerciseCommand.choiceArgument,\n path,\n value,\n );\n return;\n }\n\n if (!('createCommand' in command)) {\n return nonRetryable(`Refresh command index ${target.commandIndex} is not a create`);\n }\n if (command.createCommand.templateId !== target.template) {\n return nonRetryable(\n `Refresh command index ${target.commandIndex} expected template ${target.template}, found ${command.createCommand.templateId}`,\n );\n }\n command.createCommand.createArguments = replaceAtPath(\n command.createCommand.createArguments,\n path,\n value,\n );\n};\n\nconst applyTarget = (\n commands: CantonUnresolvedCommands,\n target: CantonRefreshTarget,\n value: unknown,\n): void => {\n if ('field' in target) {\n const command = commands[target.commandIndex];\n if (!command) {\n return nonRetryable(`Refresh command index ${target.commandIndex} does not exist`);\n }\n if (!('exerciseCommand' in command)) {\n return nonRetryable(`Refresh command index ${target.commandIndex} is not an exercise`);\n }\n if (typeof value !== 'string') {\n return nonRetryable('Exercise contract ID refresh must resolve to a string');\n }\n command.exerciseCommand.contractId = value;\n return;\n }\n\n for (const argument of target.arguments) {\n applyPatch(commands, target, argument.path, value);\n }\n};\n\nconst containsDeferredSentinel = (value: unknown, key?: string): boolean => {\n if (key === 'createdEventBlob') return false;\n if (isCantonDeferredSentinel(value)) return true;\n if (Array.isArray(value)) return value.some((item) => containsDeferredSentinel(item));\n if (!isRecord(value)) return false;\n return Object.entries(value).some(([childKey, child]) =>\n containsDeferredSentinel(child, childKey),\n );\n};\n\nconst disclosuresEqual = (\n left: CantonDisclosedContracts[number],\n right: CantonDisclosedContracts[number],\n): boolean =>\n left.contractId === right.contractId &&\n left.templateId === right.templateId &&\n left.createdEventBlob === right.createdEventBlob &&\n left.synchronizerId === right.synchronizerId;\n\nexport const resolveCantonRefreshPlan = async (args: {\n unresolvedCommands: CantonUnresolvedCommands;\n unresolvedDisclosedContracts: CantonDisclosedContracts;\n refreshPlan: CantonRefreshPlan;\n senderParty?: string;\n signingParties: string[];\n client: ICantonClient;\n}): Promise<{ commands: CantonCommands; disclosedContracts: CantonDisclosedContracts }> => {\n if (\n containsDeferredSentinel(args.unresolvedCommands) ||\n containsDeferredSentinel(args.unresolvedDisclosedContracts)\n ) {\n return nonRetryable('Canton refreshPlan cannot be combined with deferred sentinels');\n }\n\n const commands = structuredClone(args.unresolvedCommands);\n const baselineDisclosureCids = new Set(\n args.unresolvedDisclosedContracts.map(({ contractId }) => contractId),\n );\n const originalCids = new Set(args.refreshPlan.disclosures?.originalCids ?? []);\n for (const contractId of originalCids) {\n if (!baselineDisclosureCids.has(contractId)) {\n return nonRetryable(\n `Original disclosure ${contractId} cannot be refreshed: it is not present in unresolvedDisclosedContracts`,\n );\n }\n }\n const disclosureMap = new Map<string, CantonDisclosedContracts[number]>();\n const appendDisclosures = (disclosures: CantonDisclosedContracts): void => {\n for (const disclosure of disclosures) {\n const existing = disclosureMap.get(disclosure.contractId);\n if (existing && !disclosuresEqual(existing, disclosure)) {\n return nonRetryable(\n `Conflicting disclosures for contract ${disclosure.contractId}`,\n );\n }\n disclosureMap.set(disclosure.contractId, disclosure);\n }\n };\n appendDisclosures(\n args.unresolvedDisclosedContracts.filter(({ contractId }) => !originalCids.has(contractId)),\n );\n\n const resolver = createContractAddressResolver({\n client: args.client,\n senderParty: args.senderParty,\n signingParties: args.signingParties,\n appendDisclosures,\n });\n\n for (const refresh of args.refreshPlan.commands) {\n if (isActiveContractRefresh(refresh)) {\n const ref = makeActiveContractRef(refresh.resolver.selector);\n const selected = await selectActiveContracts(\n await resolver.resolveActiveContracts(ref),\n refresh.resolver.selection,\n resolver,\n );\n await resolver.discloseActiveContracts(ref, selected);\n const contractIds = selected.map(({ createdEvent }) => createdEvent.contractId);\n const resolved =\n refresh.resolver.selection.kind === 'exactlyOne' ? contractIds[0]! : contractIds;\n for (const target of refresh.targets) applyTarget(commands, target, resolved);\n continue;\n }\n\n if (isActiveContractValueRefresh(refresh)) {\n const value = await resolveContractValue(resolver, refresh.resolver);\n for (const target of refresh.targets) applyTarget(commands, target, value);\n continue;\n }\n\n if (isAmuletContextRefresh(refresh)) {\n const bundle = await args.client.getAmuletContextWithExternalRules({\n admin: refresh.resolver.dsoParty,\n id: 'Amulet',\n });\n appendDisclosures(bundle.disclosedContracts);\n for (const target of refresh.targets) {\n applyTarget(commands, target, bundle.amuletContext);\n }\n }\n }\n\n // Timestamp refreshes run after all external reads so their shared instant is\n // as close as possible to prepareForSigning, regardless of declaration order.\n const now = new Date();\n for (const refresh of args.refreshPlan.commands) {\n if (!isTimestampRefresh(refresh)) continue;\n\n for (const target of refresh.targets) {\n for (const { path, offsetMs = 0 } of target.arguments) {\n const iso = new Date(now.getTime() + offsetMs).toISOString();\n const current = readTarget(commands, target, path);\n const value = isCantonTime(current)\n ? iso\n : isRecord(current) && current.tag === 'AV_Time' && isCantonTime(current.value)\n ? { ...current, value: iso }\n : nonRetryable('Timestamp refresh target must contain a Canton Time value');\n applyPatch(commands, target, path, value);\n }\n }\n }\n\n return {\n commands: commands as CantonCommands,\n disclosedContracts: [...disclosureMap.values()],\n };\n};\n"]}
|
package/dist/6UDREB6T.js
DELETED
package/dist/6UDREB6T.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"6UDREB6T.js"}
|
package/dist/F7DI4SRR.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/refresh/resolve.ts"],"names":["resolveCantonTransaction","unresolvedCommands","unresolvedDisclosedContracts","refreshPlan","senderParty","signingParties","client","resolveCantonRefreshPlan","nextDisclosed","disclosedContractIds","Set","map","contractId","appendDisclosures","disclosures","disclosure","has","add","push","resolveActiveContractId","resolveActiveContractIds","requireSenderParty","createContractAddressResolver","amuletBundlePromise","getAmuletBundle","dsoParty","getDsoParty","amuletContext","disclosedContracts","bundle","externalPartyAmuletRulesCid","getAmuletContextWithExternalRules","admin","id","AMULET_INSTRUMENT_ID","resolveRef","ref","type","resolvedCommands","substituteRefsToCids","resolvedDisclosedContracts","index","length","commands"],"mappings":"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","file":"F7DI4SRR.js","sourcesContent":["import { AMULET_INSTRUMENT_ID, type ChoiceContext } from '../client/amulet';\nimport type { ICantonClient } from '../client/interface';\nimport type { CantonDeferredValue } from '../deferredValue';\nimport type {\n CantonCommands,\n CantonDisclosedContracts,\n CantonUnresolvedCommands,\n} from '../transaction';\nimport { createContractAddressResolver } from './address-resolver';\nimport type { CantonRefreshPlan } from './plan';\nimport { resolveCantonRefreshPlan } from './resolve-plan';\nimport { substituteRefsToCids } from './reverse-substitute';\n\nexport interface ResolveCantonAddressParams {\n unresolvedCommands: CantonUnresolvedCommands;\n unresolvedDisclosedContracts: CantonDisclosedContracts;\n refreshPlan?: CantonRefreshPlan;\n senderParty?: string;\n /** A contract is only disclosed when none of these parties is already a stakeholder on it. */\n signingParties: string[];\n client: ICantonClient;\n}\n\nexport const resolveCantonTransaction = async ({\n unresolvedCommands,\n unresolvedDisclosedContracts,\n refreshPlan,\n senderParty,\n signingParties,\n client,\n}: ResolveCantonAddressParams): Promise<{\n commands: CantonCommands;\n disclosedContracts: CantonDisclosedContracts;\n}> => {\n if (refreshPlan) {\n return resolveCantonRefreshPlan({\n unresolvedCommands,\n unresolvedDisclosedContracts,\n refreshPlan,\n senderParty,\n signingParties,\n client,\n });\n }\n\n const nextDisclosed = [...unresolvedDisclosedContracts];\n const disclosedContractIds = new Set(\n unresolvedDisclosedContracts.map(({ contractId }) => contractId),\n );\n const appendDisclosures = (disclosures: CantonDisclosedContracts): void => {\n for (const disclosure of disclosures) {\n if (!disclosedContractIds.has(disclosure.contractId)) {\n disclosedContractIds.add(disclosure.contractId);\n nextDisclosed.push(disclosure);\n }\n }\n };\n\n const { resolveActiveContractId, resolveActiveContractIds, requireSenderParty } =\n createContractAddressResolver({\n client,\n senderParty,\n signingParties,\n appendDisclosures,\n });\n\n let amuletBundlePromise:\n | Promise<{\n amuletContext: ChoiceContext;\n externalPartyAmuletRulesCid: string;\n }>\n | undefined;\n\n const getAmuletBundle = async () => {\n if (!amuletBundlePromise) {\n amuletBundlePromise = (async () => {\n const dsoParty = await client.getDsoParty();\n const {\n amuletContext,\n disclosedContracts: bundle,\n externalPartyAmuletRulesCid,\n } = await client.getAmuletContextWithExternalRules({\n admin: dsoParty,\n id: AMULET_INSTRUMENT_ID,\n });\n appendDisclosures(bundle);\n return { amuletContext, externalPartyAmuletRulesCid };\n })();\n }\n return amuletBundlePromise;\n };\n\n const resolveRef = async (ref: CantonDeferredValue): Promise<unknown> => {\n switch (ref.type) {\n case 'senderParty':\n return requireSenderParty(ref.type);\n case 'activeContractId':\n return resolveActiveContractId(ref);\n case 'activeContractIds':\n return resolveActiveContractIds(ref);\n case 'amuletRulesCid':\n return (await getAmuletBundle()).externalPartyAmuletRulesCid;\n case 'amuletContext':\n return (await getAmuletBundle()).amuletContext;\n }\n };\n\n const resolvedCommands = await substituteRefsToCids(unresolvedCommands, resolveRef);\n const resolvedDisclosedContracts: CantonDisclosedContracts = [];\n for (let index = 0; index < nextDisclosed.length; index++) {\n resolvedDisclosedContracts.push(\n await substituteRefsToCids(nextDisclosed[index]!, resolveRef),\n );\n }\n\n return {\n commands: resolvedCommands,\n disclosedContracts: resolvedDisclosedContracts,\n };\n};\n"]}
|
package/dist/HF5HP2EX.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/refresh/wrapped-lz-sdk.ts"],"names":["applyRefs","result","refs","referencedContracts","length","contractIdToRef","Map","map","ref","expectedSignatories","NonRetryableError","cid","cantonActiveContractIdRef","partyToFilter","party","templateId","contractStateFilter","_dropped","rest","disclosed","disclosedContracts","Array","isArray","filter","disclosure","has","contractId","substituteCidsToRefs","wrapLzSdk","sdk","Proxy","get","target","prop","receiver","member","Reflect","args","apply","isPromise","then"],"mappings":";;;;;;AAmBA,IAAMA,SAAAA,2BAAgBC,MAAAA,KAAAA;AAClB,EAAA,MAAMC,OAAQD,MAAAA,EACRE,mBAAAA;AACN,EAAA,IAAI,CAACD,IAAAA,EAAME,MAAAA,EAAQ,OAAOH,MAAAA;AAE1B,EAAA,MAAMI,kBAAkB,IAAIC,GAAAA,CACxBJ,IAAAA,CAAKK,GAAAA,CAAI,CAACC,GAAAA,KAAAA;AACN,IAAA,MAAMC,sBAAsBD,GAAAA,CAAIC,mBAAAA;AAChC,IAAA,IAAI,CAACA,mBAAAA,CAAoB,CAAA,CAAA,EAAI;AACzB,MAAA,MAAM,IAAIC,iBAAAA,CACN,CAAA,2BAAA,EAA8BF,GAAAA,CAAIG,GAAG,CAAA,4BAAA,CAA8B,CAAA;AAE3E,IAAA;AACA,IAAA,OAAO;MACHH,GAAAA,CAAIG,GAAAA;MACJC,yBAAAA,CAA0B;QACtBC,aAAAA,EAAe;AAAEC,UAAAA,KAAAA,EAAON,GAAAA,CAAIM;AAAM,SAAA;AAClCL,QAAAA,mBAAAA;AACAM,QAAAA,UAAAA,EAAYP,GAAAA,CAAIO,UAAAA;AAChB,QAAA,GAAIP,IAAIQ,mBAAAA,GACF;AAAEA,UAAAA,mBAAAA,EAAqBR,GAAAA,CAAIQ;AAAoB,SAAA,GAC/C;OACV;;AAER,EAAA,CAAA,CAAA,CAAA;AAGJ,EAAA,MAAM,EAAEb,mBAAAA,EAAqBc,QAAAA,EAAU,GAAGC,MAAAA,GAASjB,MAAAA;AACnD,EAAA,MAAMkB,YAAaD,IAAAA,CACdE,kBAAAA;AACL,EAAA,IAAIC,KAAAA,CAAMC,OAAAA,CAAQH,SAAAA,CAAAA,EAAY;AACzBD,IAAAA,IAAAA,CAAyCE,kBAAAA,GAAqBD,SAAAA,CAAUI,MAAAA,CACrE,CAACC,UAAAA,KAAe,CAACnB,eAAAA,CAAgBoB,GAAAA,CAAID,UAAAA,CAAWE,UAAU,CAAA,CAAA;AAElE,EAAA;AACA,EAAA,OAAOC,oBAAAA,CAAqBT,MAAMb,eAAAA,CAAAA;AACtC,CAAA,EApCkB,WAAA,CAAA;AAuCX,IAAMuB,SAAAA,mBAAY,MAAA,CAAA,CAAmBC,GAAAA,KACxC,IAAIC,MAAMD,GAAAA,EAAK;EACXE,GAAAA,CAAIC,MAAAA,EAAQC,MAAMC,QAAAA,EAAQ;AACtB,IAAA,MAAMC,MAAAA,GAASC,OAAAA,CAAQL,GAAAA,CAAIC,MAAAA,EAAQC,MAAMC,QAAAA,CAAAA;AACzC,IAAA,IAAI,OAAOC,MAAAA,KAAW,UAAA,EAAY,OAAOA,MAAAA;AACzC,IAAA,OAAO,IAAIE,IAAAA,KAAAA;AACP,MAAA,MAAMpC,MAAAA,GAAUkC,MAAAA,CAAqBG,KAAAA,CAAMN,MAAAA,EAAQK,IAAAA,CAAAA;AACnD,MAAA,OAAOE,UAAUtC,MAAAA,CAAAA,GAAUA,MAAAA,CAAOuC,IAAAA,CAAKxC,SAAAA,CAAAA,GAAaC,MAAAA;AACxD,IAAA,CAAA;AACJ,EAAA;AACJ,CAAA,CAAA,EAVqB,WAAA","file":"HF5HP2EX.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\nimport { isPromise } from '@layerzerolabs/typescript-utils';\n\nimport { cantonActiveContractIdRef, type CantonDeferredRef } from '../deferredValue';\nimport type { ContractDataIdentifier } from '../transaction';\nimport { substituteCidsToRefs } from './reverse-substitute';\n\ntype AnyMethod = (...args: unknown[]) => unknown;\n\ntype WithRefsInjected<R> = R extends { referencedContracts?: unknown }\n ? Omit<R, 'referencedContracts'>\n : R;\n\ntype LzWrapped<T> = {\n [K in keyof T]: T[K] extends (...a: infer A) => Promise<infer R>\n ? (...a: A) => Promise<WithRefsInjected<R>>\n : T[K];\n};\n\nconst applyRefs = <R>(result: R): WithRefsInjected<R> => {\n const refs = (result as { referencedContracts?: Array<ContractDataIdentifier> })\n ?.referencedContracts;\n if (!refs?.length) return result as WithRefsInjected<R>;\n\n const contractIdToRef = new Map<string, CantonDeferredRef>(\n refs.map((ref) => {\n const expectedSignatories = ref.expectedSignatories;\n if (!expectedSignatories[0]) {\n throw new NonRetryableError(\n `ContractDataIdentifier for ${ref.cid} missing expectedSignatories`,\n );\n }\n return [\n ref.cid,\n cantonActiveContractIdRef({\n partyToFilter: { party: ref.party },\n expectedSignatories,\n templateId: ref.templateId,\n ...(ref.contractStateFilter\n ? { contractStateFilter: ref.contractStateFilter }\n : {}),\n }),\n ];\n }),\n );\n\n const { referencedContracts: _dropped, ...rest } = result as Record<string, unknown>;\n const disclosed = (rest as { disclosedContracts?: Array<{ contractId: string }> })\n .disclosedContracts;\n if (Array.isArray(disclosed)) {\n (rest as { disclosedContracts: unknown }).disclosedContracts = disclosed.filter(\n (disclosure) => !contractIdToRef.has(disclosure.contractId),\n );\n }\n return substituteCidsToRefs(rest, contractIdToRef) as WithRefsInjected<R>;\n};\n\n/** Rewrites the cids a contract SDK reports in `referencedContracts` to sign-time refs. */\nexport const wrapLzSdk = <T extends object>(sdk: T): LzWrapped<T> =>\n new Proxy(sdk, {\n get(target, prop, receiver) {\n const member = Reflect.get(target, prop, receiver);\n if (typeof member !== 'function') return member;\n return (...args: unknown[]): unknown => {\n const result = (member as AnyMethod).apply(target, args);\n return isPromise(result) ? result.then(applyRefs) : result;\n };\n },\n }) as LzWrapped<T>;\n"]}
|
package/dist/ODJN4O2R.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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","exerciseChoiceArgumentTargetSchema","choice","arguments","path","cantonCreateArgumentTargetSchema","template","cantonRefreshTargetSchema","cantonArgumentRefreshTargetSchema","cantonNestedArgumentRefreshTargetSchema","extend","offsetMs","optional","cantonContractSelectorSchema","queryAs","cantonRefreshPartyFilterSchema","templateId","expectedSignatories","cantonExpectedSignatoriesSchema","stateFilter","record","unknown","cantonActiveContractValueSchema","selector","cantonExactlyOneSelectionSchema","kind","cantonAllSelectionSchema","cantonGteSelectionSchema","value","cantonActiveContractSelectionSchema","discriminatedUnion","cantonActiveContractResolverFields","type","cantonActiveContractRefreshSchema","resolver","selection","targets","cantonActiveContractValueRefreshSchema","cantonAmuletContextRefreshSchema","dsoParty","cantonTimestampRefreshSchema","cantonRefreshSchema","cantonDisclosureRefreshSchema","originalCids","refine","cids","Set","size","length","message","cantonRefreshPlanSchema","commands","disclosures"],"mappings":"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","file":"ODJN4O2R.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});\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 cantonContractSelectorSchema = z.object({\n queryAs: cantonRefreshPartyFilterSchema,\n templateId: z.string().min(1),\n expectedSignatories: cantonExpectedSignatoriesSchema,\n stateFilter: z.record(z.string(), z.unknown()).optional(),\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).min(1),\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 }),\n targets: z.array(cantonArgumentRefreshTargetSchema).min(1),\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 cantonTimestampRefreshSchema,\n]);\n\nconst cantonDisclosureRefreshSchema = z.object({\n originalCids: z\n .array(z.string().min(1))\n .min(1)\n .refine((cids) => new Set(cids).size === cids.length, {\n message: 'Original disclosure CIDs must be unique',\n }),\n});\n\nexport const cantonRefreshPlanSchema = z.object({\n commands: z.array(cantonRefreshSchema).min(1),\n disclosures: cantonDisclosureRefreshSchema.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"]}
|
package/dist/PXHLNX4K.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/refresh/deployment-address.ts"],"names":["qualifiedTemplateName","templateId","firstColon","indexOf","slice","templateIdMatches","eventTemplateId","filterTemplateId","buildCantonDeployedContractAddressRef","createdEvent","spec","qualifiedName","createArgument","ownerParty","getCreateArgumentField","ownerField","NonRetryableError","contractStateFilter","identityKeys","length","Object","fromEntries","map","key","undefined","cantonActiveContractIdRef","partyToFilter","party","expectedSignatories","packageName"],"mappings":";;;;;AAaO,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;AAM9B,IAAMG,iBAAAA,2BAAqBC,eAAAA,EAAyBC,gBAAAA,KACvDP,sBAAsBM,eAAAA,CAAAA,KAAqBN,qBAAAA,CAAsBO,gBAAAA,CAAAA,EADpC,mBAAA;AAQ1B,IAAMC,qCAAAA,mBAAwC,MAAA,CAAA,CACjDC,YAAAA,EACAC,IAAAA,KAAAA;AAEA,EAAA,MAAMC,aAAAA,GAAgBX,qBAAAA,CAAsBS,YAAAA,CAAaR,UAAU,CAAA;AACnE,EAAA,MAAMW,cAAAA,GAAkBH,YAAAA,CAAaG,cAAAA,IAAkB,EAAC;AACxD,EAAA,MAAMC,UAAAA,GAAaC,sBAAAA,CAAuBF,cAAAA,EAAgBF,IAAAA,CAAKK,UAAU,CAAA;AACzE,EAAA,IAAI,OAAOF,eAAe,QAAA,EAAU;AAChC,IAAA,MAAM,IAAIG,iBAAAA,CACN,CAAA,UAAA,EAAaL,aAAAA,CAAAA,iDAAAA,EAAiED,IAAAA,CAAKK,UAAU,CAAA,CAAA,CAAG,CAAA;AAExG,EAAA;AAEA,EAAA,MAAME,mBAAAA,GAAsBP,IAAAA,CAAKQ,YAAAA,CAAaC,MAAAA,GACxCC,MAAAA,CAAOC,YAAYX,IAAAA,CAAKQ,YAAAA,CAAaI,GAAAA,CAAI,CAACC,GAAAA,KAAQ;AAACA,IAAAA,GAAAA;AAAKX,IAAAA,cAAAA,CAAeW,GAAAA;AAAK,GAAA,CAAA,CAAA,GAC5EC,MAAAA;AAEN,EAAA,OAAOC,yBAAAA,CAA0B;IAC7BC,aAAAA,EAAe;MAAEC,KAAAA,EAAOd;AAAW,KAAA;;IAEnCe,mBAAAA,EAAqB;AAACf,MAAAA;;AACtBZ,IAAAA,UAAAA,EAAY,CAAA,CAAA,EAAIS,IAAAA,CAAKmB,WAAW,CAAA,CAAA,EAAIlB,aAAAA,CAAAA,CAAAA;AACpC,IAAA,GAAIM,mBAAAA,GAAsB;AAAEA,MAAAA;AAAoB,KAAA,GAAI;GACxD,CAAA;AACJ,CAAA,EAxBqD,uCAAA","file":"PXHLNX4K.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport { cantonActiveContractIdRef, type CantonDeferredRef } from '../deferredValue';\nimport { getCreateArgumentField } from '../trusted-origin';\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\n/** Compare ledger vs filter template IDs, ignoring package-hash vs `#package-name` prefix. */\nexport const templateIdMatches = (eventTemplateId: string, filterTemplateId: string): boolean =>\n qualifiedTemplateName(eventTemplateId) === qualifiedTemplateName(filterTemplateId);\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 = getCreateArgumentField(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"]}
|
package/dist/QSQZYJB6.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
package/dist/SEKD553P.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client/amulet.ts"],"names":["AMULET_INSTRUMENT_ID","CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS","fetchAmuletContext","walletUrl","token","instrumentId","now","Date","later","getTime","response","fetch","URL","method","headers","Authorization","body","JSON","stringify","choiceArguments","expectedAdmin","admin","transfer","sender","receiver","amount","requestedAt","toISOString","executeBefore","inputHoldingCids","meta","values","extraArgs","context","ok","text","CantonProtocolError","status","data","json","disclosedContracts","choiceContextData","amuletContext","choiceContext","fetchAcceptContext","args","encodeURIComponent","contractId","excludeDebugFields","injectExternalPartyAmuletRules","externalRulesContract","find","contract","templateId","includes","NonRetryableError","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","createdEventBlob","created_event_blob","synchronizerId","domain_id"],"mappings":"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","file":"SEKD553P.js","sourcesContent":["import { NonRetryableError } from '@layerzerolabs/common-error-utils';\n\nimport type { TokenProvider } from '../auth/token-provider';\nimport { CantonProtocolError } from '../errors';\nimport type { DisclosedContract } from '../open-api/models';\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 AmuletContextResult = {\n amuletContext: ChoiceContext;\n disclosedContracts: DisclosedContract[];\n externalPartyAmuletRulesCid: string;\n};\n\n// The probe (amount 0, sender = receiver = admin) never executes — it only fetches context; 1-hour window is ample.\nconst CONTEXT_PROBE_EXECUTE_BEFORE_WINDOW_MS = 60 * 60 * 1000;\n\ntype AmuletContextResponse = {\n choiceContext: {\n disclosedContracts: DisclosedContract[];\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): Promise<{ amuletContext: ChoiceContext; disclosedContracts: DisclosedContract[] }> => {\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: instrumentId.admin,\n amount: '0',\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\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?: DisclosedContract[];\n };\n disclosedContracts?: DisclosedContract[];\n};\n\n/** ChoiceContext for `TransferInstruction_Accept` on a single pending instruction. */\nexport const fetchAcceptContext = async (args: {\n walletUrl: string;\n token: string;\n contractId: string;\n}): Promise<{ choiceContext: ChoiceContext; disclosedContracts: DisclosedContract[] }> => {\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/accept`,\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(`Failed to get accept context: ${response.status} ${text}`);\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\n/** Injects ExternalPartyAmuletRules cid into the ChoiceContext — required by every flow hitting FeeUtils.validateContext. */\nexport const injectExternalPartyAmuletRules = (\n amuletContext: ChoiceContext,\n disclosedContracts: DisclosedContract[],\n): { amuletContext: ChoiceContext; externalPartyAmuletRulesCid: string } => {\n const externalRulesContract = disclosedContracts.find((contract) =>\n contract.templateId?.includes('ExternalPartyAmuletRules'),\n );\n\n if (!externalRulesContract) {\n throw new NonRetryableError(\n 'ExternalPartyAmuletRules not found in disclosed contracts from amulet context',\n );\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): DisclosedContract => ({\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"]}
|
package/dist/WLHCBBAJ.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"]}
|