@layerzerolabs/gated-transaction 0.2.83 → 0.2.85
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/{HUF3MLBT.js → KV3KJHUR.js} +18 -5
- package/dist/KV3KJHUR.js.map +1 -0
- package/dist/{AOTJAUDZ.js → NZAKKJBU.js} +2 -2
- package/dist/NZAKKJBU.js.map +1 -0
- package/dist/{AH6X525J.cjs → OOK6JDQR.cjs} +17 -3
- package/dist/OOK6JDQR.cjs.map +1 -0
- package/dist/{DOFQC7XF.cjs → SIIL7L4G.cjs} +2 -2
- package/dist/SIIL7L4G.cjs.map +1 -0
- package/dist/gatedTx.cjs +5 -5
- package/dist/gatedTx.d.ts +13 -20
- package/dist/gatedTx.d.ts.map +1 -1
- package/dist/gatedTx.js +1 -1
- package/dist/index.cjs +22 -18
- package/dist/index.js +2 -2
- package/dist/schemata.cjs +17 -13
- package/dist/schemata.d.ts +11 -4
- package/dist/schemata.d.ts.map +1 -1
- package/dist/schemata.js +1 -1
- package/package.json +8 -8
- package/dist/AH6X525J.cjs.map +0 -1
- package/dist/AOTJAUDZ.js.map +0 -1
- package/dist/DOFQC7XF.cjs.map +0 -1
- package/dist/HUF3MLBT.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __name } from './VUOMXK5T.js';
|
|
2
2
|
import z from 'zod';
|
|
3
|
-
import { transactionWithResultSchema } from '@layerzerolabs/common-chain-model';
|
|
3
|
+
import { transactionWithResultSchema, buildTransactionWithResultSchema } from '@layerzerolabs/common-chain-model';
|
|
4
4
|
import { functionSchema, customSchema } from '@layerzerolabs/zod-utils';
|
|
5
5
|
|
|
6
6
|
var gatedTransactionResultSchema = /* @__PURE__ */ __name((txWithResultSchema, onchainDataSchema) => (
|
|
@@ -86,11 +86,24 @@ var createGatedTxCheckActivitySchema = /* @__PURE__ */ __name(({ input, output,
|
|
|
86
86
|
return functionSchema({
|
|
87
87
|
input: z.tuple([
|
|
88
88
|
...input ?? [],
|
|
89
|
-
txWithResultSchema
|
|
89
|
+
txWithResultSchema,
|
|
90
|
+
z.array(resolvedGatedTransactionSchema()).optional()
|
|
90
91
|
]),
|
|
91
92
|
output: z.promise(output)
|
|
92
93
|
});
|
|
93
94
|
}, "createGatedTxCheckActivitySchema");
|
|
95
|
+
var createGatedTupleDependentTxCheckActivitySchema = /* @__PURE__ */ __name(({ input, output, transactionSchema, txNumber }) => {
|
|
96
|
+
return functionSchema({
|
|
97
|
+
input: z.tuple([
|
|
98
|
+
...input ?? [],
|
|
99
|
+
buildTransactionWithResultSchema(transactionSchema),
|
|
100
|
+
z.array(resolvedGatedTransactionSchema({
|
|
101
|
+
transactionSchema
|
|
102
|
+
})).length(txNumber).optional()
|
|
103
|
+
]),
|
|
104
|
+
output: z.promise(output)
|
|
105
|
+
});
|
|
106
|
+
}, "createGatedTupleDependentTxCheckActivitySchema");
|
|
94
107
|
var gatedTxCheckResultSchema = z.object({
|
|
95
108
|
expectationMet: z.boolean(),
|
|
96
109
|
data: z.any()
|
|
@@ -118,6 +131,6 @@ var gatedTransactionCacheSchema = z.object({
|
|
|
118
131
|
})
|
|
119
132
|
});
|
|
120
133
|
|
|
121
|
-
export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isAnySuccessTypeGatedTransaction, isResolvedGtx, resolvedGatedTransactionSchema, resolvedGatedTransactionWithArtifactsSchema };
|
|
122
|
-
//# sourceMappingURL=
|
|
123
|
-
//# sourceMappingURL=
|
|
134
|
+
export { GatedTransactionStatus, createGatedTupleDependentTxCheckActivitySchema, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isAnySuccessTypeGatedTransaction, isResolvedGtx, resolvedGatedTransactionSchema, resolvedGatedTransactionWithArtifactsSchema };
|
|
135
|
+
//# sourceMappingURL=KV3KJHUR.js.map
|
|
136
|
+
//# sourceMappingURL=KV3KJHUR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","isResolvedGtx","gtx","result","gatedTransactionSchema","_","customSchema","meta","title","description","resolvedGatedTransactionSchema","resolvedGatedTransactionWithArtifactsSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","functionSchema","input","tuple","def","items","array","output","promise","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional","createGatedTupleDependentTxCheckActivitySchema","buildTransactionWithResultSchema","gatedTxCheckResultSchema","expectationMet","boolean","data","isAnySuccessTypeGatedTransaction","includes","gatedTransactionCacheSchema","getCachedTxCheckData","cacheSuccessfulTxCheckData"],"mappings":"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","file":"KV3KJHUR.js","sourcesContent":["import z from 'zod';\n\nimport type {\n transactionSchema as _transactionSchema,\n TransactionWithResult,\n} from '@layerzerolabs/common-chain-model';\nimport {\n buildTransactionWithResultSchema,\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type {\n DeepFunctionPointers,\n DeeplyResolvedDeepFunctionPointers,\n FunctionPointer,\n} from '@layerzerolabs/function-pointer';\nimport type {\n BrandedError,\n BuildTuple,\n DecimalString,\n IsAny,\n Or,\n} from '@layerzerolabs/typescript-utils';\nimport type { InferredArray } from '@layerzerolabs/zod-utils';\nimport { customSchema, functionSchema } from '@layerzerolabs/zod-utils';\n\nimport type { BuildDeps } from './gatedTx';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> =\n Or<\n [OnChainDataType extends number | DecimalString ? true : false, IsAny<OnChainDataType>]\n > extends true\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : OnChainDataType extends string | object | boolean\n ? '=' | '!='\n : BrandedError<'Unsupported comparison type'>;\n\nexport type OnChainDataComparison<OnChainDataType extends string | number | boolean | object> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<\n CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n functionPointer: FunctionPointer<\n (tx?: TransactionWithResult, deps?: BuildDeps<_Dependencies>) => CheckOutput\n >;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\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 // TODO: use this schema as source of truth for GatedTransactionResult type\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 z.object({\n status: z.literal(GatedTransactionStatus.DEFERRED_SUCCESS),\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[];\n\nexport type GatedTransactionArtifacts = {\n // if the registry already has this artifact AND shortCircuit is true, will resolve with no-op\n [artifactType: string]: {\n // passed through to the registry\n [artifactId: string]: {\n shape: DeepFunctionPointers<\n (args: { gtx: SuccessfulGatedTransaction<any> }) => Promise<any>\n >;\n shortCircuit?: boolean;\n };\n };\n};\n\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n artifacts?: Artifacts;\n chainName: string;\n check: GatedTransactionCheck<CheckOutput, _Dependencies>;\n dependencies: _Dependencies;\n /**\n * Ordering-only dependencies: this transaction must be executed after these transactions,\n * but does not require their resolved output. If a transaction appears in both\n * `dependencies` and `orderingDependencies`, the regular dependency semantics take precedence.\n */\n orderingDependencies?: GatedTransactionDependencies;\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 CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts>\n | FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<\n infer Name,\n any,\n infer CheckOutput,\n any,\n infer _Dependencies,\n infer Artifacts\n >\n ? BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts>\n : never;\n\nexport enum GatedTransactionStatus {\n // precheck passed, no need to send the tx\n NO_OP = 'no_op',\n // precheck failed, tx was sent, postcheck passed\n SUCCESS = 'success',\n // precheck failed, tx was sent but sender returned an error\n TRANSACTION_FAILED = 'transaction_failed',\n // precheck failed, tx was sent, postcheck failed\n FINAL_CHECK_FAILED = 'final_check_failed',\n // the tx couldn't be resolved because one of its dependencies resolved to a failed state\n DEPENDENCY_FAILED = 'dependency_failed',\n // approval to send the tx was explicitly denied\n DENIED = 'denied',\n // precheck failed, tx was sent but indeterminate, deferred execution passed on a recheck\n DEFERRED_SUCCESS = 'deferred_success',\n}\n\nexport type NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\nexport type SuccessfulGatedTransaction<TxType extends Transaction = Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\nexport type TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\nexport type CheckFailedGatedTransaction<\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\nexport type DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\nexport type DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type DeferredSuccessfulGatedTransaction = {\n status: GatedTransactionStatus.DEFERRED_SUCCESS;\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 | DeferredSuccessfulGatedTransaction;\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 type ResolvedGatedTransactionWithArtifacts<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = ResolvedGatedTransaction<GatedTx, TxType> & {\n resolvedArtifacts: {\n [ArtifactType in keyof NonNullable<GatedTx['artifacts']>]: {\n [ArtifactId in keyof NonNullable<GatedTx['artifacts']>[ArtifactType]]: Awaited<\n NonNullable<GatedTx['artifacts']>[ArtifactType][ArtifactId] extends {\n shape: infer Shape extends DeepFunctionPointers;\n }\n ? DeeplyResolvedDeepFunctionPointers<Shape>\n : never\n >;\n };\n };\n};\n\nexport const isResolvedGtx = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\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}) =>\n customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>().meta({\n title: 'Gated Transaction',\n description: 'A schema for a gated transaction',\n });\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 >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\n });\n\nexport const resolvedGatedTransactionWithArtifactsSchema = <\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 ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\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 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 ...(extraArgs?.def?.items ?? []),\n z.array(\n resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema,\n }),\n ),\n ] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ]\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 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 resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([...(extraArgs?.def?.items ?? []), z.tuple(txs as any)] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ]\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([\n ...(input ?? []),\n txWithResultSchema,\n z.array(resolvedGatedTransactionSchema()).optional(),\n ] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [\n ...args: InferredArray<Input>,\n tx?: z.infer<TransactionWithResultSchema>,\n dependencies?: unknown[],\n ]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport const createGatedTupleDependentTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n>({\n input,\n output,\n transactionSchema,\n txNumber,\n}: {\n input?: Input;\n output: Output;\n transactionSchema: TransactionSchema;\n txNumber: TxNumber;\n}) => {\n return functionSchema({\n input: z.tuple([\n ...(input ?? []),\n buildTransactionWithResultSchema(transactionSchema),\n z\n .array(resolvedGatedTransactionSchema({ transactionSchema }))\n .length(txNumber)\n .optional(),\n ] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [\n ...args: InferredArray<Input>,\n tx?: z.infer<TransactionWithResultFor<z.infer<TransactionSchema>>>,\n dependencies?: BuildTuple<ResolvedGatedTransaction, TxNumber>,\n ]\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\nexport interface GatedTxCheckResult {\n expectationMet: boolean;\n data: unknown;\n}\n\nexport const gatedTxCheckResultSchema = z.object({\n expectationMet: z.boolean(),\n data: z.any(),\n});\n\nexport const isAnySuccessTypeGatedTransaction = <\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n>(\n gtx: ResolvedGatedTransaction<GatedTx, TxType>,\n): gtx is BaseGatedTransactionFor<GatedTx> & {\n result: Extract<\n GatedTransactionResult<GatedTx, TxType>,\n {\n status:\n | GatedTransactionStatus.SUCCESS\n | GatedTransactionStatus.NO_OP\n | GatedTransactionStatus.DEFERRED_SUCCESS;\n }\n >;\n} => {\n return [\n GatedTransactionStatus.SUCCESS,\n GatedTransactionStatus.NO_OP,\n GatedTransactionStatus.DEFERRED_SUCCESS,\n ].includes(gtx.result.status);\n};\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\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n"]}
|
|
@@ -25,5 +25,5 @@ var getBundleIdForGatedTransaction = /* @__PURE__ */ __name((gtx) => {
|
|
|
25
25
|
}, "getBundleIdForGatedTransaction");
|
|
26
26
|
|
|
27
27
|
export { constructGatedTransaction, constructGatedTransactionFromPointer, getBundleIdForGatedTransaction, getIdForGatedTransaction };
|
|
28
|
-
//# sourceMappingURL=
|
|
29
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=NZAKKJBU.js.map
|
|
29
|
+
//# sourceMappingURL=NZAKKJBU.js.map
|
|
@@ -0,0 +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","getBundleIdForGatedTransaction","bundleName"],"mappings":";;;AAmBO,IAAMA,yBAAAA,2BAMXC,GAAAA,KAAAA;AAaE,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,EArByC,2BAAA;AAqClC,IAAME,oCAAAA,2BAOXH,GAAAA,KAAAA;AAeE,EAAA,OAAO;IACH,GAAGA,GAAAA;IACHE,eAAAA,EAAiB;AACrB,GAAA;AACJ,CAAA,EA1BoD,sCAAA;AA4B7C,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;AAUjC,IAAMU,8BAAAA,2BACTf,GAAAA,KAAAA;AAEA,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,CAAIgB,UAAU,IAAIhB,GAAAA,CAAIc,SAAS,IAAIT,sBAAAA,CAAAA,CAAAA;AACjD,CAAA,EAV8C,gCAAA","file":"NZAKKJBU.js","sourcesContent":["import type { Transaction } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\n\nimport type {\n BaseGatedTransaction,\n FunctionalGatedTransaction,\n GatedTransaction,\n GatedTransactionArtifacts,\n GatedTransactionBundleId,\n GatedTransactionCheck,\n GatedTransactionDependencies,\n GatedTransactionId,\n LiteralGatedTransaction,\n ResolvedGatedTransaction,\n} from './schemata';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n TxType extends Transaction,\n CheckOutput extends Promise<any>,\n const _Dependencies extends GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: GatedTransactionCheck<CheckOutput, _Dependencies>;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: _Dependencies;\n orderingDependencies?: GatedTransactionDependencies;\n transaction: TxType;\n}): LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts> => {\n const dependencies = gtx.dependencies ?? ([] as any);\n return { ...gtx, transactionType: 'literal', dependencies };\n};\n\nexport type BuildDeps<Params extends GatedTransaction[]> = Params extends []\n ? []\n : Params extends readonly [\n infer Gtx extends GatedTransaction,\n ...infer Rest extends GatedTransaction[],\n ]\n ? [ResolvedGatedTransaction<Gtx>, ...BuildDeps<[...Rest]>]\n : Params extends Array<GatedTransaction>\n ? unknown[]\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 CheckOutput extends Promise<any>,\n DepInput extends [...args: any[], txes: any],\n const _Dependencies extends GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: GatedTransactionCheck<CheckOutput, _Dependencies>;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies: _Dependencies;\n orderingDependencies?: GatedTransactionDependencies;\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n}): FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts> => {\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\nexport const getBundleIdForGatedTransaction = (\n gtx: BaseGatedTransaction,\n): GatedTransactionBundleId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.bundleName}-${gtx.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
|
|
@@ -92,11 +92,24 @@ var createGatedTxCheckActivitySchema = /* @__PURE__ */ YJF4D23A_cjs.__name(({ in
|
|
|
92
92
|
return zodUtils.functionSchema({
|
|
93
93
|
input: z__default.default.tuple([
|
|
94
94
|
...input ?? [],
|
|
95
|
-
txWithResultSchema
|
|
95
|
+
txWithResultSchema,
|
|
96
|
+
z__default.default.array(resolvedGatedTransactionSchema()).optional()
|
|
96
97
|
]),
|
|
97
98
|
output: z__default.default.promise(output)
|
|
98
99
|
});
|
|
99
100
|
}, "createGatedTxCheckActivitySchema");
|
|
101
|
+
var createGatedTupleDependentTxCheckActivitySchema = /* @__PURE__ */ YJF4D23A_cjs.__name(({ input, output, transactionSchema, txNumber }) => {
|
|
102
|
+
return zodUtils.functionSchema({
|
|
103
|
+
input: z__default.default.tuple([
|
|
104
|
+
...input ?? [],
|
|
105
|
+
commonChainModel.buildTransactionWithResultSchema(transactionSchema),
|
|
106
|
+
z__default.default.array(resolvedGatedTransactionSchema({
|
|
107
|
+
transactionSchema
|
|
108
|
+
})).length(txNumber).optional()
|
|
109
|
+
]),
|
|
110
|
+
output: z__default.default.promise(output)
|
|
111
|
+
});
|
|
112
|
+
}, "createGatedTupleDependentTxCheckActivitySchema");
|
|
100
113
|
var gatedTxCheckResultSchema = z__default.default.object({
|
|
101
114
|
expectationMet: z__default.default.boolean(),
|
|
102
115
|
data: z__default.default.any()
|
|
@@ -125,6 +138,7 @@ var gatedTransactionCacheSchema = z__default.default.object({
|
|
|
125
138
|
});
|
|
126
139
|
|
|
127
140
|
exports.GatedTransactionStatus = GatedTransactionStatus;
|
|
141
|
+
exports.createGatedTupleDependentTxCheckActivitySchema = createGatedTupleDependentTxCheckActivitySchema;
|
|
128
142
|
exports.createGatedTxCheckActivitySchema = createGatedTxCheckActivitySchema;
|
|
129
143
|
exports.createTxArrayDependentActivitySchema = createTxArrayDependentActivitySchema;
|
|
130
144
|
exports.createTxTupleDependentActivitySchema = createTxTupleDependentActivitySchema;
|
|
@@ -136,5 +150,5 @@ exports.isAnySuccessTypeGatedTransaction = isAnySuccessTypeGatedTransaction;
|
|
|
136
150
|
exports.isResolvedGtx = isResolvedGtx;
|
|
137
151
|
exports.resolvedGatedTransactionSchema = resolvedGatedTransactionSchema;
|
|
138
152
|
exports.resolvedGatedTransactionWithArtifactsSchema = resolvedGatedTransactionWithArtifactsSchema;
|
|
139
|
-
//# sourceMappingURL=
|
|
140
|
-
//# sourceMappingURL=
|
|
153
|
+
//# sourceMappingURL=OOK6JDQR.cjs.map
|
|
154
|
+
//# sourceMappingURL=OOK6JDQR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","isResolvedGtx","__name","gtx","result","gatedTransactionSchema","_","customSchema","meta","title","description","resolvedGatedTransactionSchema","resolvedGatedTransactionWithArtifactsSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","functionSchema","input","tuple","def","items","array","output","promise","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional","createGatedTupleDependentTxCheckActivitySchema","buildTransactionWithResultSchema","gatedTxCheckResultSchema","expectationMet","boolean","data","isAnySuccessTypeGatedTransaction","includes","gatedTransactionCacheSchema","getCachedTxCheckData","cacheSuccessfulTxCheckData"],"mappings":"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","file":"OOK6JDQR.cjs","sourcesContent":["import z from 'zod';\n\nimport type {\n transactionSchema as _transactionSchema,\n TransactionWithResult,\n} from '@layerzerolabs/common-chain-model';\nimport {\n buildTransactionWithResultSchema,\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type {\n DeepFunctionPointers,\n DeeplyResolvedDeepFunctionPointers,\n FunctionPointer,\n} from '@layerzerolabs/function-pointer';\nimport type {\n BrandedError,\n BuildTuple,\n DecimalString,\n IsAny,\n Or,\n} from '@layerzerolabs/typescript-utils';\nimport type { InferredArray } from '@layerzerolabs/zod-utils';\nimport { customSchema, functionSchema } from '@layerzerolabs/zod-utils';\n\nimport type { BuildDeps } from './gatedTx';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> =\n Or<\n [OnChainDataType extends number | DecimalString ? true : false, IsAny<OnChainDataType>]\n > extends true\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : OnChainDataType extends string | object | boolean\n ? '=' | '!='\n : BrandedError<'Unsupported comparison type'>;\n\nexport type OnChainDataComparison<OnChainDataType extends string | number | boolean | object> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<\n CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n functionPointer: FunctionPointer<\n (tx?: TransactionWithResult, deps?: BuildDeps<_Dependencies>) => CheckOutput\n >;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\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 // TODO: use this schema as source of truth for GatedTransactionResult type\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 z.object({\n status: z.literal(GatedTransactionStatus.DEFERRED_SUCCESS),\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[];\n\nexport type GatedTransactionArtifacts = {\n // if the registry already has this artifact AND shortCircuit is true, will resolve with no-op\n [artifactType: string]: {\n // passed through to the registry\n [artifactId: string]: {\n shape: DeepFunctionPointers<\n (args: { gtx: SuccessfulGatedTransaction<any> }) => Promise<any>\n >;\n shortCircuit?: boolean;\n };\n };\n};\n\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n artifacts?: Artifacts;\n chainName: string;\n check: GatedTransactionCheck<CheckOutput, _Dependencies>;\n dependencies: _Dependencies;\n /**\n * Ordering-only dependencies: this transaction must be executed after these transactions,\n * but does not require their resolved output. If a transaction appears in both\n * `dependencies` and `orderingDependencies`, the regular dependency semantics take precedence.\n */\n orderingDependencies?: GatedTransactionDependencies;\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 CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts>\n | FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<\n infer Name,\n any,\n infer CheckOutput,\n any,\n infer _Dependencies,\n infer Artifacts\n >\n ? BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts>\n : never;\n\nexport enum GatedTransactionStatus {\n // precheck passed, no need to send the tx\n NO_OP = 'no_op',\n // precheck failed, tx was sent, postcheck passed\n SUCCESS = 'success',\n // precheck failed, tx was sent but sender returned an error\n TRANSACTION_FAILED = 'transaction_failed',\n // precheck failed, tx was sent, postcheck failed\n FINAL_CHECK_FAILED = 'final_check_failed',\n // the tx couldn't be resolved because one of its dependencies resolved to a failed state\n DEPENDENCY_FAILED = 'dependency_failed',\n // approval to send the tx was explicitly denied\n DENIED = 'denied',\n // precheck failed, tx was sent but indeterminate, deferred execution passed on a recheck\n DEFERRED_SUCCESS = 'deferred_success',\n}\n\nexport type NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\nexport type SuccessfulGatedTransaction<TxType extends Transaction = Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\nexport type TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\nexport type CheckFailedGatedTransaction<\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\nexport type DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\nexport type DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type DeferredSuccessfulGatedTransaction = {\n status: GatedTransactionStatus.DEFERRED_SUCCESS;\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 | DeferredSuccessfulGatedTransaction;\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 type ResolvedGatedTransactionWithArtifacts<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = ResolvedGatedTransaction<GatedTx, TxType> & {\n resolvedArtifacts: {\n [ArtifactType in keyof NonNullable<GatedTx['artifacts']>]: {\n [ArtifactId in keyof NonNullable<GatedTx['artifacts']>[ArtifactType]]: Awaited<\n NonNullable<GatedTx['artifacts']>[ArtifactType][ArtifactId] extends {\n shape: infer Shape extends DeepFunctionPointers;\n }\n ? DeeplyResolvedDeepFunctionPointers<Shape>\n : never\n >;\n };\n };\n};\n\nexport const isResolvedGtx = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\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}) =>\n customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>().meta({\n title: 'Gated Transaction',\n description: 'A schema for a gated transaction',\n });\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 >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\n });\n\nexport const resolvedGatedTransactionWithArtifactsSchema = <\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 ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\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 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 ...(extraArgs?.def?.items ?? []),\n z.array(\n resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema,\n }),\n ),\n ] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ]\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 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 resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([...(extraArgs?.def?.items ?? []), z.tuple(txs as any)] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ]\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([\n ...(input ?? []),\n txWithResultSchema,\n z.array(resolvedGatedTransactionSchema()).optional(),\n ] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [\n ...args: InferredArray<Input>,\n tx?: z.infer<TransactionWithResultSchema>,\n dependencies?: unknown[],\n ]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport const createGatedTupleDependentTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n>({\n input,\n output,\n transactionSchema,\n txNumber,\n}: {\n input?: Input;\n output: Output;\n transactionSchema: TransactionSchema;\n txNumber: TxNumber;\n}) => {\n return functionSchema({\n input: z.tuple([\n ...(input ?? []),\n buildTransactionWithResultSchema(transactionSchema),\n z\n .array(resolvedGatedTransactionSchema({ transactionSchema }))\n .length(txNumber)\n .optional(),\n ] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [\n ...args: InferredArray<Input>,\n tx?: z.infer<TransactionWithResultFor<z.infer<TransactionSchema>>>,\n dependencies?: BuildTuple<ResolvedGatedTransaction, TxNumber>,\n ]\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\nexport interface GatedTxCheckResult {\n expectationMet: boolean;\n data: unknown;\n}\n\nexport const gatedTxCheckResultSchema = z.object({\n expectationMet: z.boolean(),\n data: z.any(),\n});\n\nexport const isAnySuccessTypeGatedTransaction = <\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n>(\n gtx: ResolvedGatedTransaction<GatedTx, TxType>,\n): gtx is BaseGatedTransactionFor<GatedTx> & {\n result: Extract<\n GatedTransactionResult<GatedTx, TxType>,\n {\n status:\n | GatedTransactionStatus.SUCCESS\n | GatedTransactionStatus.NO_OP\n | GatedTransactionStatus.DEFERRED_SUCCESS;\n }\n >;\n} => {\n return [\n GatedTransactionStatus.SUCCESS,\n GatedTransactionStatus.NO_OP,\n GatedTransactionStatus.DEFERRED_SUCCESS,\n ].includes(gtx.result.status);\n};\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\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n"]}
|
|
@@ -30,5 +30,5 @@ exports.constructGatedTransaction = constructGatedTransaction;
|
|
|
30
30
|
exports.constructGatedTransactionFromPointer = constructGatedTransactionFromPointer;
|
|
31
31
|
exports.getBundleIdForGatedTransaction = getBundleIdForGatedTransaction;
|
|
32
32
|
exports.getIdForGatedTransaction = getIdForGatedTransaction;
|
|
33
|
-
//# sourceMappingURL=
|
|
34
|
-
//# sourceMappingURL=
|
|
33
|
+
//# sourceMappingURL=SIIL7L4G.cjs.map
|
|
34
|
+
//# sourceMappingURL=SIIL7L4G.cjs.map
|
|
@@ -0,0 +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","getBundleIdForGatedTransaction","bundleName"],"mappings":";;;;;AAmBO,IAAMA,yBAAAA,wCAMXC,GAAAA,KAAAA;AAaE,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,EArByC,2BAAA;AAqClC,IAAME,oCAAAA,wCAOXH,GAAAA,KAAAA;AAeE,EAAA,OAAO;IACH,GAAGA,GAAAA;IACHE,eAAAA,EAAiB;AACrB,GAAA;AACJ,CAAA,EA1BoD,sCAAA;AA4B7C,IAAME,wBAAAA,wCAA4BJ,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;AAUjC,IAAMU,8BAAAA,wCACTf,GAAAA,KAAAA;AAEA,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,CAAIgB,UAAU,IAAIhB,GAAAA,CAAIc,SAAS,IAAIT,sBAAAA,CAAAA,CAAAA;AACjD,CAAA,EAV8C,gCAAA","file":"SIIL7L4G.cjs","sourcesContent":["import type { Transaction } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\n\nimport type {\n BaseGatedTransaction,\n FunctionalGatedTransaction,\n GatedTransaction,\n GatedTransactionArtifacts,\n GatedTransactionBundleId,\n GatedTransactionCheck,\n GatedTransactionDependencies,\n GatedTransactionId,\n LiteralGatedTransaction,\n ResolvedGatedTransaction,\n} from './schemata';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n TxType extends Transaction,\n CheckOutput extends Promise<any>,\n const _Dependencies extends GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: GatedTransactionCheck<CheckOutput, _Dependencies>;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: _Dependencies;\n orderingDependencies?: GatedTransactionDependencies;\n transaction: TxType;\n}): LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts> => {\n const dependencies = gtx.dependencies ?? ([] as any);\n return { ...gtx, transactionType: 'literal', dependencies };\n};\n\nexport type BuildDeps<Params extends GatedTransaction[]> = Params extends []\n ? []\n : Params extends readonly [\n infer Gtx extends GatedTransaction,\n ...infer Rest extends GatedTransaction[],\n ]\n ? [ResolvedGatedTransaction<Gtx>, ...BuildDeps<[...Rest]>]\n : Params extends Array<GatedTransaction>\n ? unknown[]\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 CheckOutput extends Promise<any>,\n DepInput extends [...args: any[], txes: any],\n const _Dependencies extends GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: GatedTransactionCheck<CheckOutput, _Dependencies>;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies: _Dependencies;\n orderingDependencies?: GatedTransactionDependencies;\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n}): FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts> => {\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\nexport const getBundleIdForGatedTransaction = (\n gtx: BaseGatedTransaction,\n): GatedTransactionBundleId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.bundleName}-${gtx.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
|
package/dist/gatedTx.cjs
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var SIIL7L4G_cjs = require('./SIIL7L4G.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
|
|
10
|
+
get: function () { return SIIL7L4G_cjs.constructGatedTransaction; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "constructGatedTransactionFromPointer", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return SIIL7L4G_cjs.constructGatedTransactionFromPointer; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "getBundleIdForGatedTransaction", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return SIIL7L4G_cjs.getBundleIdForGatedTransaction; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "getIdForGatedTransaction", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return SIIL7L4G_cjs.getIdForGatedTransaction; }
|
|
23
23
|
});
|
|
24
24
|
//# sourceMappingURL=gatedTx.cjs.map
|
|
25
25
|
//# sourceMappingURL=gatedTx.cjs.map
|
package/dist/gatedTx.d.ts
CHANGED
|
@@ -1,51 +1,44 @@
|
|
|
1
|
-
import type { Transaction
|
|
1
|
+
import type { Transaction } from '@layerzerolabs/common-chain-model';
|
|
2
2
|
import type { FunctionPointer } from '@layerzerolabs/function-pointer';
|
|
3
|
-
import type { BaseGatedTransaction, FunctionalGatedTransaction, GatedTransactionArtifacts, GatedTransactionBundleId, GatedTransactionDependencies, GatedTransactionId, LiteralGatedTransaction,
|
|
3
|
+
import type { BaseGatedTransaction, FunctionalGatedTransaction, GatedTransaction, GatedTransactionArtifacts, GatedTransactionBundleId, GatedTransactionCheck, GatedTransactionDependencies, GatedTransactionId, LiteralGatedTransaction, ResolvedGatedTransaction } from './schemata';
|
|
4
4
|
/**
|
|
5
5
|
* Builds a {@link GatedTransaction}
|
|
6
6
|
*/
|
|
7
|
-
export declare const constructGatedTransaction: <const Name extends string, TxType extends Transaction, CheckOutput extends Promise<any>, _Dependencies extends GatedTransactionDependencies, Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts>(gtx: {
|
|
7
|
+
export declare const constructGatedTransaction: <const Name extends string, TxType extends Transaction, CheckOutput extends Promise<any>, const _Dependencies extends GatedTransactionDependencies, Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts>(gtx: {
|
|
8
8
|
name: Name;
|
|
9
9
|
description?: string;
|
|
10
10
|
chainName: string;
|
|
11
11
|
bundleName?: string;
|
|
12
12
|
artifacts?: Artifacts;
|
|
13
|
-
check:
|
|
14
|
-
functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;
|
|
15
|
-
expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;
|
|
16
|
-
};
|
|
13
|
+
check: GatedTransactionCheck<CheckOutput, _Dependencies>;
|
|
17
14
|
uniqueIdKeys?: Record<string, string | number | boolean>;
|
|
18
15
|
cacheable?: boolean;
|
|
19
16
|
dependencies?: _Dependencies;
|
|
20
17
|
orderingDependencies?: GatedTransactionDependencies;
|
|
21
18
|
transaction: TxType;
|
|
22
|
-
}) => LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies>;
|
|
23
|
-
type BuildDeps<Params extends
|
|
24
|
-
|
|
25
|
-
...infer Rest extends
|
|
26
|
-
] ? [Gtx
|
|
19
|
+
}) => LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts>;
|
|
20
|
+
export type BuildDeps<Params extends GatedTransaction[]> = Params extends [] ? [] : Params extends readonly [
|
|
21
|
+
infer Gtx extends GatedTransaction,
|
|
22
|
+
...infer Rest extends GatedTransaction[]
|
|
23
|
+
] ? [ResolvedGatedTransaction<Gtx>, ...BuildDeps<[...Rest]>] : Params extends Array<GatedTransaction> ? unknown[] : never;
|
|
27
24
|
/**
|
|
28
25
|
* Builds a {@link GatedTransaction} from a pointer
|
|
29
26
|
*/
|
|
30
|
-
export declare const constructGatedTransactionFromPointer: <const Name extends string, TxType extends Transaction, CheckOutput extends Promise<any>, DepInput extends [...args: any[], txes: any], Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts>(gtx: {
|
|
27
|
+
export declare const constructGatedTransactionFromPointer: <const Name extends string, TxType extends Transaction, CheckOutput extends Promise<any>, DepInput extends [...args: any[], txes: any], const _Dependencies extends GatedTransactionDependencies, Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts>(gtx: {
|
|
31
28
|
name: Name;
|
|
32
29
|
description?: string;
|
|
33
30
|
chainName: string;
|
|
34
31
|
bundleName?: string;
|
|
35
32
|
artifacts?: Artifacts;
|
|
36
|
-
check:
|
|
37
|
-
functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;
|
|
38
|
-
expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;
|
|
39
|
-
};
|
|
33
|
+
check: GatedTransactionCheck<CheckOutput, _Dependencies>;
|
|
40
34
|
uniqueIdKeys?: Record<string, string | number | boolean>;
|
|
41
35
|
cacheable?: boolean;
|
|
42
|
-
dependencies:
|
|
36
|
+
dependencies: _Dependencies;
|
|
43
37
|
orderingDependencies?: GatedTransactionDependencies;
|
|
44
38
|
getTransaction: {
|
|
45
39
|
functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;
|
|
46
40
|
};
|
|
47
|
-
}) => FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput,
|
|
41
|
+
}) => FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts>;
|
|
48
42
|
export declare const getIdForGatedTransaction: (gtx: BaseGatedTransaction) => GatedTransactionId;
|
|
49
43
|
export declare const getBundleIdForGatedTransaction: (gtx: BaseGatedTransaction) => GatedTransactionBundleId;
|
|
50
|
-
export {};
|
|
51
44
|
//# sourceMappingURL=gatedTx.d.ts.map
|
package/dist/gatedTx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatedTx.d.ts","sourceRoot":"","sources":["../src/gatedTx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
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, getBundleIdForGatedTransaction, getIdForGatedTransaction } from './
|
|
1
|
+
export { constructGatedTransaction, constructGatedTransactionFromPointer, getBundleIdForGatedTransaction, getIdForGatedTransaction } from './NZAKKJBU.js';
|
|
2
2
|
import './VUOMXK5T.js';
|
|
3
3
|
//# sourceMappingURL=gatedTx.js.map
|
|
4
4
|
//# sourceMappingURL=gatedTx.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,74 +1,78 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var SIIL7L4G_cjs = require('./SIIL7L4G.cjs');
|
|
4
|
+
var OOK6JDQR_cjs = require('./OOK6JDQR.cjs');
|
|
5
5
|
require('./YJF4D23A.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "constructGatedTransaction", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return SIIL7L4G_cjs.constructGatedTransaction; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "constructGatedTransactionFromPointer", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return SIIL7L4G_cjs.constructGatedTransactionFromPointer; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "getBundleIdForGatedTransaction", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return SIIL7L4G_cjs.getBundleIdForGatedTransaction; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "getIdForGatedTransaction", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return SIIL7L4G_cjs.getIdForGatedTransaction; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "GatedTransactionStatus", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return OOK6JDQR_cjs.GatedTransactionStatus; }
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "createGatedTupleDependentTxCheckActivitySchema", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () { return OOK6JDQR_cjs.createGatedTupleDependentTxCheckActivitySchema; }
|
|
28
32
|
});
|
|
29
33
|
Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
|
|
30
34
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
35
|
+
get: function () { return OOK6JDQR_cjs.createGatedTxCheckActivitySchema; }
|
|
32
36
|
});
|
|
33
37
|
Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
|
|
34
38
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
39
|
+
get: function () { return OOK6JDQR_cjs.createTxArrayDependentActivitySchema; }
|
|
36
40
|
});
|
|
37
41
|
Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
|
|
38
42
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
43
|
+
get: function () { return OOK6JDQR_cjs.createTxTupleDependentActivitySchema; }
|
|
40
44
|
});
|
|
41
45
|
Object.defineProperty(exports, "gatedTransactionCacheSchema", {
|
|
42
46
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
47
|
+
get: function () { return OOK6JDQR_cjs.gatedTransactionCacheSchema; }
|
|
44
48
|
});
|
|
45
49
|
Object.defineProperty(exports, "gatedTransactionResultSchema", {
|
|
46
50
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
51
|
+
get: function () { return OOK6JDQR_cjs.gatedTransactionResultSchema; }
|
|
48
52
|
});
|
|
49
53
|
Object.defineProperty(exports, "gatedTransactionSchema", {
|
|
50
54
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
55
|
+
get: function () { return OOK6JDQR_cjs.gatedTransactionSchema; }
|
|
52
56
|
});
|
|
53
57
|
Object.defineProperty(exports, "gatedTxCheckResultSchema", {
|
|
54
58
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
59
|
+
get: function () { return OOK6JDQR_cjs.gatedTxCheckResultSchema; }
|
|
56
60
|
});
|
|
57
61
|
Object.defineProperty(exports, "isAnySuccessTypeGatedTransaction", {
|
|
58
62
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
63
|
+
get: function () { return OOK6JDQR_cjs.isAnySuccessTypeGatedTransaction; }
|
|
60
64
|
});
|
|
61
65
|
Object.defineProperty(exports, "isResolvedGtx", {
|
|
62
66
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
67
|
+
get: function () { return OOK6JDQR_cjs.isResolvedGtx; }
|
|
64
68
|
});
|
|
65
69
|
Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
|
|
66
70
|
enumerable: true,
|
|
67
|
-
get: function () { return
|
|
71
|
+
get: function () { return OOK6JDQR_cjs.resolvedGatedTransactionSchema; }
|
|
68
72
|
});
|
|
69
73
|
Object.defineProperty(exports, "resolvedGatedTransactionWithArtifactsSchema", {
|
|
70
74
|
enumerable: true,
|
|
71
|
-
get: function () { return
|
|
75
|
+
get: function () { return OOK6JDQR_cjs.resolvedGatedTransactionWithArtifactsSchema; }
|
|
72
76
|
});
|
|
73
77
|
//# sourceMappingURL=index.cjs.map
|
|
74
78
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { constructGatedTransaction, constructGatedTransactionFromPointer, getBundleIdForGatedTransaction, getIdForGatedTransaction } from './
|
|
2
|
-
export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isAnySuccessTypeGatedTransaction, isResolvedGtx, resolvedGatedTransactionSchema, resolvedGatedTransactionWithArtifactsSchema } from './
|
|
1
|
+
export { constructGatedTransaction, constructGatedTransactionFromPointer, getBundleIdForGatedTransaction, getIdForGatedTransaction } from './NZAKKJBU.js';
|
|
2
|
+
export { GatedTransactionStatus, createGatedTupleDependentTxCheckActivitySchema, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isAnySuccessTypeGatedTransaction, isResolvedGtx, resolvedGatedTransactionSchema, resolvedGatedTransactionWithArtifactsSchema } from './KV3KJHUR.js';
|
|
3
3
|
import './VUOMXK5T.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/schemata.cjs
CHANGED
|
@@ -1,57 +1,61 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var OOK6JDQR_cjs = require('./OOK6JDQR.cjs');
|
|
4
4
|
require('./YJF4D23A.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "GatedTransactionStatus", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return OOK6JDQR_cjs.GatedTransactionStatus; }
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "createGatedTupleDependentTxCheckActivitySchema", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return OOK6JDQR_cjs.createGatedTupleDependentTxCheckActivitySchema; }
|
|
11
15
|
});
|
|
12
16
|
Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
|
|
13
17
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
18
|
+
get: function () { return OOK6JDQR_cjs.createGatedTxCheckActivitySchema; }
|
|
15
19
|
});
|
|
16
20
|
Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
|
|
17
21
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
22
|
+
get: function () { return OOK6JDQR_cjs.createTxArrayDependentActivitySchema; }
|
|
19
23
|
});
|
|
20
24
|
Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
|
|
21
25
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
26
|
+
get: function () { return OOK6JDQR_cjs.createTxTupleDependentActivitySchema; }
|
|
23
27
|
});
|
|
24
28
|
Object.defineProperty(exports, "gatedTransactionCacheSchema", {
|
|
25
29
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
30
|
+
get: function () { return OOK6JDQR_cjs.gatedTransactionCacheSchema; }
|
|
27
31
|
});
|
|
28
32
|
Object.defineProperty(exports, "gatedTransactionResultSchema", {
|
|
29
33
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
34
|
+
get: function () { return OOK6JDQR_cjs.gatedTransactionResultSchema; }
|
|
31
35
|
});
|
|
32
36
|
Object.defineProperty(exports, "gatedTransactionSchema", {
|
|
33
37
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
38
|
+
get: function () { return OOK6JDQR_cjs.gatedTransactionSchema; }
|
|
35
39
|
});
|
|
36
40
|
Object.defineProperty(exports, "gatedTxCheckResultSchema", {
|
|
37
41
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
42
|
+
get: function () { return OOK6JDQR_cjs.gatedTxCheckResultSchema; }
|
|
39
43
|
});
|
|
40
44
|
Object.defineProperty(exports, "isAnySuccessTypeGatedTransaction", {
|
|
41
45
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
46
|
+
get: function () { return OOK6JDQR_cjs.isAnySuccessTypeGatedTransaction; }
|
|
43
47
|
});
|
|
44
48
|
Object.defineProperty(exports, "isResolvedGtx", {
|
|
45
49
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
50
|
+
get: function () { return OOK6JDQR_cjs.isResolvedGtx; }
|
|
47
51
|
});
|
|
48
52
|
Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
|
|
49
53
|
enumerable: true,
|
|
50
|
-
get: function () { return
|
|
54
|
+
get: function () { return OOK6JDQR_cjs.resolvedGatedTransactionSchema; }
|
|
51
55
|
});
|
|
52
56
|
Object.defineProperty(exports, "resolvedGatedTransactionWithArtifactsSchema", {
|
|
53
57
|
enumerable: true,
|
|
54
|
-
get: function () { return
|
|
58
|
+
get: function () { return OOK6JDQR_cjs.resolvedGatedTransactionWithArtifactsSchema; }
|
|
55
59
|
});
|
|
56
60
|
//# sourceMappingURL=schemata.cjs.map
|
|
57
61
|
//# sourceMappingURL=schemata.cjs.map
|
package/dist/schemata.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { type Transaction, type TransactionWithResultFor, transactionWithResultS
|
|
|
4
4
|
import type { DeepFunctionPointers, DeeplyResolvedDeepFunctionPointers, FunctionPointer } from '@layerzerolabs/function-pointer';
|
|
5
5
|
import type { BrandedError, BuildTuple, DecimalString, IsAny, Or } from '@layerzerolabs/typescript-utils';
|
|
6
6
|
import type { InferredArray } from '@layerzerolabs/zod-utils';
|
|
7
|
+
import type { BuildDeps } from './gatedTx';
|
|
7
8
|
export type OnChainDataComparisonOperator<OnChainDataType> = Or<[
|
|
8
9
|
OnChainDataType extends number | DecimalString ? true : false,
|
|
9
10
|
IsAny<OnChainDataType>
|
|
@@ -12,8 +13,8 @@ export type OnChainDataComparison<OnChainDataType extends string | number | bool
|
|
|
12
13
|
operator: OnChainDataComparisonOperator<OnChainDataType>;
|
|
13
14
|
comparisonValue: OnChainDataType;
|
|
14
15
|
};
|
|
15
|
-
export type GatedTransactionCheck<CheckOutput extends Promise<any> = Promise<any
|
|
16
|
-
functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;
|
|
16
|
+
export type GatedTransactionCheck<CheckOutput extends Promise<any> = Promise<any>, _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies> = {
|
|
17
|
+
functionPointer: FunctionPointer<(tx?: TransactionWithResult, deps?: BuildDeps<_Dependencies>) => CheckOutput>;
|
|
17
18
|
expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;
|
|
18
19
|
};
|
|
19
20
|
export declare const gatedTransactionResultSchema: <TxWithResultSchema extends typeof _transactionWithResultSchema, OnchainDataSchema extends z.ZodType>(txWithResultSchema: TxWithResultSchema, onchainDataSchema: OnchainDataSchema) => z.ZodUnion<readonly [z.ZodObject<{
|
|
@@ -54,7 +55,7 @@ export type BaseGatedTransaction<Name extends string = string, CheckOutput exten
|
|
|
54
55
|
bundleName?: string;
|
|
55
56
|
artifacts?: Artifacts;
|
|
56
57
|
chainName: string;
|
|
57
|
-
check: GatedTransactionCheck<CheckOutput>;
|
|
58
|
+
check: GatedTransactionCheck<CheckOutput, _Dependencies>;
|
|
58
59
|
dependencies: _Dependencies;
|
|
59
60
|
/**
|
|
60
61
|
* Ordering-only dependencies: this transaction must be executed after these transactions,
|
|
@@ -157,7 +158,13 @@ export declare const createGatedTxCheckActivitySchema: <Output extends z.ZodType
|
|
|
157
158
|
input?: Input;
|
|
158
159
|
transactionWithResultSchema?: TransactionWithResultSchema;
|
|
159
160
|
output: Output;
|
|
160
|
-
}) => z.ZodType<(...args: [...InferredArray<Input>, z.infer<TransactionWithResultSchema
|
|
161
|
+
}) => z.ZodType<(...args: [...args: InferredArray<Input>, tx?: z.infer<TransactionWithResultSchema>, dependencies?: unknown[]]) => Promise<z.infer<Output>>>;
|
|
162
|
+
export declare const createGatedTupleDependentTxCheckActivitySchema: <Output extends z.ZodType, const Input extends z.ZodType[] = [], TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema, const TxNumber extends number = 1>({ input, output, transactionSchema, txNumber, }: {
|
|
163
|
+
input?: Input;
|
|
164
|
+
output: Output;
|
|
165
|
+
transactionSchema: TransactionSchema;
|
|
166
|
+
txNumber: TxNumber;
|
|
167
|
+
}) => z.ZodType<(...args: [...args: InferredArray<Input>, tx?: z.infer<TransactionWithResultFor<z.infer<TransactionSchema>>>, dependencies?: BuildTuple<ResolvedGatedTransaction, TxNumber>]) => Promise<z.infer<Output>>>;
|
|
161
168
|
export type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> = GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies> ? {
|
|
162
169
|
[K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;
|
|
163
170
|
} : never;
|
package/dist/schemata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../src/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EACR,iBAAiB,IAAI,kBAAkB,EACvC,qBAAqB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,2BAA2B,IAAI,4BAA4B,EAC9D,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACR,oBAAoB,EACpB,kCAAkC,EAClC,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACR,YAAY,EACZ,UAAU,EACV,aAAa,EACb,KAAK,EACL,EAAE,EACL,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,MAAM,6BAA6B,CAAC,eAAe,IACrD,EAAE,CACE;IAAC,eAAe,SAAS,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,KAAK;IAAE,KAAK,CAAC,eAAe,CAAC;CAAC,CAC1F,SAAS,IAAI,GACR,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GACpC,eAAe,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAC/C,GAAG,GAAG,IAAI,GACV,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAExD,MAAM,MAAM,qBAAqB,CAAC,eAAe,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,IAAI;IAC5F,QAAQ,EAAE,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,WAAW,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;IACjF,eAAe,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,KAAK,WAAW,CAAC,CAAC;IAC9E,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;CAC/D,CAAC;AAGF,eAAO,MAAM,4BAA4B,GACrC,kBAAkB,SAAS,OAAO,4BAA4B,EAC9D,iBAAiB,SAAS,CAAC,CAAC,OAAO,EAEnC,oBAAoB,kBAAkB,EACtC,mBAAmB,iBAAiB;;;;;;;;;;;;;;;;;;mBA6BlC,CAAC;AAEP,MAAM,MAAM,6BAA6B,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,GAAG,GACxF,OAAO,CAAC,GAAG,CAAC,GACZ,OAAO,CAAC;AACd,MAAM,MAAM,wCAAwC,CAAC,OAAO,SAAS,gBAAgB,IACjF,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,EAAE,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG;IAEpC,CAAC,YAAY,EAAE,MAAM,GAAG;QAEpB,CAAC,UAAU,EAAE,MAAM,GAAG;YAClB,KAAK,EAAE,oBAAoB,CACvB,CAAC,IAAI,EAAE;gBAAE,GAAG,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAA;aAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CACnE,CAAC;YACF,YAAY,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;KACL,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC5B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,WAAW,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAC/C,aAAa,SAAS,4BAA4B,GAAG,4BAA4B,EACjF,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,IACvE;IACA,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1C,YAAY,EAAE,aAAa,CAAC;IAC5B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,WAAW,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAC/C,aAAa,SAAS,4BAA4B,GAAG,4BAA4B,EACjF,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,IACvE,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,GAAG;IACpE,eAAe,EAAE,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAClC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,WAAW,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAC/C,QAAQ,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAC1D,aAAa,SAAS,4BAA4B,GAAG,4BAA4B,EACjF,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,IACvE,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,GAAG;IACpE,eAAe,EAAE,YAAY,CAAC;IAC9B,cAAc,EAAE;QACZ,eAAe,EAAE,eAAe,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,gBAAgB,CACxB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,WAAW,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAC/C,QAAQ,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAC1D,aAAa,SAAS,4BAA4B,GAAG,4BAA4B,EACjF,SAAS,SAAS,yBAAyB,GAAG,yBAAyB,IAErE,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,GAC5E,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAEhG,MAAM,MAAM,uBAAuB,CAAC,OAAO,SAAS,gBAAgB,IAChE,OAAO,SAAS,gBAAgB,CAC5B,MAAM,IAAI,EACV,GAAG,EACH,MAAM,WAAW,EACjB,GAAG,EACH,MAAM,aAAa,EACnB,MAAM,SAAS,CAClB,GACK,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,GACjE,KAAK,CAAC;AAEhB,oBAAY,sBAAsB;IAE9B,KAAK,UAAU;IAEf,OAAO,YAAY;IAEnB,kBAAkB,uBAAuB;IAEzC,kBAAkB,uBAAuB;IAEzC,iBAAiB,sBAAsB;IAEvC,MAAM,WAAW;IAEjB,gBAAgB,qBAAqB;CACxC;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI;IAC/E,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACvC,oBAAoB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,EAAE,sBAAsB,CAAC,kBAAkB,CAAC;IAClD,gBAAgB,EAAE,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACnC,OAAO,SAAS,gBAAgB,EAChC,MAAM,SAAS,WAAW,IAC1B;IACA,MAAM,EAAE,sBAAsB,CAAC,kBAAkB,CAAC;IAClD,oBAAoB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvD,iBAAiB,EAAE,wCAAwC,CAAC,OAAO,CAAC,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC3C,MAAM,EAAE,sBAAsB,CAAC,iBAAiB,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC7C,MAAM,EAAE,sBAAsB,CAAC,gBAAgB,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAC9B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,MAAM,SAAS,WAAW,GAAG,WAAW,IAEtC,oBAAoB,GACpB,0BAA0B,CAAC,MAAM,CAAC,GAClC,wBAAwB,GACxB,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,GAC5C,gCAAgC,GAChC,sBAAsB,GACtB,kCAAkC,CAAC;AAEzC,MAAM,MAAM,wBAAwB,CAChC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,MAAM,SAAS,WAAW,GAAG,WAAW,IACxC,uBAAuB,CAAC,OAAO,CAAC,GAAG;IACnC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,qCAAqC,CAC7C,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,MAAM,SAAS,WAAW,GAAG,WAAW,IACxC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IAC5C,iBAAiB,EAAE;SACd,YAAY,IAAI,MAAM,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG;aACtD,UAAU,IAAI,MAAM,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,OAAO,CAC1E,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,SAAS;gBAChE,KAAK,EAAE,MAAM,KAAK,SAAS,oBAAoB,CAAC;aACnD,GACK,kCAAkC,CAAC,KAAK,CAAC,GACzC,KAAK,CACd;SACJ;KACJ,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,aAAa,GACtB,KAAK,gBAAgB,GAAG,wBAAwB,KACjD,GAAG,IAAI,wBAAsE,CAAC;AAEjF,eAAO,MAAM,sBAAsB,GAC/B,IAAI,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAC7D,iBAAiB,SAAS,OAAO,kBAAkB,GAAG,OAAO,kBAAkB,EACjF,IAAI;IACF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,4pBAIK,CAAC;AAEP,eAAO,MAAM,8BAA8B,GACvC,IAAI,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAC7D,iBAAiB,SAAS,OAAO,kBAAkB,GAAG,OAAO,kBAAkB,EACjF,IAAI;IACF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,44BASK,CAAC;AAEP,eAAO,MAAM,2CAA2C,GACpD,IAAI,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAC7D,iBAAiB,SAAS,OAAO,kBAAkB,GAAG,OAAO,kBAAkB,EACjF,IAAI;IACF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,g8BASK,CAAC;AAEP;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,GAC7C,iBAAiB,SAAS,OAAO,kBAAkB,GAAG,OAAO,kBAAkB,EAC/E,SAAS,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAE7C,mBAAmB,iBAAiB,EACpC,YAAY,SAAS,KAYJ,CAAC,CAAC,OAAO,CACtB,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GACvB,CACI,GAAG,EAAE,qCAAqC,CACtC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CACvD,EAAE,KACF,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GACxC,CACI,GAAG,IAAI,EAAE,CACL,GAAG,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAChC,GAAG,EAAE,qCAAqC,CACtC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CACvD,EAAE,CACN,KACA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAErD,CAAC;AACF;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,GAC7C,iBAAiB,SAAS,OAAO,kBAAkB,GAAG,OAAO,kBAAkB,EAC/E,KAAK,CAAC,QAAQ,SAAS,MAAM,GAAG,CAAC,EACjC,SAAS,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAE7C,mBAAmB,iBAAiB,EACpC,UAAU,QAAQ,EAClB,YAAY,SAAS,KAWJ,CAAC,CAAC,OAAO,CACtB,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GACvB,CACI,GAAG,EAAE,UAAU,CACX,qCAAqC,CACjC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CACvD,EACD,QAAQ,CACX,KACA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GACxC,CACI,GAAG,IAAI,EAAE,CACL,GAAG,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAChC,GAAG,EAAE,UAAU,CACX,qCAAqC,CACjC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CACvD,EACD,QAAQ,CACX,CACJ,KACA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAErD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,MAAM,SAAS,CAAC,CAAC,OAAO,EACxB,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EACpC,2BAA2B,SACvB,OAAO,4BAA4B,GAAG,OAAO,4BAA4B,EAC/E,iDAIC;IACC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAC;CAClB,KAQS,CAAC,CAAC,OAAO,CACX,CACI,GAAG,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,KACxE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAEpC,CAAC;AAEF,MAAM,MAAM,oCAAoC,CAAC,OAAO,SAAS,gBAAgB,IAC7E,OAAO,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC,GACnE;KACK,CAAC,IAAI,MAAM,aAAa,CAAC,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC1E,GACD,KAAK,CAAC;AAEhB,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AAEH,eAAO,MAAM,gCAAgC,GACzC,OAAO,SAAS,gBAAgB,EAChC,MAAM,SAAS,WAAW,EAE1B,KAAK,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,KAC/C,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,GAAG;IACzC,MAAM,EAAE,OAAO,CACX,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,EACvC;QACI,MAAM,EACA,sBAAsB,CAAC,OAAO,GAC9B,sBAAsB,CAAC,KAAK,GAC5B,sBAAsB,CAAC,gBAAgB,CAAC;KACjD,CACJ,CAAC;CAOL,CAAC;AAEF,eAAO,MAAM,2BAA2B;0BAI9B,CAAC,CAAC,OAAO,EACX,CAAC,OAAO,SAAS,gBAAgB,EAC7B,GAAG,EAAE,OAAO,KACX,OAAO,CAAC,wCAAwC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,EAC9E;gCAIK,CAAC,CAAC,OAAO,EACX,CAAC,OAAO,SAAS,gBAAgB,EAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,wCAAwC,CAAC,OAAO,CAAC,KACtD,OAAO,CAAC,IAAI,CAAC,EACrB;iBACH,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../src/schemata.ts"],"names":[],"mappings":"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"}
|
package/dist/schemata.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isAnySuccessTypeGatedTransaction, isResolvedGtx, resolvedGatedTransactionSchema, resolvedGatedTransactionWithArtifactsSchema } from './
|
|
1
|
+
export { GatedTransactionStatus, createGatedTupleDependentTxCheckActivitySchema, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isAnySuccessTypeGatedTransaction, isResolvedGtx, resolvedGatedTransactionSchema, resolvedGatedTransactionWithArtifactsSchema } from './KV3KJHUR.js';
|
|
2
2
|
import './VUOMXK5T.js';
|
|
3
3
|
//# sourceMappingURL=schemata.js.map
|
|
4
4
|
//# sourceMappingURL=schemata.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/gated-transaction",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.85",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -19,18 +19,18 @@
|
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"zod": "4.3.5",
|
|
22
|
-
"@layerzerolabs/
|
|
23
|
-
"@layerzerolabs/zod-utils": "0.2.
|
|
24
|
-
"@layerzerolabs/
|
|
22
|
+
"@layerzerolabs/common-chain-model": "0.2.85",
|
|
23
|
+
"@layerzerolabs/zod-utils": "0.2.85",
|
|
24
|
+
"@layerzerolabs/function-pointer": "0.2.85"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/lodash.isequal": "^4.5.8",
|
|
28
28
|
"tsup": "^8.4.0",
|
|
29
29
|
"vitest": "^3.2.3",
|
|
30
|
-
"@layerzerolabs/base-definitions": "0.2.
|
|
31
|
-
"@layerzerolabs/tsup-configuration": "0.2.
|
|
32
|
-
"@layerzerolabs/typescript-
|
|
33
|
-
"@layerzerolabs/typescript-
|
|
30
|
+
"@layerzerolabs/base-definitions": "0.2.85",
|
|
31
|
+
"@layerzerolabs/tsup-configuration": "0.2.85",
|
|
32
|
+
"@layerzerolabs/typescript-utils": "0.2.85",
|
|
33
|
+
"@layerzerolabs/typescript-configuration": "0.2.85"
|
|
34
34
|
},
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public",
|
package/dist/AH6X525J.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","isResolvedGtx","__name","gtx","result","gatedTransactionSchema","_","customSchema","meta","title","description","resolvedGatedTransactionSchema","resolvedGatedTransactionWithArtifactsSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","functionSchema","input","tuple","def","items","array","output","promise","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional","gatedTxCheckResultSchema","expectationMet","boolean","data","isAnySuccessTypeGatedTransaction","includes","gatedTransactionCacheSchema","getCachedTxCheckData","cacheSuccessfulTxCheckData"],"mappings":";;;;;;;;;;;AA8CO,IAAMA,4BAAAA,wCAITC,kBAAAA,EACAC,iBAAAA;;AAGAC,EAAAA,kBAAAA,CAAEC,KAAAA,CAAM;AACJD,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,OAAA;KACrB,CAAA;AACAJ,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,SAAA,CAAA;MACjBC,oBAAAA,EAAsBP;KAC1B,CAAA;AACAE,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,oBAAA,CAAA;AACjBE,MAAAA,gBAAAA,EAAkBN,mBAAEO,GAAAA;KACxB,CAAA;AACAP,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,oBAAA,CAAA;MACjBC,oBAAAA,EAAsBP,kBAAAA;MACtBU,iBAAAA,EAAmBT;KACvB,CAAA;AACAC,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,mBAAA;KACrB,CAAA;AACAJ,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,QAAA;KACrB,CAAA;AACAJ,IAAAA,kBAAAA,CAAEE,MAAAA,CAAO;MACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,kBAAA;KACrB;AACH,GAAA;AAlCuC,CAAA,EAAA,8BAAA;AAgIrC,IAAKK,sBAAAA,6BAAAA,uBAAAA,EAAAA;;;;;;;;AAAAA,EAAAA,OAAAA,uBAAAA;;AAwFL,IAAMC,gCAAgBC,mBAAA,CAAA,CACzBC,GAAAA,KACkC,CAAC,CAAEA,IAAiCC,MAAAA,EAF7C,eAAA;AAItB,IAAMC,sBAAAA,mBAAyBH,mBAAA,CAAA,CAGpCI,CAAAA,KAIEC,qBAAAA,GAA4EC,IAAAA,CAAK;EAC7EC,KAAAA,EAAO,mBAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAVkC,wBAAA;AAY/B,IAAMC,8BAAAA,mBAAiCT,mBAAA,CAAA,CAG5CI,CAAAA,KAIEC,qBAAAA,GAKIC,IAAAA,CAAK;EACLC,KAAAA,EAAO,4BAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAf0C,gCAAA;AAiBvC,IAAME,2CAAAA,mBAA8CV,mBAAA,CAAA,CAGzDI,CAAAA,KAIEC,qBAAAA,GAKIC,IAAAA,CAAK;EACLC,KAAAA,EAAO,4BAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAfuD,6CAAA;AAwBpD,IAAMG,oCAAAA,mBAAuCX,mBAAA,CAAA,CAIhDY,iBAAAA,EACAC,SAAAA,KAAAA;AAEA,EAAA,OAAOC,uBAAAA,CAAe;AAClBC,IAAAA,KAAAA,EAAO1B,mBAAE2B,KAAAA,CAAM;SACPH,SAAAA,EAAWI,GAAAA,EAAKC,SAAS,EAAA;AAC7B7B,MAAAA,kBAAAA,CAAE8B,MACET,2CAAAA,CAA4C;AACxCE,QAAAA;AACJ,OAAA,CAAA;AAEP,KAAA,CAAA;IACDQ,MAAAA,EAAQ/B,kBAAAA,CAAEgC,QAAQT,iBAAAA;GACtB,CAAA;AAgBJ,CAAA,EAjCoD,sCAAA;AAyC7C,IAAMU,oCAAAA,mBAAuCtB,mBAAA,CAAA,CAKhDY,iBAAAA,EACAW,QAAAA,EACAV,SAAAA,KAAAA;AAEA,EAAA,MAAMW,GAAAA,GAAMC,MAAMC,IAAAA,CAAK;IAAEC,MAAAA,EAAQJ;AAAS,GAAA,EAAG,MACzCb,2CAAAA,CAA4C;AACxCE,IAAAA;AACJ,GAAA,CAAA,CAAA;AAGJ,EAAA,OAAOE,uBAAAA,CAAe;AAClBC,IAAAA,KAAAA,EAAO1B,mBAAE2B,KAAAA,CAAM;SAAKH,SAAAA,EAAWI,GAAAA,EAAKC,SAAS,EAAA;AAAK7B,MAAAA,kBAAAA,CAAE2B,MAAMQ,GAAAA;AAAY,KAAA,CAAA;IACtEJ,MAAAA,EAAQ/B,kBAAAA,CAAEgC,QAAQT,iBAAAA;GACtB,CAAA;AAsBJ,CAAA,EAxCoD,sCAAA;AA0C7C,IAAMgB,mDAAmC5B,mBAAA,CAAA,CAK9C,EACEe,KAAAA,EACAK,MAAAA,EACAS,6BAA2B,KAK9B;AACG,EAAA,MAAM1C,kBAAAA,GAAAA,CACF0C,2BAAAA,IAA+BC,4CAAAA,EACjCC,QAAAA,EAAQ;AAEV,EAAA,OAAOjB,uBAAAA,CAAe;AAClBC,IAAAA,KAAAA,EAAO1B,mBAAE2B,KAAAA,CAAM;AAAKD,MAAAA,GAAAA,KAAAA,IAAS,EAAA;AAAK5B,MAAAA;AAAmB,KAAA,CAAA;IACrDiC,MAAAA,EAAQ/B,kBAAAA,CAAEgC,QAAQD,MAAAA;GACtB,CAAA;AAKJ,CAAA,EA1BgD,kCAAA;AAwCzC,IAAMY,wBAAAA,GAA2B3C,mBAAEE,MAAAA,CAAO;AAC7C0C,EAAAA,cAAAA,EAAgB5C,mBAAE6C,OAAAA,EAAO;AACzBC,EAAAA,IAAAA,EAAM9C,mBAAEO,GAAAA;AACZ,CAAA;AAEO,IAAMwC,gCAAAA,wCAITnC,GAAAA,KAAAA;AAYA,EAAA,OAAO;;;;IAILoC,QAAAA,CAASpC,GAAAA,CAAIC,OAAOV,MAAM,CAAA;AAChC,CAAA,EArBgD,kCAAA;AAuBzC,IAAM8C,2BAAAA,GAA8BjD,mBAAEE,MAAAA,CAAO;AAChDgD,EAAAA,oBAAAA,EAAsBzB,uBAAAA,CAAe;AACjCC,IAAAA,KAAAA,EAAO1B,mBAAE2B,KAAAA,CAAM;AAAC3B,MAAAA,kBAAAA,CAAEO,GAAAA;AAAM,KAAA,CAAA;AACxBwB,IAAAA,MAAAA,EAAQ/B,kBAAAA,CAAEgC,OAAAA,CAAQhC,kBAAAA,CAAEO,GAAAA,EAAG;GAC3B,CAAA;AAKA4C,EAAAA,0BAAAA,EAA4B1B,uBAAAA,CAAe;AACvCC,IAAAA,KAAAA,EAAO1B,mBAAE2B,KAAAA,CAAM;AAAC3B,MAAAA,kBAAAA,CAAEO,GAAAA,EAAG;AAAIP,MAAAA,kBAAAA,CAAEO,GAAAA;AAAM,KAAA,CAAA;AACjCwB,IAAAA,MAAAA,EAAQ/B,kBAAAA,CAAEgC,OAAAA,CAAQhC,kBAAAA,CAAEO,GAAAA,EAAG;GAC3B;AAMJ,CAAA","file":"AH6X525J.cjs","sourcesContent":["import z from 'zod';\n\nimport type {\n transactionSchema as _transactionSchema,\n TransactionWithResult,\n} from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type {\n DeepFunctionPointers,\n DeeplyResolvedDeepFunctionPointers,\n FunctionPointer,\n} from '@layerzerolabs/function-pointer';\nimport type {\n BrandedError,\n BuildTuple,\n DecimalString,\n IsAny,\n Or,\n} from '@layerzerolabs/typescript-utils';\nimport type { InferredArray } from '@layerzerolabs/zod-utils';\nimport { customSchema, functionSchema } from '@layerzerolabs/zod-utils';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> =\n Or<\n [OnChainDataType extends number | DecimalString ? true : false, IsAny<OnChainDataType>]\n > extends true\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : OnChainDataType extends string | object | boolean\n ? '=' | '!='\n : BrandedError<'Unsupported comparison type'>;\n\nexport type OnChainDataComparison<OnChainDataType extends string | number | boolean | object> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<CheckOutput extends Promise<any> = Promise<any>> = {\n functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\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 // TODO: use this schema as source of truth for GatedTransactionResult type\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 z.object({\n status: z.literal(GatedTransactionStatus.DEFERRED_SUCCESS),\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[];\n\nexport type GatedTransactionArtifacts = {\n // if the registry already has this artifact AND shortCircuit is true, will resolve with no-op\n [artifactType: string]: {\n // passed through to the registry\n [artifactId: string]: {\n shape: DeepFunctionPointers<\n (args: { gtx: SuccessfulGatedTransaction<any> }) => Promise<any>\n >;\n shortCircuit?: boolean;\n };\n };\n};\n\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n artifacts?: Artifacts;\n chainName: string;\n check: GatedTransactionCheck<CheckOutput>;\n dependencies: _Dependencies;\n /**\n * Ordering-only dependencies: this transaction must be executed after these transactions,\n * but does not require their resolved output. If a transaction appears in both\n * `dependencies` and `orderingDependencies`, the regular dependency semantics take precedence.\n */\n orderingDependencies?: GatedTransactionDependencies;\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 CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts>\n | FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<\n infer Name,\n any,\n infer CheckOutput,\n any,\n infer _Dependencies,\n infer Artifacts\n >\n ? BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts>\n : never;\n\nexport enum GatedTransactionStatus {\n // precheck passed, no need to send the tx\n NO_OP = 'no_op',\n // precheck failed, tx was sent, postcheck passed\n SUCCESS = 'success',\n // precheck failed, tx was sent but sender returned an error\n TRANSACTION_FAILED = 'transaction_failed',\n // precheck failed, tx was sent, postcheck failed\n FINAL_CHECK_FAILED = 'final_check_failed',\n // the tx couldn't be resolved because one of its dependencies resolved to a failed state\n DEPENDENCY_FAILED = 'dependency_failed',\n // approval to send the tx was explicitly denied\n DENIED = 'denied',\n // precheck failed, tx was sent but indeterminate, deferred execution passed on a recheck\n DEFERRED_SUCCESS = 'deferred_success',\n}\n\nexport type NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\nexport type SuccessfulGatedTransaction<TxType extends Transaction = Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\nexport type TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\nexport type CheckFailedGatedTransaction<\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\nexport type DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\nexport type DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type DeferredSuccessfulGatedTransaction = {\n status: GatedTransactionStatus.DEFERRED_SUCCESS;\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 | DeferredSuccessfulGatedTransaction;\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 type ResolvedGatedTransactionWithArtifacts<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = ResolvedGatedTransaction<GatedTx, TxType> & {\n resolvedArtifacts: {\n [ArtifactType in keyof NonNullable<GatedTx['artifacts']>]: {\n [ArtifactId in keyof NonNullable<GatedTx['artifacts']>[ArtifactType]]: Awaited<\n NonNullable<GatedTx['artifacts']>[ArtifactType][ArtifactId] extends {\n shape: infer Shape extends DeepFunctionPointers;\n }\n ? DeeplyResolvedDeepFunctionPointers<Shape>\n : never\n >;\n };\n };\n};\n\nexport const isResolvedGtx = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\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}) =>\n customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>().meta({\n title: 'Gated Transaction',\n description: 'A schema for a gated transaction',\n });\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 >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\n });\n\nexport const resolvedGatedTransactionWithArtifactsSchema = <\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 ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\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 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 ...(extraArgs?.def?.items ?? []),\n z.array(\n resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema,\n }),\n ),\n ] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ]\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 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 resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([...(extraArgs?.def?.items ?? []), z.tuple(txs as any)] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ]\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\nexport interface GatedTxCheckResult {\n expectationMet: boolean;\n data: unknown;\n}\n\nexport const gatedTxCheckResultSchema = z.object({\n expectationMet: z.boolean(),\n data: z.any(),\n});\n\nexport const isAnySuccessTypeGatedTransaction = <\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n>(\n gtx: ResolvedGatedTransaction<GatedTx, TxType>,\n): gtx is BaseGatedTransactionFor<GatedTx> & {\n result: Extract<\n GatedTransactionResult<GatedTx, TxType>,\n {\n status:\n | GatedTransactionStatus.SUCCESS\n | GatedTransactionStatus.NO_OP\n | GatedTransactionStatus.DEFERRED_SUCCESS;\n }\n >;\n} => {\n return [\n GatedTransactionStatus.SUCCESS,\n GatedTransactionStatus.NO_OP,\n GatedTransactionStatus.DEFERRED_SUCCESS,\n ].includes(gtx.result.status);\n};\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\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n"]}
|
package/dist/AOTJAUDZ.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/gatedTx.ts"],"names":["constructGatedTransaction","gtx","dependencies","transactionType","constructGatedTransactionFromPointer","getIdForGatedTransaction","serializedUniqueIdKeys","uniqueIdKeys","Object","entries","map","k","v","join","name","chainName","getBundleIdForGatedTransaction","bundleName"],"mappings":";;;AAkBO,IAAMA,yBAAAA,2BAMXC,GAAAA,KAAAA;AAgBE,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,EAxByC,2BAAA;AAwClC,IAAME,oCAAAA,2BAMXH,GAAAA,KAAAA;AAoCE,EAAA,OAAO;IACH,GAAGA,GAAAA;IACHE,eAAAA,EAAiB;AACrB,GAAA;AACJ,CAAA,EA9CoD,sCAAA;AAgD7C,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;AAUjC,IAAMU,8BAAAA,2BACTf,GAAAA,KAAAA;AAEA,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,CAAIgB,UAAU,IAAIhB,GAAAA,CAAIc,SAAS,IAAIT,sBAAAA,CAAAA,CAAAA;AACjD,CAAA,EAV8C,gCAAA","file":"AOTJAUDZ.js","sourcesContent":["import type { Transaction, TransactionWithResult } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\n\nimport type {\n BaseGatedTransaction,\n FunctionalGatedTransaction,\n GatedTransactionArtifacts,\n GatedTransactionBundleId,\n GatedTransactionDependencies,\n GatedTransactionId,\n LiteralGatedTransaction,\n OnChainDataComparison,\n ResolvedGatedTransaction,\n} from './schemata';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n TxType extends Transaction,\n CheckOutput extends Promise<any>,\n _Dependencies extends GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: {\n functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: _Dependencies;\n orderingDependencies?: GatedTransactionDependencies;\n transaction: TxType;\n}): LiteralGatedTransaction<Name, TxType, CheckOutput, _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 CheckOutput extends Promise<any>,\n DepInput extends [...args: any[], txes: any],\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: {\n functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies: BuildDeps<\n DepInput extends [...any, infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : DepInput extends [...infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : never\n >;\n orderingDependencies?: GatedTransactionDependencies;\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n}): FunctionalGatedTransaction<\n Name,\n TxType,\n CheckOutput,\n DepInput,\n BuildDeps<\n DepInput extends [...any, infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : DepInput extends [...infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : never\n >\n> => {\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\nexport const getBundleIdForGatedTransaction = (\n gtx: BaseGatedTransaction,\n): GatedTransactionBundleId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.bundleName}-${gtx.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
|
package/dist/DOFQC7XF.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/gatedTx.ts"],"names":["constructGatedTransaction","gtx","dependencies","transactionType","constructGatedTransactionFromPointer","getIdForGatedTransaction","serializedUniqueIdKeys","uniqueIdKeys","Object","entries","map","k","v","join","name","chainName","getBundleIdForGatedTransaction","bundleName"],"mappings":";;;;;AAkBO,IAAMA,yBAAAA,wCAMXC,GAAAA,KAAAA;AAgBE,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,EAxByC,2BAAA;AAwClC,IAAME,oCAAAA,wCAMXH,GAAAA,KAAAA;AAoCE,EAAA,OAAO;IACH,GAAGA,GAAAA;IACHE,eAAAA,EAAiB;AACrB,GAAA;AACJ,CAAA,EA9CoD,sCAAA;AAgD7C,IAAME,wBAAAA,wCAA4BJ,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;AAUjC,IAAMU,8BAAAA,wCACTf,GAAAA,KAAAA;AAEA,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,CAAIgB,UAAU,IAAIhB,GAAAA,CAAIc,SAAS,IAAIT,sBAAAA,CAAAA,CAAAA;AACjD,CAAA,EAV8C,gCAAA","file":"DOFQC7XF.cjs","sourcesContent":["import type { Transaction, TransactionWithResult } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\n\nimport type {\n BaseGatedTransaction,\n FunctionalGatedTransaction,\n GatedTransactionArtifacts,\n GatedTransactionBundleId,\n GatedTransactionDependencies,\n GatedTransactionId,\n LiteralGatedTransaction,\n OnChainDataComparison,\n ResolvedGatedTransaction,\n} from './schemata';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n TxType extends Transaction,\n CheckOutput extends Promise<any>,\n _Dependencies extends GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: {\n functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: _Dependencies;\n orderingDependencies?: GatedTransactionDependencies;\n transaction: TxType;\n}): LiteralGatedTransaction<Name, TxType, CheckOutput, _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 CheckOutput extends Promise<any>,\n DepInput extends [...args: any[], txes: any],\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n>(gtx: {\n name: Name;\n description?: string;\n chainName: string;\n bundleName?: string;\n artifacts?: Artifacts;\n check: {\n functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies: BuildDeps<\n DepInput extends [...any, infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : DepInput extends [...infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : never\n >;\n orderingDependencies?: GatedTransactionDependencies;\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n}): FunctionalGatedTransaction<\n Name,\n TxType,\n CheckOutput,\n DepInput,\n BuildDeps<\n DepInput extends [...any, infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : DepInput extends [...infer Tail extends readonly ResolvedGatedTransaction[]]\n ? Tail\n : never\n >\n> => {\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\nexport const getBundleIdForGatedTransaction = (\n gtx: BaseGatedTransaction,\n): GatedTransactionBundleId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.bundleName}-${gtx.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
|
package/dist/HUF3MLBT.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","isResolvedGtx","gtx","result","gatedTransactionSchema","_","customSchema","meta","title","description","resolvedGatedTransactionSchema","resolvedGatedTransactionWithArtifactsSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","functionSchema","input","tuple","def","items","array","output","promise","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional","gatedTxCheckResultSchema","expectationMet","boolean","data","isAnySuccessTypeGatedTransaction","includes","gatedTransactionCacheSchema","getCachedTxCheckData","cacheSuccessfulTxCheckData"],"mappings":"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","file":"HUF3MLBT.js","sourcesContent":["import z from 'zod';\n\nimport type {\n transactionSchema as _transactionSchema,\n TransactionWithResult,\n} from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type {\n DeepFunctionPointers,\n DeeplyResolvedDeepFunctionPointers,\n FunctionPointer,\n} from '@layerzerolabs/function-pointer';\nimport type {\n BrandedError,\n BuildTuple,\n DecimalString,\n IsAny,\n Or,\n} from '@layerzerolabs/typescript-utils';\nimport type { InferredArray } from '@layerzerolabs/zod-utils';\nimport { customSchema, functionSchema } from '@layerzerolabs/zod-utils';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> =\n Or<\n [OnChainDataType extends number | DecimalString ? true : false, IsAny<OnChainDataType>]\n > extends true\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : OnChainDataType extends string | object | boolean\n ? '=' | '!='\n : BrandedError<'Unsupported comparison type'>;\n\nexport type OnChainDataComparison<OnChainDataType extends string | number | boolean | object> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<CheckOutput extends Promise<any> = Promise<any>> = {\n functionPointer: FunctionPointer<(tx?: TransactionWithResult) => CheckOutput>;\n expectedResult: OnChainDataComparison<Awaited<CheckOutput>>;\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 // TODO: use this schema as source of truth for GatedTransactionResult type\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 z.object({\n status: z.literal(GatedTransactionStatus.DEFERRED_SUCCESS),\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[];\n\nexport type GatedTransactionArtifacts = {\n // if the registry already has this artifact AND shortCircuit is true, will resolve with no-op\n [artifactType: string]: {\n // passed through to the registry\n [artifactId: string]: {\n shape: DeepFunctionPointers<\n (args: { gtx: SuccessfulGatedTransaction<any> }) => Promise<any>\n >;\n shortCircuit?: boolean;\n };\n };\n};\n\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n artifacts?: Artifacts;\n chainName: string;\n check: GatedTransactionCheck<CheckOutput>;\n dependencies: _Dependencies;\n /**\n * Ordering-only dependencies: this transaction must be executed after these transactions,\n * but does not require their resolved output. If a transaction appears in both\n * `dependencies` and `orderingDependencies`, the regular dependency semantics take precedence.\n */\n orderingDependencies?: GatedTransactionDependencies;\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 CheckOutput extends Promise<any> = Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> = BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<(...deps: DepInput) => Promise<TxType>>;\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckOutput extends Promise<any> = Promise<any>,\n DepInput extends [...args: any[], txes: any] = [txes: any],\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n Artifacts extends GatedTransactionArtifacts = GatedTransactionArtifacts,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckOutput, _Dependencies, Artifacts>\n | FunctionalGatedTransaction<Name, TxType, CheckOutput, DepInput, _Dependencies, Artifacts>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<\n infer Name,\n any,\n infer CheckOutput,\n any,\n infer _Dependencies,\n infer Artifacts\n >\n ? BaseGatedTransaction<Name, CheckOutput, _Dependencies, Artifacts>\n : never;\n\nexport enum GatedTransactionStatus {\n // precheck passed, no need to send the tx\n NO_OP = 'no_op',\n // precheck failed, tx was sent, postcheck passed\n SUCCESS = 'success',\n // precheck failed, tx was sent but sender returned an error\n TRANSACTION_FAILED = 'transaction_failed',\n // precheck failed, tx was sent, postcheck failed\n FINAL_CHECK_FAILED = 'final_check_failed',\n // the tx couldn't be resolved because one of its dependencies resolved to a failed state\n DEPENDENCY_FAILED = 'dependency_failed',\n // approval to send the tx was explicitly denied\n DENIED = 'denied',\n // precheck failed, tx was sent but indeterminate, deferred execution passed on a recheck\n DEFERRED_SUCCESS = 'deferred_success',\n}\n\nexport type NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\nexport type SuccessfulGatedTransaction<TxType extends Transaction = Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\nexport type TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\nexport type CheckFailedGatedTransaction<\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\nexport type DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\nexport type DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type DeferredSuccessfulGatedTransaction = {\n status: GatedTransactionStatus.DEFERRED_SUCCESS;\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 | DeferredSuccessfulGatedTransaction;\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 type ResolvedGatedTransactionWithArtifacts<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = ResolvedGatedTransaction<GatedTx, TxType> & {\n resolvedArtifacts: {\n [ArtifactType in keyof NonNullable<GatedTx['artifacts']>]: {\n [ArtifactId in keyof NonNullable<GatedTx['artifacts']>[ArtifactType]]: Awaited<\n NonNullable<GatedTx['artifacts']>[ArtifactType][ArtifactId] extends {\n shape: infer Shape extends DeepFunctionPointers;\n }\n ? DeeplyResolvedDeepFunctionPointers<Shape>\n : never\n >;\n };\n };\n};\n\nexport const isResolvedGtx = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\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}) =>\n customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>().meta({\n title: 'Gated Transaction',\n description: 'A schema for a gated transaction',\n });\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 >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\n });\n\nexport const resolvedGatedTransactionWithArtifactsSchema = <\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 ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >().meta({\n title: 'Resolved Gated Transaction',\n description: 'A schema for a resolved gated transaction',\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 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 ...(extraArgs?.def?.items ?? []),\n z.array(\n resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema,\n }),\n ),\n ] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ]\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 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 resolvedGatedTransactionWithArtifactsSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([...(extraArgs?.def?.items ?? []), z.tuple(txs as any)] as any),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n ...args: [\n ...extraArgs: z.infer<ExtraArgs>,\n txs: BuildTuple<\n ResolvedGatedTransactionWithArtifacts<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ]\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\nexport interface GatedTxCheckResult {\n expectationMet: boolean;\n data: unknown;\n}\n\nexport const gatedTxCheckResultSchema = z.object({\n expectationMet: z.boolean(),\n data: z.any(),\n});\n\nexport const isAnySuccessTypeGatedTransaction = <\n GatedTx extends GatedTransaction,\n TxType extends Transaction,\n>(\n gtx: ResolvedGatedTransaction<GatedTx, TxType>,\n): gtx is BaseGatedTransactionFor<GatedTx> & {\n result: Extract<\n GatedTransactionResult<GatedTx, TxType>,\n {\n status:\n | GatedTransactionStatus.SUCCESS\n | GatedTransactionStatus.NO_OP\n | GatedTransactionStatus.DEFERRED_SUCCESS;\n }\n >;\n} => {\n return [\n GatedTransactionStatus.SUCCESS,\n GatedTransactionStatus.NO_OP,\n GatedTransactionStatus.DEFERRED_SUCCESS,\n ].includes(gtx.result.status);\n};\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\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n"]}
|