@layerzerolabs/gated-transaction 0.0.54 → 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.turbo/turbo-build.log +28 -28
  2. package/.turbo/turbo-test.log +3 -3
  3. package/dist/{VID3ZZ5G.cjs → CZKVKTL4.cjs} +5 -5
  4. package/dist/{VID3ZZ5G.cjs.map → CZKVKTL4.cjs.map} +1 -1
  5. package/dist/{36XFV4BM.cjs → EJKFKEMV.cjs} +2 -2
  6. package/dist/{36XFV4BM.cjs.map → EJKFKEMV.cjs.map} +1 -1
  7. package/dist/{5YTIURD3.js → JMMYK2SL.js} +3 -3
  8. package/dist/{5YTIURD3.js.map → JMMYK2SL.js.map} +1 -1
  9. package/dist/{ILT2CCJW.js → ONVFWJXG.js} +4 -4
  10. package/dist/{ILT2CCJW.js.map → ONVFWJXG.js.map} +1 -1
  11. package/dist/{44CZPU6S.cjs → UVQ5QQ4U.cjs} +17 -6
  12. package/dist/UVQ5QQ4U.cjs.map +1 -0
  13. package/dist/{CKYPLVJX.js → VH2LMV2W.js} +16 -6
  14. package/dist/VH2LMV2W.js.map +1 -0
  15. package/dist/{O2UH7G3V.js → WNYV5NIT.js} +2 -2
  16. package/dist/{O2UH7G3V.js.map → WNYV5NIT.js.map} +1 -1
  17. package/dist/{B7FZNQF3.cjs → XROB6QHI.cjs} +19 -19
  18. package/dist/{B7FZNQF3.cjs.map → XROB6QHI.cjs.map} +1 -1
  19. package/dist/gatedTransactionSignalLock.cjs +5 -5
  20. package/dist/gatedTransactionSignalLock.js +2 -2
  21. package/dist/gatedTx.cjs +4 -4
  22. package/dist/gatedTx.d.ts +3 -3
  23. package/dist/gatedTx.d.ts.map +1 -1
  24. package/dist/gatedTx.js +1 -1
  25. package/dist/index.cjs +25 -21
  26. package/dist/index.js +4 -4
  27. package/dist/resolver.cjs +5 -5
  28. package/dist/resolver.js +3 -3
  29. package/dist/schemata.cjs +14 -10
  30. package/dist/schemata.d.ts +10 -1
  31. package/dist/schemata.d.ts.map +1 -1
  32. package/dist/schemata.js +1 -1
  33. package/package.json +10 -10
  34. package/src/gatedTx.ts +6 -4
  35. package/src/schemata.ts +43 -4
  36. package/.turbo/turbo-checkdeps.log +0 -8
  37. package/dist/44CZPU6S.cjs.map +0 -1
  38. package/dist/CKYPLVJX.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData","gatedTransactionIsResolvedGatedTransaction","gtx","result","gatedTransactionSchema","_","customSchema","resolvedGatedTransactionSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","array","def","items","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional"],"mappings":"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","file":"VH2LMV2W.js","sourcesContent":["import z from 'zod/v4';\n\nimport type { transactionSchema as _transactionSchema } from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport type { BuildTuple } from '@layerzerolabs/typescript-utils';\nimport type { InferredArray } from '@layerzerolabs/zod-utils';\nimport { customSchema, functionSchema } from '@layerzerolabs/zod-utils';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> = OnChainDataType extends number\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : '=' | '!=';\n\nexport type OnChainDataComparison<OnChainDataType> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<\n Method extends (...args: any[]) => Promise<any> = (...args: any[]) => Promise<unknown>,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TxWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n txWithResultSchema: TxWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: txWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: txWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\nexport type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret\n ? Awaited<Ret>\n : unknown;\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n InferOnChainDataTypeFromCheck<GatedTx['check']>;\n\nexport type GatedTransactionDependencies = GatedTransaction[];\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n };\n };\n chainName: string;\n check: GatedTransactionCheck<CheckMethod>;\n dependencies: _Dependencies;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n};\n\nexport type LiteralGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckMethod, _Dependencies>\n | FunctionalGatedTransaction<Name, TxType, CheckMethod, DepMethod, _Dependencies>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<infer Name, any, infer CheckMethod, any, infer _Dependencies>\n ? BaseGatedTransaction<Name, CheckMethod, _Dependencies>\n : never;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxType extends Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<GatedTx extends GatedTransaction, TxType extends Transaction> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxType>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<GatedTx, TxType>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\nexport type ResolvedGatedTransaction<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = BaseGatedTransactionFor<GatedTx> & {\n result: GatedTransactionResult<GatedTx, TxType>;\n};\n\nexport const gatedTransactionIsResolvedGatedTransaction = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\n\nexport type UserInteractionCallbacks = {\n confirmationCallback?: (gtx: GatedTransaction) => Promise<boolean>;\n onResultCallback?: (result: ResolvedGatedTransaction) => void;\n};\n\nexport const gatedTransactionSchema = <\n Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n>(_?: {\n name?: Name;\n transactionSchema?: TransactionSchema;\n}) => customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>();\n\nexport const resolvedGatedTransactionSchema = <\n Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n>(_?: {\n name?: Name;\n transactionSchema?: TransactionSchema;\n}) =>\n customSchema<\n ResolvedGatedTransaction<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >();\n\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxArrayDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n extraArgs?: ExtraArgs,\n) => {\n return functionSchema({\n input: z.tuple([\n z.array(\n resolvedGatedTransactionSchema({\n transactionSchema,\n }),\n ),\n ...(extraArgs?.def?.items ?? []),\n ]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxTupleDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n txNumber: TxNumber,\n extraArgs?: ExtraArgs,\n) => {\n const txs = Array.from({ length: txNumber }, () =>\n resolvedGatedTransactionSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([z.tuple(txs as any), ...(extraArgs?.def?.items ?? [])]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n\nexport const createGatedTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionWithResultSchema extends\n typeof _transactionWithResultSchema = typeof _transactionWithResultSchema,\n>({\n input,\n output,\n transactionWithResultSchema,\n}: {\n input?: Input;\n transactionWithResultSchema?: TransactionWithResultSchema;\n output: Output;\n}) => {\n const txWithResultSchema = (\n transactionWithResultSchema ?? _transactionWithResultSchema\n ).optional();\n\n return functionSchema({\n input: z.tuple([...(input ?? []), txWithResultSchema] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [...InferredArray<Input>, z.infer<TransactionWithResultSchema>?]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies>\n ? {\n [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;\n }\n : never;\n"]}
@@ -21,5 +21,5 @@ var getIdForGatedTransaction = /* @__PURE__ */ __name((gtx) => {
21
21
  }, "getIdForGatedTransaction");
22
22
 
23
23
  export { constructGatedTransaction, constructGatedTransactionFromPointer, getIdForGatedTransaction };
24
- //# sourceMappingURL=O2UH7G3V.js.map
25
- //# sourceMappingURL=O2UH7G3V.js.map
24
+ //# sourceMappingURL=WNYV5NIT.js.map
25
+ //# sourceMappingURL=WNYV5NIT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/gatedTx.ts"],"names":["constructGatedTransaction","gtx","dependencies","transactionType","constructGatedTransactionFromPointer","getIdForGatedTransaction","serializedUniqueIdKeys","uniqueIdKeys","Object","entries","map","k","v","join","name","chainName"],"mappings":";;;AAeO,IAAMA,yBAAAA,2BAKXC,GAAAA,KAAAA;AAsBE,EAAA,MAAMC,YAAAA,GAAeD,GAAAA,CAAIC,YAAAA,IAAiB,EAAA;AAC1C,EAAA,OAAO;IAAE,GAAGD,GAAAA;IAAKE,eAAAA,EAAiB,SAAA;AAAWD,IAAAA;AAAa,GAAA;AAC9D,CAAA,EA7ByC,2BAAA;AA2ClC,IAAME,oCAAAA,2BAKXH,GAAAA,KAAAA;AAyBE,EAAA,OAAO;IACH,GAAGA,GAAAA;IACHE,eAAAA,EAAiB;AACrB,GAAA;AACJ,CAAA,EAlCoD,sCAAA;AAoC7C,IAAME,wBAAAA,2BAA4BJ,GAAAA,KAAAA;AACrC,EAAA,MAAMK,sBAAAA,GAAyBL,IAAIM,YAAAA,GAC7BC,MAAAA,CAAOC,QAAQR,GAAAA,CAAIM,YAAY,CAAA,CAC1BG,GAAAA,CAAI,CAAC,CAACC,GAAGC,CAAAA,CAAAA,KAAO,GAAGD,CAAAA,CAAAA,CAAAA,EAAKC,CAAAA,CAAAA,CAAG,CAAA,CAC3BC,IAAAA,CAAK,GAAA,CAAA,GACV,EAAA;AAEN,EAAA,OAAO,GAAGZ,GAAAA,CAAIa,IAAI,IAAIb,GAAAA,CAAIc,SAAS,IAAIT,sBAAAA,CAAAA,CAAAA;AAC3C,CAAA,EARwC,0BAAA","file":"O2UH7G3V.js","sourcesContent":["import type { Transaction } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\n\nimport type {\n BaseGatedTransaction,\n GatedTransaction,\n GatedTransactionDependencies,\n GatedTransactionId,\n OnChainDataComparison,\n ResolvedGatedTransaction,\n} from './schemata';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n Tx extends Transaction,\n Method extends (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n };\n };\n check: {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: _Dependencies;\n transaction: Tx;\n}): GatedTransaction<Name, Tx, Method, any, _Dependencies> => {\n const dependencies = gtx.dependencies ?? ([] as any);\n return { ...gtx, transactionType: 'literal', dependencies };\n};\n\ntype BuildDeps<Params extends readonly ResolvedGatedTransaction[]> = Params extends []\n ? []\n : Params extends readonly [\n ResolvedGatedTransaction<infer Gtx>,\n ...infer Rest extends readonly ResolvedGatedTransaction[],\n ]\n ? [Gtx, ...BuildDeps<readonly [...Rest]>]\n : Params;\n\n/**\n * Builds a {@link GatedTransaction} from a pointer\n */\nexport const constructGatedTransactionFromPointer = <\n const Name extends string,\n TxType extends Transaction,\n Method extends (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType>,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n };\n };\n check: {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies: BuildDeps<Parameters<DepMethod>[0]>;\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n}): GatedTransaction<Name, TxType, Method, DepMethod, BuildDeps<Parameters<DepMethod>[0]>> => {\n return {\n ...gtx,\n transactionType: 'functional',\n };\n};\n\nexport const getIdForGatedTransaction = (gtx: BaseGatedTransaction): GatedTransactionId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.name}-${gtx.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
1
+ {"version":3,"sources":["../src/gatedTx.ts"],"names":["constructGatedTransaction","gtx","dependencies","transactionType","constructGatedTransactionFromPointer","getIdForGatedTransaction","serializedUniqueIdKeys","uniqueIdKeys","Object","entries","map","k","v","join","name","chainName"],"mappings":";;;AAeO,IAAMA,yBAAAA,2BAKXC,GAAAA,KAAAA;AAsBE,EAAA,MAAMC,YAAAA,GAAeD,GAAAA,CAAIC,YAAAA,IAAiB,EAAA;AAC1C,EAAA,OAAO;IAAE,GAAGD,GAAAA;IAAKE,eAAAA,EAAiB,SAAA;AAAWD,IAAAA;AAAa,GAAA;AAC9D,CAAA,EA7ByC,2BAAA;AA6ClC,IAAME,oCAAAA,2BAKXH,GAAAA,KAAAA;AAyBE,EAAA,OAAO;IACH,GAAGA,GAAAA;IACHE,eAAAA,EAAiB;AACrB,GAAA;AACJ,CAAA,EAlCoD,sCAAA;AAoC7C,IAAME,wBAAAA,2BAA4BJ,GAAAA,KAAAA;AACrC,EAAA,MAAMK,sBAAAA,GAAyBL,IAAIM,YAAAA,GAC7BC,MAAAA,CAAOC,QAAQR,GAAAA,CAAIM,YAAY,CAAA,CAC1BG,GAAAA,CAAI,CAAC,CAACC,GAAGC,CAAAA,CAAAA,KAAO,GAAGD,CAAAA,CAAAA,CAAAA,EAAKC,CAAAA,CAAAA,CAAG,CAAA,CAC3BC,IAAAA,CAAK,GAAA,CAAA,GACV,EAAA;AAEN,EAAA,OAAO,GAAGZ,GAAAA,CAAIa,IAAI,IAAIb,GAAAA,CAAIc,SAAS,IAAIT,sBAAAA,CAAAA,CAAAA;AAC3C,CAAA,EARwC,0BAAA","file":"WNYV5NIT.js","sourcesContent":["import type { Transaction } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\n\nimport type {\n BaseGatedTransaction,\n GatedTransaction,\n GatedTransactionDependencies,\n GatedTransactionId,\n OnChainDataComparison,\n ResolvedGatedTransaction,\n} from './schemata';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n Tx extends Transaction,\n Method extends (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n };\n };\n check: {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: _Dependencies;\n transaction: Tx;\n}): GatedTransaction<Name, Tx, Method, any, _Dependencies> => {\n const dependencies = gtx.dependencies ?? ([] as any);\n return { ...gtx, transactionType: 'literal', dependencies };\n};\n\ntype BuildDeps<Params extends ResolvedGatedTransaction[]> = Params extends []\n ? []\n : Params extends readonly [\n ResolvedGatedTransaction<infer Gtx>,\n ...infer Rest extends ResolvedGatedTransaction[],\n ]\n ? [Gtx, ...BuildDeps<[...Rest]>]\n : Params extends Array<ResolvedGatedTransaction<infer Gtx>>\n ? Array<Gtx>\n : never;\n\n/**\n * Builds a {@link GatedTransaction} from a pointer\n */\nexport const constructGatedTransactionFromPointer = <\n const Name extends string,\n TxType extends Transaction,\n Method extends (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType>,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n };\n };\n check: {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies: BuildDeps<Parameters<DepMethod>[0]>;\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n}): GatedTransaction<Name, TxType, Method, DepMethod, BuildDeps<Parameters<DepMethod>[0]>> => {\n return {\n ...gtx,\n transactionType: 'functional',\n };\n};\n\nexport const getIdForGatedTransaction = (gtx: BaseGatedTransaction): GatedTransactionId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.name}-${gtx.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var _36XFV4BM_cjs = require('./36XFV4BM.cjs');
4
- var _44CZPU6S_cjs = require('./44CZPU6S.cjs');
3
+ var EJKFKEMV_cjs = require('./EJKFKEMV.cjs');
4
+ var UVQ5QQ4U_cjs = require('./UVQ5QQ4U.cjs');
5
5
  var YJF4D23A_cjs = require('./YJF4D23A.cjs');
6
6
  var isEqual = require('lodash.isequal');
7
7
 
@@ -62,7 +62,7 @@ var extractGatedTransactionUnderlyingTransaction = /* @__PURE__ */ YJF4D23A_cjs.
62
62
  ]);
63
63
  }
64
64
  if (!tx.parallelizingKey) {
65
- tx.parallelizingKey = `MISSING_PARALLELIZING_KEY-${_36XFV4BM_cjs.getIdForGatedTransaction(gatedTransaction)}`;
65
+ tx.parallelizingKey = `MISSING_PARALLELIZING_KEY-${EJKFKEMV_cjs.getIdForGatedTransaction(gatedTransaction)}`;
66
66
  }
67
67
  return tx;
68
68
  }, "extractGatedTransactionUnderlyingTransaction");
@@ -78,7 +78,7 @@ var resolveGatedTransaction = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ activ
78
78
  metadata: gatedTx.metadata,
79
79
  description: gatedTx.description
80
80
  };
81
- const dependencyIds = (gatedTx.dependencies ?? []).map((tx) => _36XFV4BM_cjs.getIdForGatedTransaction(tx));
81
+ const dependencyIds = (gatedTx.dependencies ?? []).map((tx) => EJKFKEMV_cjs.getIdForGatedTransaction(tx));
82
82
  const dependenciesAreAllProcessed = /* @__PURE__ */ YJF4D23A_cjs.__name(() => dependencyIds.every((id) => getTransactionResult(id)), "dependenciesAreAllProcessed");
83
83
  await fn.condition(dependenciesAreAllProcessed);
84
84
  const dependenciesWereSuccessful = dependencyIds.every((id) => getTransactionResult(id)?.checkResult.expectationMet);
@@ -91,7 +91,7 @@ var resolveGatedTransaction = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ activ
91
91
  resolvedGatedTransaction: {
92
92
  ...baseGatedTx,
93
93
  result: {
94
- status: _44CZPU6S_cjs.GatedTransactionStatus.DEPENDENCY_FAILED
94
+ status: UVQ5QQ4U_cjs.GatedTransactionStatus.DEPENDENCY_FAILED
95
95
  }
96
96
  },
97
97
  lastCheckResult: null
@@ -108,7 +108,7 @@ var resolveGatedTransaction = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ activ
108
108
  resolvedGatedTransaction: {
109
109
  ...baseGatedTx,
110
110
  result: {
111
- status: _44CZPU6S_cjs.GatedTransactionStatus.NO_OP
111
+ status: UVQ5QQ4U_cjs.GatedTransactionStatus.NO_OP
112
112
  }
113
113
  },
114
114
  lastCheckResult: initialCheckResult
@@ -120,14 +120,14 @@ var resolveGatedTransaction = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ activ
120
120
  resolvedGatedTransaction: {
121
121
  ...baseGatedTx,
122
122
  result: {
123
- status: _44CZPU6S_cjs.GatedTransactionStatus.DENIED
123
+ status: UVQ5QQ4U_cjs.GatedTransactionStatus.DENIED
124
124
  }
125
125
  },
126
126
  lastCheckResult: initialCheckResult
127
127
  };
128
128
  }
129
129
  try {
130
- const depsResults = gatedTx.dependencies.map((dep) => getTransactionResult(_36XFV4BM_cjs.getIdForGatedTransaction(dep)).resolved);
130
+ const depsResults = gatedTx.dependencies.map((dep) => getTransactionResult(EJKFKEMV_cjs.getIdForGatedTransaction(dep)).resolved);
131
131
  const underlying = await extractGatedTransactionUnderlyingTransaction({
132
132
  registry: activityRegistry,
133
133
  gatedTransaction: gatedTx,
@@ -152,7 +152,7 @@ var resolveGatedTransaction = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ activ
152
152
  resolvedGatedTransaction: {
153
153
  ...baseGatedTx,
154
154
  result: {
155
- status: _44CZPU6S_cjs.GatedTransactionStatus.SUCCESS,
155
+ status: UVQ5QQ4U_cjs.GatedTransactionStatus.SUCCESS,
156
156
  submittedTransaction
157
157
  }
158
158
  },
@@ -167,7 +167,7 @@ ${stringify(finalCheckResult.onChainData)}, txHash: ${submittedTransaction.resul
167
167
  resolvedGatedTransaction: {
168
168
  ...baseGatedTx,
169
169
  result: {
170
- status: _44CZPU6S_cjs.GatedTransactionStatus.FINAL_CHECK_FAILED,
170
+ status: UVQ5QQ4U_cjs.GatedTransactionStatus.FINAL_CHECK_FAILED,
171
171
  submittedTransaction,
172
172
  finalOnChainState: finalCheckResult.onChainData
173
173
  }
@@ -181,7 +181,7 @@ ${stringify(finalCheckResult.onChainData)}, txHash: ${submittedTransaction.resul
181
181
  resolvedGatedTransaction: {
182
182
  ...baseGatedTx,
183
183
  result: {
184
- status: _44CZPU6S_cjs.GatedTransactionStatus.TRANSACTION_FAILED,
184
+ status: UVQ5QQ4U_cjs.GatedTransactionStatus.TRANSACTION_FAILED,
185
185
  transactionError: e
186
186
  }
187
187
  },
@@ -190,9 +190,9 @@ ${stringify(finalCheckResult.onChainData)}, txHash: ${submittedTransaction.resul
190
190
  }
191
191
  }, "resolveGatedTransaction");
192
192
  var resolveGatedTransactions = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ activityRegistry, gatedTxes, processTx, fn, cache, userInteractionCallbacks, logger }) => {
193
- const allInternalIds = gatedTxes.map((tx) => _36XFV4BM_cjs.getIdForGatedTransaction(tx));
193
+ const allInternalIds = gatedTxes.map((tx) => EJKFKEMV_cjs.getIdForGatedTransaction(tx));
194
194
  const allDeps = gatedTxes.flatMap((tx) => tx.dependencies ?? []);
195
- const allExternalDeps = allDeps.filter((tx) => !allInternalIds.includes(_36XFV4BM_cjs.getIdForGatedTransaction(tx)));
195
+ const allExternalDeps = allDeps.filter((tx) => !allInternalIds.includes(EJKFKEMV_cjs.getIdForGatedTransaction(tx)));
196
196
  const results = Object.fromEntries(await Promise.all(allExternalDeps.map(async (tx) => {
197
197
  const checkResult = await checkGatedTransaction({
198
198
  gatedTransaction: tx,
@@ -200,7 +200,7 @@ var resolveGatedTransactions = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ acti
200
200
  cachedCheckResult: await cache?.getCachedTxCheckData?.(tx)
201
201
  });
202
202
  return [
203
- _36XFV4BM_cjs.getIdForGatedTransaction(tx),
203
+ EJKFKEMV_cjs.getIdForGatedTransaction(tx),
204
204
  {
205
205
  checkResult
206
206
  }
@@ -218,13 +218,13 @@ var resolveGatedTransactions = /* @__PURE__ */ YJF4D23A_cjs.__name(async ({ acti
218
218
  cache,
219
219
  logger
220
220
  });
221
- const resId = _36XFV4BM_cjs.getIdForGatedTransaction(resolvedGatedTransaction);
221
+ const resId = EJKFKEMV_cjs.getIdForGatedTransaction(resolvedGatedTransaction);
222
222
  results[resId] = {
223
223
  resolved: resolvedGatedTransaction,
224
224
  checkResult: {
225
225
  expectationMet: [
226
- _44CZPU6S_cjs.GatedTransactionStatus.SUCCESS,
227
- _44CZPU6S_cjs.GatedTransactionStatus.NO_OP
226
+ UVQ5QQ4U_cjs.GatedTransactionStatus.SUCCESS,
227
+ UVQ5QQ4U_cjs.GatedTransactionStatus.NO_OP
228
228
  ].includes(resolvedGatedTransaction.result.status),
229
229
  onChainData: lastCheckResult?.onChainData ?? void 0
230
230
  }
@@ -253,5 +253,5 @@ var resolveSequencedGatedTransactions = /* @__PURE__ */ YJF4D23A_cjs.__name(asyn
253
253
 
254
254
  exports.resolveGatedTransactions = resolveGatedTransactions;
255
255
  exports.resolveSequencedGatedTransactions = resolveSequencedGatedTransactions;
256
- //# sourceMappingURL=B7FZNQF3.cjs.map
257
- //# sourceMappingURL=B7FZNQF3.cjs.map
256
+ //# sourceMappingURL=XROB6QHI.cjs.map
257
+ //# sourceMappingURL=XROB6QHI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/resolver.ts"],"names":["checkGatedTransaction","__name","registry","gatedTransaction","cachedCheckResult","submittedTransaction","onChainData","undefined","params","check","callByPointer","functionPointer","expectationMet","expectedResult","operator","isEqual","comparisonValue","Error","extractGatedTransactionUnderlyingTransaction","deps","tx","transactionType","transaction","getTransaction","parallelizingKey","getIdForGatedTransaction","resolveGatedTransaction","activityRegistry","gatedTx","getTransactionResult","processTx","confirmationCallback","fn","cache","logger","baseGatedTx","name","chainName","bundleName","dependencies","cacheable","uniqueIdKeys","metadata","description","dependencyIds","map","dependenciesAreAllProcessed","every","id","condition","dependenciesWereSuccessful","checkResult","error","JSON","stringify","Object","fromEntries","resolvedGatedTransaction","result","status","GatedTransactionStatus","DEPENDENCY_FAILED","lastCheckResult","initialCheckResult","getCachedTxCheckData","cacheSuccessfulTxCheckData","NO_OP","confirmation","DENIED","depsResults","dep","resolved","underlying","processResult","type","finalCheckResult","SUCCESS","o","_","v","toString","minedTxHash","FINAL_CHECK_FAILED","finalOnChainState","e","TRANSACTION_FAILED","transactionError","resolveGatedTransactions","gatedTxes","userInteractionCallbacks","allInternalIds","allDeps","flatMap","allExternalDeps","filter","includes","results","Promise","all","gtxId","txFunctions","resId","onResultCallback","func","resolveSequencedGatedTransactions","seq","push"],"mappings":"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","file":"B7FZNQF3.cjs","sourcesContent":["import isEqual from 'lodash.isequal';\n\nimport type { ActivityRegistry } from '@layerzerolabs/common-activities';\nimport type {\n Transaction,\n TransactionResult,\n TransactionWithResult,\n} from '@layerzerolabs/common-chain-model';\nimport type { WorkflowFunctions } from '@layerzerolabs/common-workflow';\nimport type { Logger } from '@layerzerolabs/logger-node';\n\nimport { getIdForGatedTransaction } from './gatedTx';\nimport type {\n BaseGatedTransactionFor,\n GatedTransaction,\n GatedTransactionId,\n IGatedTransactionCache,\n InferOnChainDataTypeFromGatedTransaction,\n ResolvedGatedTransaction,\n ResolvedGatedTransactionDependencies,\n UserInteractionCallbacks,\n} from './schemata';\nimport { GatedTransactionStatus } from './schemata';\n\ntype OnChainCheckResult<DataType = any> = {\n expectationMet: boolean;\n onChainData: DataType;\n};\n\nconst checkGatedTransaction = async <\n GatedTx extends GatedTransaction,\n TxWithResult extends TransactionWithResult,\n>({\n registry,\n gatedTransaction,\n cachedCheckResult,\n submittedTransaction,\n}: {\n registry: ActivityRegistry;\n gatedTransaction: GatedTx;\n cachedCheckResult?: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n submittedTransaction?: TxWithResult;\n}): Promise<OnChainCheckResult<InferOnChainDataTypeFromGatedTransaction<GatedTx>>> => {\n let onChainData: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n if (cachedCheckResult !== undefined) {\n onChainData = cachedCheckResult;\n } else {\n // Always inject the processed transaction as the last parameter when available\n let params = gatedTransaction.check.params;\n if (submittedTransaction !== undefined) {\n params = [...gatedTransaction.check.params, submittedTransaction];\n }\n\n onChainData = await registry.callByPointer(gatedTransaction.check.functionPointer, params);\n }\n\n let expectationMet: boolean;\n\n switch (gatedTransaction.check.expectedResult.operator) {\n case '=':\n expectationMet = isEqual(\n onChainData,\n gatedTransaction.check.expectedResult.comparisonValue,\n );\n break;\n case '!=':\n expectationMet = !isEqual(\n onChainData,\n gatedTransaction.check.expectedResult.comparisonValue,\n );\n break;\n case '>':\n expectationMet =\n (onChainData as number) >\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '>=':\n expectationMet =\n (onChainData as number) >=\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '<':\n expectationMet =\n (onChainData as number) <\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '<=':\n expectationMet =\n (onChainData as number) <=\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n default:\n throw new Error(\n `Gated transaction operator \"${gatedTransaction.check.expectedResult.operator}\" is not supported`,\n );\n }\n\n return {\n expectationMet,\n onChainData,\n };\n};\n\nconst extractGatedTransactionUnderlyingTransaction = async <\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n>({\n registry,\n gatedTransaction,\n deps,\n}: {\n registry: ActivityRegistry;\n gatedTransaction: GatedTx;\n deps: ResolvedGatedTransactionDependencies<GatedTx>;\n}): Promise<TxType> => {\n let tx: TxType;\n if (gatedTransaction.transactionType === 'literal') {\n tx = gatedTransaction.transaction as TxType;\n } else {\n tx = await registry.callByPointer(gatedTransaction.getTransaction.functionPointer, [\n deps,\n ...gatedTransaction.getTransaction.params,\n ]);\n }\n\n if (!tx.parallelizingKey) {\n tx.parallelizingKey = `MISSING_PARALLELIZING_KEY-${getIdForGatedTransaction(gatedTransaction)}`;\n }\n\n return tx;\n};\n\nconst resolveGatedTransaction = async <\n TxType extends Transaction,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TransactionResult>,\n>({\n activityRegistry,\n gatedTx,\n getTransactionResult,\n processTx,\n confirmationCallback,\n fn,\n cache,\n logger,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTx: GatedTx;\n processTx: ProcessTx;\n getTransactionResult: (gtxId: GatedTransactionId) =>\n | {\n resolved?: ResolvedGatedTransaction;\n checkResult: { onChainData?: any; expectationMet: boolean };\n }\n | undefined;\n confirmationCallback: NonNullable<UserInteractionCallbacks['confirmationCallback']>;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n logger: Logger;\n}): Promise<{\n resolvedGatedTransaction: ResolvedGatedTransaction<GatedTx>;\n lastCheckResult: OnChainCheckResult | null;\n}> => {\n const baseGatedTx = {\n name: gatedTx.name,\n chainName: gatedTx.chainName,\n bundleName: gatedTx.bundleName,\n check: gatedTx.check,\n dependencies: gatedTx.dependencies,\n cacheable: gatedTx.cacheable,\n uniqueIdKeys: gatedTx.uniqueIdKeys,\n metadata: gatedTx.metadata,\n description: gatedTx.description,\n } as BaseGatedTransactionFor<GatedTx>;\n\n const dependencyIds = (gatedTx.dependencies ?? []).map((tx) => getIdForGatedTransaction(tx));\n\n const dependenciesAreAllProcessed = () => dependencyIds.every((id) => getTransactionResult(id));\n\n await fn.condition(dependenciesAreAllProcessed);\n\n //check that the dependencies succeeded\n const dependenciesWereSuccessful = dependencyIds.every(\n (id) => getTransactionResult(id)?.checkResult.expectationMet,\n );\n\n if (!dependenciesWereSuccessful) {\n logger.error(\n `Some dependencies of gated transaction ${gatedTx.name} failed: ${JSON.stringify(\n Object.fromEntries(dependencyIds.map((id) => [id, getTransactionResult(id)])),\n undefined,\n 2,\n )}`,\n );\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.DEPENDENCY_FAILED,\n },\n },\n lastCheckResult: null,\n };\n }\n\n const initialCheckResult = await checkGatedTransaction({\n gatedTransaction: gatedTx,\n registry: activityRegistry,\n cachedCheckResult: await cache?.getCachedTxCheckData?.(gatedTx),\n });\n\n await cache?.cacheSuccessfulTxCheckData?.(gatedTx, initialCheckResult.onChainData);\n\n if (initialCheckResult.expectationMet) {\n //already met\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.NO_OP,\n },\n },\n lastCheckResult: initialCheckResult,\n };\n }\n\n //get confirmation before sending\n const confirmation = await confirmationCallback(gatedTx);\n if (!confirmation) {\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.DENIED,\n },\n },\n lastCheckResult: initialCheckResult,\n };\n }\n\n //send the tx\n try {\n const depsResults = gatedTx.dependencies.map(\n (dep) => getTransactionResult(getIdForGatedTransaction(dep))!.resolved!,\n ) as ResolvedGatedTransactionDependencies<GatedTx>;\n // get the underlying calldata\n const underlying = await extractGatedTransactionUnderlyingTransaction<GatedTx, TxType>({\n registry: activityRegistry,\n gatedTransaction: gatedTx,\n deps: depsResults,\n });\n const processResult = await processTx(underlying);\n\n if (processResult.type === 'error') {\n throw new Error(`Sending gtx ${gatedTx.name} failed: ${processResult.error}`);\n }\n\n const submittedTransaction = { ...underlying, result: processResult };\n const finalCheckResult = await checkGatedTransaction({\n registry: activityRegistry,\n gatedTransaction: gatedTx,\n submittedTransaction,\n });\n\n await cache?.cacheSuccessfulTxCheckData?.(gatedTx, finalCheckResult.onChainData);\n\n if (finalCheckResult.expectationMet) {\n //sent and successful\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.SUCCESS,\n submittedTransaction,\n },\n },\n lastCheckResult: finalCheckResult,\n };\n } else {\n //sent and unsuccessful\n const stringify = (o: any) =>\n JSON.stringify(\n o,\n (_, v) =>\n v === undefined ? 'undefined' : typeof v === 'bigint' ? v.toString() : v,\n 2,\n );\n logger.error(\n `Gated transaction ${gatedTx.name} final check failed:\\nExpected result ${stringify(gatedTx.check.expectedResult.comparisonValue)}, but got:\\n${stringify(finalCheckResult.onChainData)}, txHash: ${submittedTransaction.result.minedTxHash}`,\n );\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED,\n submittedTransaction,\n finalOnChainState: finalCheckResult.onChainData,\n },\n },\n lastCheckResult: finalCheckResult,\n };\n }\n } catch (e) {\n logger.error('Gated transaction failed', e);\n //sent and failed\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.TRANSACTION_FAILED,\n transactionError: e,\n },\n },\n lastCheckResult: initialCheckResult,\n };\n }\n};\n\nexport const resolveGatedTransactions = async <\n TxType extends Transaction,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TransactionResult>,\n>({\n activityRegistry,\n gatedTxes,\n processTx,\n fn,\n cache,\n userInteractionCallbacks,\n logger,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTxes: GatedTx[];\n processTx: ProcessTx;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n userInteractionCallbacks?: UserInteractionCallbacks;\n logger: Logger;\n}): Promise<ResolvedGatedTransaction[]> => {\n //compute deps\n const allInternalIds = gatedTxes.map((tx) => getIdForGatedTransaction(tx));\n const allDeps = gatedTxes.flatMap((tx) => tx.dependencies ?? []);\n const allExternalDeps = allDeps.filter(\n (tx) => !allInternalIds.includes(getIdForGatedTransaction(tx)),\n );\n\n //prepopulate results for external dependencies\n //this map is only used for internal status tracking\n const results: Record<\n GatedTransactionId,\n {\n resolved?: ResolvedGatedTransaction;\n checkResult: { onChainData?: any; expectationMet: boolean };\n }\n > = Object.fromEntries(\n await Promise.all(\n allExternalDeps.map(async (tx) => {\n const checkResult = await checkGatedTransaction({\n gatedTransaction: tx,\n registry: activityRegistry,\n cachedCheckResult: await cache?.getCachedTxCheckData?.(tx),\n });\n\n return [\n getIdForGatedTransaction(tx),\n {\n checkResult,\n },\n ];\n }),\n ),\n );\n\n const getTransactionResult = (gtxId: GatedTransactionId) => results[gtxId];\n\n const txFunctions = gatedTxes.map((tx) => async () => {\n const { resolvedGatedTransaction, lastCheckResult } = await resolveGatedTransaction<\n TxType,\n GatedTx,\n ProcessTx\n >({\n gatedTx: tx,\n activityRegistry,\n getTransactionResult,\n processTx,\n confirmationCallback:\n userInteractionCallbacks?.confirmationCallback ?? (async () => true),\n fn,\n cache,\n logger,\n });\n\n const resId = getIdForGatedTransaction(resolvedGatedTransaction);\n results[resId] = {\n resolved: resolvedGatedTransaction,\n checkResult: {\n expectationMet: [\n GatedTransactionStatus.SUCCESS,\n GatedTransactionStatus.NO_OP,\n ].includes(resolvedGatedTransaction.result.status),\n onChainData: lastCheckResult?.onChainData ?? undefined,\n },\n };\n\n userInteractionCallbacks?.onResultCallback?.(resolvedGatedTransaction);\n return resolvedGatedTransaction;\n });\n\n return await Promise.all(txFunctions.map((func) => func()));\n};\n\nexport const resolveSequencedGatedTransactions = async <\n TxType extends Transaction,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TransactionResult>,\n>({\n activityRegistry,\n gatedTxes,\n processTx,\n cache,\n userInteractionCallbacks,\n fn,\n logger,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTxes: GatedTx[][];\n processTx: ProcessTx;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n userInteractionCallbacks?: UserInteractionCallbacks;\n logger: Logger;\n}) => {\n const results = [];\n for (const seq of gatedTxes) {\n const result = await resolveGatedTransactions<TxType, GatedTx, ProcessTx>({\n gatedTxes: seq,\n activityRegistry,\n processTx,\n cache,\n userInteractionCallbacks,\n fn,\n logger,\n });\n results.push(result);\n }\n\n return results;\n};\n"]}
1
+ {"version":3,"sources":["../src/resolver.ts"],"names":["checkGatedTransaction","__name","registry","gatedTransaction","cachedCheckResult","submittedTransaction","onChainData","undefined","params","check","callByPointer","functionPointer","expectationMet","expectedResult","operator","isEqual","comparisonValue","Error","extractGatedTransactionUnderlyingTransaction","deps","tx","transactionType","transaction","getTransaction","parallelizingKey","getIdForGatedTransaction","resolveGatedTransaction","activityRegistry","gatedTx","getTransactionResult","processTx","confirmationCallback","fn","cache","logger","baseGatedTx","name","chainName","bundleName","dependencies","cacheable","uniqueIdKeys","metadata","description","dependencyIds","map","dependenciesAreAllProcessed","every","id","condition","dependenciesWereSuccessful","checkResult","error","JSON","stringify","Object","fromEntries","resolvedGatedTransaction","result","status","GatedTransactionStatus","DEPENDENCY_FAILED","lastCheckResult","initialCheckResult","getCachedTxCheckData","cacheSuccessfulTxCheckData","NO_OP","confirmation","DENIED","depsResults","dep","resolved","underlying","processResult","type","finalCheckResult","SUCCESS","o","_","v","toString","minedTxHash","FINAL_CHECK_FAILED","finalOnChainState","e","TRANSACTION_FAILED","transactionError","resolveGatedTransactions","gatedTxes","userInteractionCallbacks","allInternalIds","allDeps","flatMap","allExternalDeps","filter","includes","results","Promise","all","gtxId","txFunctions","resId","onResultCallback","func","resolveSequencedGatedTransactions","seq","push"],"mappings":"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","file":"XROB6QHI.cjs","sourcesContent":["import isEqual from 'lodash.isequal';\n\nimport type { ActivityRegistry } from '@layerzerolabs/common-activities';\nimport type {\n Transaction,\n TransactionResult,\n TransactionWithResult,\n} from '@layerzerolabs/common-chain-model';\nimport type { WorkflowFunctions } from '@layerzerolabs/common-workflow';\nimport type { Logger } from '@layerzerolabs/logger-node';\n\nimport { getIdForGatedTransaction } from './gatedTx';\nimport type {\n BaseGatedTransactionFor,\n GatedTransaction,\n GatedTransactionId,\n IGatedTransactionCache,\n InferOnChainDataTypeFromGatedTransaction,\n ResolvedGatedTransaction,\n ResolvedGatedTransactionDependencies,\n UserInteractionCallbacks,\n} from './schemata';\nimport { GatedTransactionStatus } from './schemata';\n\ntype OnChainCheckResult<DataType = any> = {\n expectationMet: boolean;\n onChainData: DataType;\n};\n\nconst checkGatedTransaction = async <\n GatedTx extends GatedTransaction,\n TxWithResult extends TransactionWithResult,\n>({\n registry,\n gatedTransaction,\n cachedCheckResult,\n submittedTransaction,\n}: {\n registry: ActivityRegistry;\n gatedTransaction: GatedTx;\n cachedCheckResult?: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n submittedTransaction?: TxWithResult;\n}): Promise<OnChainCheckResult<InferOnChainDataTypeFromGatedTransaction<GatedTx>>> => {\n let onChainData: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n if (cachedCheckResult !== undefined) {\n onChainData = cachedCheckResult;\n } else {\n // Always inject the processed transaction as the last parameter when available\n let params = gatedTransaction.check.params;\n if (submittedTransaction !== undefined) {\n params = [...gatedTransaction.check.params, submittedTransaction];\n }\n\n onChainData = await registry.callByPointer(gatedTransaction.check.functionPointer, params);\n }\n\n let expectationMet: boolean;\n\n switch (gatedTransaction.check.expectedResult.operator) {\n case '=':\n expectationMet = isEqual(\n onChainData,\n gatedTransaction.check.expectedResult.comparisonValue,\n );\n break;\n case '!=':\n expectationMet = !isEqual(\n onChainData,\n gatedTransaction.check.expectedResult.comparisonValue,\n );\n break;\n case '>':\n expectationMet =\n (onChainData as number) >\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '>=':\n expectationMet =\n (onChainData as number) >=\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '<':\n expectationMet =\n (onChainData as number) <\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '<=':\n expectationMet =\n (onChainData as number) <=\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n default:\n throw new Error(\n `Gated transaction operator \"${gatedTransaction.check.expectedResult.operator}\" is not supported`,\n );\n }\n\n return {\n expectationMet,\n onChainData,\n };\n};\n\nconst extractGatedTransactionUnderlyingTransaction = async <\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n>({\n registry,\n gatedTransaction,\n deps,\n}: {\n registry: ActivityRegistry;\n gatedTransaction: GatedTx;\n deps: ResolvedGatedTransactionDependencies<GatedTx>;\n}): Promise<TxType> => {\n let tx: TxType;\n if (gatedTransaction.transactionType === 'literal') {\n tx = gatedTransaction.transaction as TxType;\n } else {\n tx = await registry.callByPointer(gatedTransaction.getTransaction.functionPointer, [\n deps,\n ...gatedTransaction.getTransaction.params,\n ]);\n }\n\n if (!tx.parallelizingKey) {\n tx.parallelizingKey = `MISSING_PARALLELIZING_KEY-${getIdForGatedTransaction(gatedTransaction)}`;\n }\n\n return tx;\n};\n\nconst resolveGatedTransaction = async <\n TxType extends Transaction,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TransactionResult>,\n>({\n activityRegistry,\n gatedTx,\n getTransactionResult,\n processTx,\n confirmationCallback,\n fn,\n cache,\n logger,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTx: GatedTx;\n processTx: ProcessTx;\n getTransactionResult: (gtxId: GatedTransactionId) =>\n | {\n resolved?: ResolvedGatedTransaction;\n checkResult: { onChainData?: any; expectationMet: boolean };\n }\n | undefined;\n confirmationCallback: NonNullable<UserInteractionCallbacks['confirmationCallback']>;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n logger: Logger;\n}): Promise<{\n resolvedGatedTransaction: ResolvedGatedTransaction<GatedTx>;\n lastCheckResult: OnChainCheckResult | null;\n}> => {\n const baseGatedTx = {\n name: gatedTx.name,\n chainName: gatedTx.chainName,\n bundleName: gatedTx.bundleName,\n check: gatedTx.check,\n dependencies: gatedTx.dependencies,\n cacheable: gatedTx.cacheable,\n uniqueIdKeys: gatedTx.uniqueIdKeys,\n metadata: gatedTx.metadata,\n description: gatedTx.description,\n } as BaseGatedTransactionFor<GatedTx>;\n\n const dependencyIds = (gatedTx.dependencies ?? []).map((tx) => getIdForGatedTransaction(tx));\n\n const dependenciesAreAllProcessed = () => dependencyIds.every((id) => getTransactionResult(id));\n\n await fn.condition(dependenciesAreAllProcessed);\n\n //check that the dependencies succeeded\n const dependenciesWereSuccessful = dependencyIds.every(\n (id) => getTransactionResult(id)?.checkResult.expectationMet,\n );\n\n if (!dependenciesWereSuccessful) {\n logger.error(\n `Some dependencies of gated transaction ${gatedTx.name} failed: ${JSON.stringify(\n Object.fromEntries(dependencyIds.map((id) => [id, getTransactionResult(id)])),\n undefined,\n 2,\n )}`,\n );\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.DEPENDENCY_FAILED,\n },\n },\n lastCheckResult: null,\n };\n }\n\n const initialCheckResult = await checkGatedTransaction({\n gatedTransaction: gatedTx,\n registry: activityRegistry,\n cachedCheckResult: await cache?.getCachedTxCheckData?.(gatedTx),\n });\n\n await cache?.cacheSuccessfulTxCheckData?.(gatedTx, initialCheckResult.onChainData);\n\n if (initialCheckResult.expectationMet) {\n //already met\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.NO_OP,\n },\n },\n lastCheckResult: initialCheckResult,\n };\n }\n\n //get confirmation before sending\n const confirmation = await confirmationCallback(gatedTx);\n if (!confirmation) {\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.DENIED,\n },\n },\n lastCheckResult: initialCheckResult,\n };\n }\n\n //send the tx\n try {\n const depsResults = gatedTx.dependencies.map(\n (dep) => getTransactionResult(getIdForGatedTransaction(dep))!.resolved!,\n ) as ResolvedGatedTransactionDependencies<GatedTx>;\n // get the underlying calldata\n const underlying = await extractGatedTransactionUnderlyingTransaction<GatedTx, TxType>({\n registry: activityRegistry,\n gatedTransaction: gatedTx,\n deps: depsResults,\n });\n const processResult = await processTx(underlying);\n\n if (processResult.type === 'error') {\n throw new Error(`Sending gtx ${gatedTx.name} failed: ${processResult.error}`);\n }\n\n const submittedTransaction = { ...underlying, result: processResult };\n const finalCheckResult = await checkGatedTransaction({\n registry: activityRegistry,\n gatedTransaction: gatedTx,\n submittedTransaction,\n });\n\n await cache?.cacheSuccessfulTxCheckData?.(gatedTx, finalCheckResult.onChainData);\n\n if (finalCheckResult.expectationMet) {\n //sent and successful\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.SUCCESS,\n submittedTransaction,\n },\n },\n lastCheckResult: finalCheckResult,\n };\n } else {\n //sent and unsuccessful\n const stringify = (o: any) =>\n JSON.stringify(\n o,\n (_, v) =>\n v === undefined ? 'undefined' : typeof v === 'bigint' ? v.toString() : v,\n 2,\n );\n logger.error(\n `Gated transaction ${gatedTx.name} final check failed:\\nExpected result ${stringify(gatedTx.check.expectedResult.comparisonValue)}, but got:\\n${stringify(finalCheckResult.onChainData)}, txHash: ${submittedTransaction.result.minedTxHash}`,\n );\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED,\n submittedTransaction,\n finalOnChainState: finalCheckResult.onChainData,\n },\n },\n lastCheckResult: finalCheckResult,\n };\n }\n } catch (e) {\n logger.error('Gated transaction failed', e);\n //sent and failed\n return {\n resolvedGatedTransaction: {\n ...baseGatedTx,\n result: {\n status: GatedTransactionStatus.TRANSACTION_FAILED,\n transactionError: e,\n },\n },\n lastCheckResult: initialCheckResult,\n };\n }\n};\n\nexport const resolveGatedTransactions = async <\n TxType extends Transaction,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TransactionResult>,\n>({\n activityRegistry,\n gatedTxes,\n processTx,\n fn,\n cache,\n userInteractionCallbacks,\n logger,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTxes: GatedTx[];\n processTx: ProcessTx;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n userInteractionCallbacks?: UserInteractionCallbacks;\n logger: Logger;\n}): Promise<ResolvedGatedTransaction[]> => {\n //compute deps\n const allInternalIds = gatedTxes.map((tx) => getIdForGatedTransaction(tx));\n const allDeps = gatedTxes.flatMap((tx) => tx.dependencies ?? []);\n const allExternalDeps = allDeps.filter(\n (tx) => !allInternalIds.includes(getIdForGatedTransaction(tx)),\n );\n\n //prepopulate results for external dependencies\n //this map is only used for internal status tracking\n const results: Record<\n GatedTransactionId,\n {\n resolved?: ResolvedGatedTransaction;\n checkResult: { onChainData?: any; expectationMet: boolean };\n }\n > = Object.fromEntries(\n await Promise.all(\n allExternalDeps.map(async (tx) => {\n const checkResult = await checkGatedTransaction({\n gatedTransaction: tx,\n registry: activityRegistry,\n cachedCheckResult: await cache?.getCachedTxCheckData?.(tx),\n });\n\n return [\n getIdForGatedTransaction(tx),\n {\n checkResult,\n },\n ];\n }),\n ),\n );\n\n const getTransactionResult = (gtxId: GatedTransactionId) => results[gtxId];\n\n const txFunctions = gatedTxes.map((tx) => async () => {\n const { resolvedGatedTransaction, lastCheckResult } = await resolveGatedTransaction<\n TxType,\n GatedTx,\n ProcessTx\n >({\n gatedTx: tx,\n activityRegistry,\n getTransactionResult,\n processTx,\n confirmationCallback:\n userInteractionCallbacks?.confirmationCallback ?? (async () => true),\n fn,\n cache,\n logger,\n });\n\n const resId = getIdForGatedTransaction(resolvedGatedTransaction);\n results[resId] = {\n resolved: resolvedGatedTransaction,\n checkResult: {\n expectationMet: [\n GatedTransactionStatus.SUCCESS,\n GatedTransactionStatus.NO_OP,\n ].includes(resolvedGatedTransaction.result.status),\n onChainData: lastCheckResult?.onChainData ?? undefined,\n },\n };\n\n userInteractionCallbacks?.onResultCallback?.(resolvedGatedTransaction);\n return resolvedGatedTransaction;\n });\n\n return await Promise.all(txFunctions.map((func) => func()));\n};\n\nexport const resolveSequencedGatedTransactions = async <\n TxType extends Transaction,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TransactionResult>,\n>({\n activityRegistry,\n gatedTxes,\n processTx,\n cache,\n userInteractionCallbacks,\n fn,\n logger,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTxes: GatedTx[][];\n processTx: ProcessTx;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n userInteractionCallbacks?: UserInteractionCallbacks;\n logger: Logger;\n}) => {\n const results = [];\n for (const seq of gatedTxes) {\n const result = await resolveGatedTransactions<TxType, GatedTx, ProcessTx>({\n gatedTxes: seq,\n activityRegistry,\n processTx,\n cache,\n userInteractionCallbacks,\n fn,\n logger,\n });\n results.push(result);\n }\n\n return results;\n};\n"]}
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var VID3ZZ5G_cjs = require('./VID3ZZ5G.cjs');
4
- require('./36XFV4BM.cjs');
3
+ var CZKVKTL4_cjs = require('./CZKVKTL4.cjs');
4
+ require('./EJKFKEMV.cjs');
5
5
  require('./YJF4D23A.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "gatedTransactionGoSignal", {
10
10
  enumerable: true,
11
- get: function () { return VID3ZZ5G_cjs.gatedTransactionGoSignal; }
11
+ get: function () { return CZKVKTL4_cjs.gatedTransactionGoSignal; }
12
12
  });
13
13
  Object.defineProperty(exports, "queryGatedTransactions", {
14
14
  enumerable: true,
15
- get: function () { return VID3ZZ5G_cjs.queryGatedTransactions; }
15
+ get: function () { return CZKVKTL4_cjs.queryGatedTransactions; }
16
16
  });
17
17
  Object.defineProperty(exports, "useGatedTransactionSignalLock", {
18
18
  enumerable: true,
19
- get: function () { return VID3ZZ5G_cjs.useGatedTransactionSignalLock; }
19
+ get: function () { return CZKVKTL4_cjs.useGatedTransactionSignalLock; }
20
20
  });
21
21
  //# sourceMappingURL=gatedTransactionSignalLock.cjs.map
22
22
  //# sourceMappingURL=gatedTransactionSignalLock.cjs.map
@@ -1,5 +1,5 @@
1
- export { gatedTransactionGoSignal, queryGatedTransactions, useGatedTransactionSignalLock } from './5YTIURD3.js';
2
- import './O2UH7G3V.js';
1
+ export { gatedTransactionGoSignal, queryGatedTransactions, useGatedTransactionSignalLock } from './JMMYK2SL.js';
2
+ import './WNYV5NIT.js';
3
3
  import './VUOMXK5T.js';
4
4
  //# sourceMappingURL=gatedTransactionSignalLock.js.map
5
5
  //# sourceMappingURL=gatedTransactionSignalLock.js.map
package/dist/gatedTx.cjs CHANGED
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var _36XFV4BM_cjs = require('./36XFV4BM.cjs');
3
+ var EJKFKEMV_cjs = require('./EJKFKEMV.cjs');
4
4
  require('./YJF4D23A.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "constructGatedTransaction", {
9
9
  enumerable: true,
10
- get: function () { return _36XFV4BM_cjs.constructGatedTransaction; }
10
+ get: function () { return EJKFKEMV_cjs.constructGatedTransaction; }
11
11
  });
12
12
  Object.defineProperty(exports, "constructGatedTransactionFromPointer", {
13
13
  enumerable: true,
14
- get: function () { return _36XFV4BM_cjs.constructGatedTransactionFromPointer; }
14
+ get: function () { return EJKFKEMV_cjs.constructGatedTransactionFromPointer; }
15
15
  });
16
16
  Object.defineProperty(exports, "getIdForGatedTransaction", {
17
17
  enumerable: true,
18
- get: function () { return _36XFV4BM_cjs.getIdForGatedTransaction; }
18
+ get: function () { return EJKFKEMV_cjs.getIdForGatedTransaction; }
19
19
  });
20
20
  //# sourceMappingURL=gatedTx.cjs.map
21
21
  //# sourceMappingURL=gatedTx.cjs.map
package/dist/gatedTx.d.ts CHANGED
@@ -26,10 +26,10 @@ export declare const constructGatedTransaction: <const Name extends string, Tx e
26
26
  dependencies?: _Dependencies;
27
27
  transaction: Tx;
28
28
  }) => GatedTransaction<Name, Tx, Method, any, _Dependencies>;
29
- type BuildDeps<Params extends readonly ResolvedGatedTransaction[]> = Params extends [] ? [] : Params extends readonly [
29
+ type BuildDeps<Params extends ResolvedGatedTransaction[]> = Params extends [] ? [] : Params extends readonly [
30
30
  ResolvedGatedTransaction<infer Gtx>,
31
- ...infer Rest extends readonly ResolvedGatedTransaction[]
32
- ] ? [Gtx, ...BuildDeps<readonly [...Rest]>] : Params;
31
+ ...infer Rest extends ResolvedGatedTransaction[]
32
+ ] ? [Gtx, ...BuildDeps<[...Rest]>] : Params extends Array<ResolvedGatedTransaction<infer Gtx>> ? Array<Gtx> : never;
33
33
  /**
34
34
  * Builds a {@link GatedTransaction} from a pointer
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"gatedTx.d.ts","sourceRoot":"","sources":["../src/gatedTx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatedTx.d.ts","sourceRoot":"","sources":["../src/gatedTx.ts"],"names":[],"mappings":"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"}
package/dist/gatedTx.js CHANGED
@@ -1,4 +1,4 @@
1
- export { constructGatedTransaction, constructGatedTransactionFromPointer, getIdForGatedTransaction } from './O2UH7G3V.js';
1
+ export { constructGatedTransaction, constructGatedTransactionFromPointer, getIdForGatedTransaction } from './WNYV5NIT.js';
2
2
  import './VUOMXK5T.js';
3
3
  //# sourceMappingURL=gatedTx.js.map
4
4
  //# sourceMappingURL=gatedTx.js.map
package/dist/index.cjs CHANGED
@@ -1,76 +1,80 @@
1
1
  'use strict';
2
2
 
3
- var VID3ZZ5G_cjs = require('./VID3ZZ5G.cjs');
4
- var B7FZNQF3_cjs = require('./B7FZNQF3.cjs');
5
- var _36XFV4BM_cjs = require('./36XFV4BM.cjs');
6
- var _44CZPU6S_cjs = require('./44CZPU6S.cjs');
3
+ var CZKVKTL4_cjs = require('./CZKVKTL4.cjs');
4
+ var XROB6QHI_cjs = require('./XROB6QHI.cjs');
5
+ var EJKFKEMV_cjs = require('./EJKFKEMV.cjs');
6
+ var UVQ5QQ4U_cjs = require('./UVQ5QQ4U.cjs');
7
7
  require('./YJF4D23A.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "gatedTransactionGoSignal", {
12
12
  enumerable: true,
13
- get: function () { return VID3ZZ5G_cjs.gatedTransactionGoSignal; }
13
+ get: function () { return CZKVKTL4_cjs.gatedTransactionGoSignal; }
14
14
  });
15
15
  Object.defineProperty(exports, "queryGatedTransactions", {
16
16
  enumerable: true,
17
- get: function () { return VID3ZZ5G_cjs.queryGatedTransactions; }
17
+ get: function () { return CZKVKTL4_cjs.queryGatedTransactions; }
18
18
  });
19
19
  Object.defineProperty(exports, "useGatedTransactionSignalLock", {
20
20
  enumerable: true,
21
- get: function () { return VID3ZZ5G_cjs.useGatedTransactionSignalLock; }
21
+ get: function () { return CZKVKTL4_cjs.useGatedTransactionSignalLock; }
22
22
  });
23
23
  Object.defineProperty(exports, "resolveGatedTransactions", {
24
24
  enumerable: true,
25
- get: function () { return B7FZNQF3_cjs.resolveGatedTransactions; }
25
+ get: function () { return XROB6QHI_cjs.resolveGatedTransactions; }
26
26
  });
27
27
  Object.defineProperty(exports, "resolveSequencedGatedTransactions", {
28
28
  enumerable: true,
29
- get: function () { return B7FZNQF3_cjs.resolveSequencedGatedTransactions; }
29
+ get: function () { return XROB6QHI_cjs.resolveSequencedGatedTransactions; }
30
30
  });
31
31
  Object.defineProperty(exports, "constructGatedTransaction", {
32
32
  enumerable: true,
33
- get: function () { return _36XFV4BM_cjs.constructGatedTransaction; }
33
+ get: function () { return EJKFKEMV_cjs.constructGatedTransaction; }
34
34
  });
35
35
  Object.defineProperty(exports, "constructGatedTransactionFromPointer", {
36
36
  enumerable: true,
37
- get: function () { return _36XFV4BM_cjs.constructGatedTransactionFromPointer; }
37
+ get: function () { return EJKFKEMV_cjs.constructGatedTransactionFromPointer; }
38
38
  });
39
39
  Object.defineProperty(exports, "getIdForGatedTransaction", {
40
40
  enumerable: true,
41
- get: function () { return _36XFV4BM_cjs.getIdForGatedTransaction; }
41
+ get: function () { return EJKFKEMV_cjs.getIdForGatedTransaction; }
42
42
  });
43
43
  Object.defineProperty(exports, "GatedTransactionStatus", {
44
44
  enumerable: true,
45
- get: function () { return _44CZPU6S_cjs.GatedTransactionStatus; }
45
+ get: function () { return UVQ5QQ4U_cjs.GatedTransactionStatus; }
46
46
  });
47
47
  Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
48
48
  enumerable: true,
49
- get: function () { return _44CZPU6S_cjs.createGatedTxCheckActivitySchema; }
49
+ get: function () { return UVQ5QQ4U_cjs.createGatedTxCheckActivitySchema; }
50
50
  });
51
- Object.defineProperty(exports, "createTxDependentActivitySchema", {
51
+ Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
52
52
  enumerable: true,
53
- get: function () { return _44CZPU6S_cjs.createTxDependentActivitySchema; }
53
+ get: function () { return UVQ5QQ4U_cjs.createTxArrayDependentActivitySchema; }
54
+ });
55
+ Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
56
+ enumerable: true,
57
+ get: function () { return UVQ5QQ4U_cjs.createTxTupleDependentActivitySchema; }
54
58
  });
55
59
  Object.defineProperty(exports, "gatedTransactionCacheSchema", {
56
60
  enumerable: true,
57
- get: function () { return _44CZPU6S_cjs.gatedTransactionCacheSchema; }
61
+ get: function () { return UVQ5QQ4U_cjs.gatedTransactionCacheSchema; }
58
62
  });
59
63
  Object.defineProperty(exports, "gatedTransactionIsResolvedGatedTransaction", {
60
64
  enumerable: true,
61
- get: function () { return _44CZPU6S_cjs.gatedTransactionIsResolvedGatedTransaction; }
65
+ get: function () { return UVQ5QQ4U_cjs.gatedTransactionIsResolvedGatedTransaction; }
62
66
  });
63
67
  Object.defineProperty(exports, "gatedTransactionResultSchema", {
64
68
  enumerable: true,
65
- get: function () { return _44CZPU6S_cjs.gatedTransactionResultSchema; }
69
+ get: function () { return UVQ5QQ4U_cjs.gatedTransactionResultSchema; }
66
70
  });
67
71
  Object.defineProperty(exports, "gatedTransactionSchema", {
68
72
  enumerable: true,
69
- get: function () { return _44CZPU6S_cjs.gatedTransactionSchema; }
73
+ get: function () { return UVQ5QQ4U_cjs.gatedTransactionSchema; }
70
74
  });
71
75
  Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
72
76
  enumerable: true,
73
- get: function () { return _44CZPU6S_cjs.resolvedGatedTransactionSchema; }
77
+ get: function () { return UVQ5QQ4U_cjs.resolvedGatedTransactionSchema; }
74
78
  });
75
79
  //# sourceMappingURL=index.cjs.map
76
80
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { gatedTransactionGoSignal, queryGatedTransactions, useGatedTransactionSignalLock } from './5YTIURD3.js';
2
- export { resolveGatedTransactions, resolveSequencedGatedTransactions } from './ILT2CCJW.js';
3
- export { constructGatedTransaction, constructGatedTransactionFromPointer, getIdForGatedTransaction } from './O2UH7G3V.js';
4
- export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, resolvedGatedTransactionSchema } from './CKYPLVJX.js';
1
+ export { gatedTransactionGoSignal, queryGatedTransactions, useGatedTransactionSignalLock } from './JMMYK2SL.js';
2
+ export { resolveGatedTransactions, resolveSequencedGatedTransactions } from './ONVFWJXG.js';
3
+ export { constructGatedTransaction, constructGatedTransactionFromPointer, getIdForGatedTransaction } from './WNYV5NIT.js';
4
+ export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, resolvedGatedTransactionSchema } from './VH2LMV2W.js';
5
5
  import './VUOMXK5T.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
package/dist/resolver.cjs CHANGED
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var B7FZNQF3_cjs = require('./B7FZNQF3.cjs');
4
- require('./36XFV4BM.cjs');
5
- require('./44CZPU6S.cjs');
3
+ var XROB6QHI_cjs = require('./XROB6QHI.cjs');
4
+ require('./EJKFKEMV.cjs');
5
+ require('./UVQ5QQ4U.cjs');
6
6
  require('./YJF4D23A.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "resolveGatedTransactions", {
11
11
  enumerable: true,
12
- get: function () { return B7FZNQF3_cjs.resolveGatedTransactions; }
12
+ get: function () { return XROB6QHI_cjs.resolveGatedTransactions; }
13
13
  });
14
14
  Object.defineProperty(exports, "resolveSequencedGatedTransactions", {
15
15
  enumerable: true,
16
- get: function () { return B7FZNQF3_cjs.resolveSequencedGatedTransactions; }
16
+ get: function () { return XROB6QHI_cjs.resolveSequencedGatedTransactions; }
17
17
  });
18
18
  //# sourceMappingURL=resolver.cjs.map
19
19
  //# sourceMappingURL=resolver.cjs.map
package/dist/resolver.js CHANGED
@@ -1,6 +1,6 @@
1
- export { resolveGatedTransactions, resolveSequencedGatedTransactions } from './ILT2CCJW.js';
2
- import './O2UH7G3V.js';
3
- import './CKYPLVJX.js';
1
+ export { resolveGatedTransactions, resolveSequencedGatedTransactions } from './ONVFWJXG.js';
2
+ import './WNYV5NIT.js';
3
+ import './VH2LMV2W.js';
4
4
  import './VUOMXK5T.js';
5
5
  //# sourceMappingURL=resolver.js.map
6
6
  //# sourceMappingURL=resolver.js.map