@layerzerolabs/gated-transaction 0.2.15 → 0.2.19

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.
@@ -1,3 +1,4 @@
1
+  WARN  Issue while reading "/home/runner/work/monorepo-internal/monorepo-internal/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
1
2
 
2
3
  > @layerzerolabs/gated-transaction@0.0.0 build /home/runner/work/monorepo-internal/monorepo-internal/packages/gated-transaction
3
4
  > tsup
@@ -10,29 +11,29 @@
10
11
  CLI Cleaning output folder
11
12
  CJS Build start
12
13
  ESM Build start
13
- CJS dist/gatedTx.cjs 818.00 B
14
- CJS dist/index.cjs 2.32 KB
15
- CJS dist/SXSNYFO6.cjs 1.47 KB
16
- CJS dist/schemata.cjs 1.64 KB
17
- CJS dist/6Z5YW2XO.cjs 4.69 KB
18
- CJS dist/YJF4D23A.cjs 245.00 B
19
- CJS dist/gatedTx.cjs.map 72.00 B
20
- CJS dist/index.cjs.map 70.00 B
21
- CJS dist/SXSNYFO6.cjs.map 5.29 KB
22
- CJS dist/schemata.cjs.map 73.00 B
23
- CJS dist/6Z5YW2XO.cjs.map 17.67 KB
24
- CJS dist/YJF4D23A.cjs.map 73.00 B
25
- CJS ⚡️ Build success in 325ms
26
14
  ESM dist/gatedTx.js 250.00 B
27
- ESM dist/index.js 571.00 B
28
15
  ESM dist/Z6WLE6GM.js 1.25 KB
29
- ESM dist/schemata.js 422.00 B
30
- ESM dist/A7ARKRQD.js 3.55 KB
16
+ ESM dist/RHEZ2PRK.js 3.86 KB
17
+ ESM dist/schemata.js 448.00 B
31
18
  ESM dist/VUOMXK5T.js 222.00 B
19
+ ESM dist/index.js 597.00 B
32
20
  ESM dist/gatedTx.js.map 71.00 B
33
- ESM dist/index.js.map 69.00 B
34
21
  ESM dist/Z6WLE6GM.js.map 5.29 KB
35
22
  ESM dist/schemata.js.map 72.00 B
36
- ESM dist/A7ARKRQD.js.map 17.59 KB
37
23
  ESM dist/VUOMXK5T.js.map 72.00 B
38
- ESM ⚡️ Build success in 325ms
24
+ ESM dist/RHEZ2PRK.js.map 18.39 KB
25
+ ESM dist/index.js.map 69.00 B
26
+ ESM ⚡️ Build success in 247ms
27
+ CJS dist/index.cjs 2.46 KB
28
+ CJS dist/gatedTx.cjs 818.00 B
29
+ CJS dist/schemata.cjs 1.78 KB
30
+ CJS dist/SXSNYFO6.cjs 1.47 KB
31
+ CJS dist/BPVWQ6EE.cjs 5.09 KB
32
+ CJS dist/YJF4D23A.cjs 245.00 B
33
+ CJS dist/index.cjs.map 70.00 B
34
+ CJS dist/gatedTx.cjs.map 72.00 B
35
+ CJS dist/schemata.cjs.map 73.00 B
36
+ CJS dist/SXSNYFO6.cjs.map 5.29 KB
37
+ CJS dist/BPVWQ6EE.cjs.map 18.47 KB
38
+ CJS dist/YJF4D23A.cjs.map 73.00 B
39
+ CJS ⚡️ Build success in 249ms
@@ -2,7 +2,7 @@
2
2
  > @layerzerolabs/gated-transaction@0.0.0 lint /home/runner/work/monorepo-internal/monorepo-internal/packages/gated-transaction
3
3
  > eslint . --max-warnings 0 || (eslint . --fix --max-warnings 0 && false)
4
4
 
5
- (node:37813) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/eslint.config.js?mtime=1768456627471 is not specified and it doesn't parse as CommonJS.
5
+ (node:70761) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/eslint.config.js?mtime=1769040920314 is not specified and it doesn't parse as CommonJS.
6
6
  Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
7
7
  To eliminate this warning, add "type": "module" to /home/runner/work/monorepo-internal/monorepo-internal/package.json.
8
8
  (Use `node --trace-warnings ...` to show where the warning was created)
@@ -58,8 +58,14 @@ var gatedTransactionCacheSchema = z__default.default.object({
58
58
  })
59
59
  });
60
60
  var gatedTransactionIsResolvedGatedTransaction = /* @__PURE__ */ YJF4D23A_cjs.__name((gtx) => !!gtx.result, "gatedTransactionIsResolvedGatedTransaction");
61
- var gatedTransactionSchema = /* @__PURE__ */ YJF4D23A_cjs.__name((_) => zodUtils.customSchema(), "gatedTransactionSchema");
62
- var resolvedGatedTransactionSchema = /* @__PURE__ */ YJF4D23A_cjs.__name((_) => zodUtils.customSchema(), "resolvedGatedTransactionSchema");
61
+ var gatedTransactionSchema = /* @__PURE__ */ YJF4D23A_cjs.__name((_) => zodUtils.customSchema().meta({
62
+ title: "Gated Transaction",
63
+ description: "A schema for a gated transaction"
64
+ }), "gatedTransactionSchema");
65
+ var resolvedGatedTransactionSchema = /* @__PURE__ */ YJF4D23A_cjs.__name((_) => zodUtils.customSchema().meta({
66
+ title: "Resolved Gated Transaction",
67
+ description: "A schema for a resolved gated transaction"
68
+ }), "resolvedGatedTransactionSchema");
63
69
  var createTxArrayDependentActivitySchema = /* @__PURE__ */ YJF4D23A_cjs.__name((transactionSchema, extraArgs) => {
64
70
  return zodUtils.functionSchema({
65
71
  input: z__default.default.tuple([
@@ -95,6 +101,10 @@ var createGatedTxCheckActivitySchema = /* @__PURE__ */ YJF4D23A_cjs.__name(({ in
95
101
  output: z__default.default.promise(output)
96
102
  });
97
103
  }, "createGatedTxCheckActivitySchema");
104
+ var gatedTxCheckResultSchema = z__default.default.object({
105
+ expectationMet: z__default.default.boolean(),
106
+ data: z__default.default.any()
107
+ });
98
108
 
99
109
  exports.GatedTransactionStatus = GatedTransactionStatus;
100
110
  exports.createGatedTxCheckActivitySchema = createGatedTxCheckActivitySchema;
@@ -104,6 +114,7 @@ exports.gatedTransactionCacheSchema = gatedTransactionCacheSchema;
104
114
  exports.gatedTransactionIsResolvedGatedTransaction = gatedTransactionIsResolvedGatedTransaction;
105
115
  exports.gatedTransactionResultSchema = gatedTransactionResultSchema;
106
116
  exports.gatedTransactionSchema = gatedTransactionSchema;
117
+ exports.gatedTxCheckResultSchema = gatedTxCheckResultSchema;
107
118
  exports.resolvedGatedTransactionSchema = resolvedGatedTransactionSchema;
108
- //# sourceMappingURL=6Z5YW2XO.cjs.map
109
- //# sourceMappingURL=6Z5YW2XO.cjs.map
119
+ //# sourceMappingURL=BPVWQ6EE.cjs.map
120
+ //# sourceMappingURL=BPVWQ6EE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","__name","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData","gatedTransactionIsResolvedGatedTransaction","gtx","result","gatedTransactionSchema","_","customSchema","meta","title","description","resolvedGatedTransactionSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","array","def","items","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional","gatedTxCheckResultSchema","expectationMet","boolean","data"],"mappings":";;;;;;;;;;;AAmCO,IAAMA,4BAAAA,mBAA+BC,mBAAA,CAAA,CAIxCC,kBAAAA,EACAC,iBAAAA,KAEAC,mBAAEC,KAAAA,CAAM;AACJD,EAAAA,kBAAAA,CAAEE,MAAAA,CAAO;IACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,OAAA;GACrB,CAAA;AACAJ,EAAAA,kBAAAA,CAAEE,MAAAA,CAAO;IACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,SAAA,CAAA;IACjBC,oBAAAA,EAAsBP;GAC1B,CAAA;AACAE,EAAAA,kBAAAA,CAAEE,MAAAA,CAAO;IACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,oBAAA,CAAA;AACjBE,IAAAA,gBAAAA,EAAkBN,mBAAEO,GAAAA;GACxB,CAAA;AACAP,EAAAA,kBAAAA,CAAEE,MAAAA,CAAO;IACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,oBAAA,CAAA;IACjBC,oBAAAA,EAAsBP,kBAAAA;IACtBU,iBAAAA,EAAmBT;GACvB,CAAA;AACAC,EAAAA,kBAAAA,CAAEE,MAAAA,CAAO;IACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,mBAAA;GACrB,CAAA;AACAJ,EAAAA,kBAAAA,CAAEE,MAAAA,CAAO;IACLC,MAAAA,EAAQH,kBAAAA,CAAEI,QAAO,QAAA;GACrB;CACH,CAAA,EA9BuC,8BAAA;AA2GrC,IAAKK,sBAAAA,6BAAAA,uBAAAA,EAAAA;;;;;;;AAAAA,EAAAA,OAAAA,uBAAAA;;AAgDL,IAAMC,2BAAAA,GAA8BV,mBAAEE,MAAAA,CAAO;AAChDS,EAAAA,oBAAAA,EAAsBC,uBAAAA,CAAe;AACjCC,IAAAA,KAAAA,EAAOb,mBAAEc,KAAAA,CAAM;AAACd,MAAAA,kBAAAA,CAAEO,GAAAA;AAAM,KAAA,CAAA;AACxBQ,IAAAA,MAAAA,EAAQf,kBAAAA,CAAEgB,OAAAA,CAAQhB,kBAAAA,CAAEO,GAAAA,EAAG;GAC3B,CAAA;AAKAU,EAAAA,0BAAAA,EAA4BL,uBAAAA,CAAe;AACvCC,IAAAA,KAAAA,EAAOb,mBAAEc,KAAAA,CAAM;AAACd,MAAAA,kBAAAA,CAAEO,GAAAA,EAAG;AAAIP,MAAAA,kBAAAA,CAAEO,GAAAA;AAAM,KAAA,CAAA;AACjCQ,IAAAA,MAAAA,EAAQf,kBAAAA,CAAEgB,OAAAA,CAAQhB,kBAAAA,CAAEO,GAAAA,EAAG;GAC3B;AAMJ,CAAA;AAyBO,IAAMW,6DAA6CrB,mBAAA,CAAA,CACtDsB,GAAAA,KACkC,CAAC,CAAEA,IAAiCC,MAAAA,EAFhB,4CAAA;AAInD,IAAMC,sBAAAA,mBAAyBxB,mBAAA,CAAA,CAGpCyB,CAAAA,KAIEC,qBAAAA,GAA4EC,IAAAA,CAAK;EAC7EC,KAAAA,EAAO,mBAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAVkC,wBAAA;AAY/B,IAAMC,8BAAAA,mBAAiC9B,mBAAA,CAAA,CAG5CyB,CAAAA,KAIEC,qBAAAA,GAKIC,IAAAA,CAAK;EACLC,KAAAA,EAAO,4BAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAf0C,gCAAA;AAyBvC,IAAME,oCAAAA,mBAAuC/B,mBAAA,CAAA,CAIhDgC,iBAAAA,EACAC,SAAAA,KAAAA;AAEA,EAAA,OAAOlB,uBAAAA,CAAe;AAClBC,IAAAA,KAAAA,EAAOb,mBAAEc,KAAAA,CAAM;AACXd,MAAAA,kBAAAA,CAAE+B,MACEJ,8BAAAA,CAA+B;AAC3BE,QAAAA;AACJ,OAAA,CAAA,CAAA;SAEAC,SAAAA,EAAWE,GAAAA,EAAKC,SAAS;AAChC,KAAA,CAAA;IACDlB,MAAAA,EAAQf,kBAAAA,CAAEgB,QAAQa,iBAAAA;GACtB,CAAA;AAcJ,CAAA,EA/BoD,sCAAA;AAwC7C,IAAMK,oCAAAA,mBAAuCrC,mBAAA,CAAA,CAKhDgC,iBAAAA,EACAM,QAAAA,EACAL,SAAAA,KAAAA;AAEA,EAAA,MAAMM,GAAAA,GAAMC,MAAMC,IAAAA,CAAK;IAAEC,MAAAA,EAAQJ;AAAS,GAAA,EAAG,MACzCR,8BAAAA,CAA+B;AAC3BE,IAAAA;AACJ,GAAA,CAAA,CAAA;AAGJ,EAAA,OAAOjB,uBAAAA,CAAe;AAClBC,IAAAA,KAAAA,EAAOb,mBAAEc,KAAAA,CAAM;AAACd,MAAAA,kBAAAA,CAAEc,MAAMsB,GAAAA,CAAAA;SAAiBN,SAAAA,EAAWE,GAAAA,EAAKC,SAAS;AAAI,KAAA,CAAA;IACtElB,MAAAA,EAAQf,kBAAAA,CAAEgB,QAAQa,iBAAAA;GACtB,CAAA;AAoBJ,CAAA,EAtCoD,sCAAA;AAwC7C,IAAMW,mDAAmC3C,mBAAA,CAAA,CAK9C,EACEgB,KAAAA,EACAE,MAAAA,EACA0B,6BAA2B,KAK9B;AACG,EAAA,MAAM3C,kBAAAA,GAAAA,CACF2C,2BAAAA,IAA+BC,4CAAAA,EACjCC,QAAAA,EAAQ;AAEV,EAAA,OAAO/B,uBAAAA,CAAe;AAClBC,IAAAA,KAAAA,EAAOb,mBAAEc,KAAAA,CAAM;AAAKD,MAAAA,GAAAA,KAAAA,IAAS,EAAA;AAAKf,MAAAA;AAAmB,KAAA,CAAA;IACrDiB,MAAAA,EAAQf,kBAAAA,CAAEgB,QAAQD,MAAAA;GACtB,CAAA;AAKJ,CAAA,EA1BgD,kCAAA;AAwCzC,IAAM6B,wBAAAA,GAA2B5C,mBAAEE,MAAAA,CAAO;AAC7C2C,EAAAA,cAAAA,EAAgB7C,mBAAE8C,OAAAA,EAAO;AACzBC,EAAAA,IAAAA,EAAM/C,mBAAEO,GAAAA;AACZ,CAAA","file":"BPVWQ6EE.cjs","sourcesContent":["import z from 'zod';\n\nimport type { transactionSchema as _transactionSchema } from '@layerzerolabs/common-chain-model';\nimport type { HexString } from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\nimport type { BrandedError, BuildTuple, IsAny, Or } 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<[OnChainDataType extends number ? true : false, IsAny<OnChainDataType>]> 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 Method extends (...args: any[]) => Promise<any> = (...args: any[]) => Promise<unknown>,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TxWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n txWithResultSchema: TxWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: txWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: txWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\nexport type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret\n ? Awaited<Ret>\n : unknown;\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n InferOnChainDataTypeFromCheck<GatedTx['check']>;\n\nexport type GatedTransactionDependencies = GatedTransaction[];\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n abiEncodedConstructorArguments?: HexString;\n };\n };\n chainName: string;\n check: GatedTransactionCheck<CheckMethod>;\n dependencies: _Dependencies;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n};\n\nexport type LiteralGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckMethod, _Dependencies>\n | FunctionalGatedTransaction<Name, TxType, CheckMethod, DepMethod, _Dependencies>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<infer Name, any, infer CheckMethod, any, infer _Dependencies>\n ? BaseGatedTransaction<Name, CheckMethod, _Dependencies>\n : never;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxType extends Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<GatedTx extends GatedTransaction, TxType extends Transaction> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxType>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<GatedTx, TxType>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n\nexport type ResolvedGatedTransaction<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = BaseGatedTransactionFor<GatedTx> & {\n result: GatedTransactionResult<GatedTx, TxType>;\n};\n\nexport const gatedTransactionIsResolvedGatedTransaction = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\n\nexport 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\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxArrayDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n extraArgs?: ExtraArgs,\n) => {\n return functionSchema({\n input: z.tuple([\n z.array(\n resolvedGatedTransactionSchema({\n transactionSchema,\n }),\n ),\n ...(extraArgs?.def?.items ?? []),\n ]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxTupleDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n txNumber: TxNumber,\n extraArgs?: ExtraArgs,\n) => {\n const txs = Array.from({ length: txNumber }, () =>\n resolvedGatedTransactionSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([z.tuple(txs as any), ...(extraArgs?.def?.items ?? [])]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n\nexport const createGatedTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionWithResultSchema extends\n typeof _transactionWithResultSchema = typeof _transactionWithResultSchema,\n>({\n input,\n output,\n transactionWithResultSchema,\n}: {\n input?: Input;\n transactionWithResultSchema?: TransactionWithResultSchema;\n output: Output;\n}) => {\n const txWithResultSchema = (\n transactionWithResultSchema ?? _transactionWithResultSchema\n ).optional();\n\n return functionSchema({\n input: z.tuple([...(input ?? []), txWithResultSchema] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [...InferredArray<Input>, z.infer<TransactionWithResultSchema>?]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies>\n ? {\n [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;\n }\n : never;\n\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"]}
@@ -52,8 +52,14 @@ var gatedTransactionCacheSchema = z.object({
52
52
  })
53
53
  });
54
54
  var gatedTransactionIsResolvedGatedTransaction = /* @__PURE__ */ __name((gtx) => !!gtx.result, "gatedTransactionIsResolvedGatedTransaction");
55
- var gatedTransactionSchema = /* @__PURE__ */ __name((_) => customSchema(), "gatedTransactionSchema");
56
- var resolvedGatedTransactionSchema = /* @__PURE__ */ __name((_) => customSchema(), "resolvedGatedTransactionSchema");
55
+ var gatedTransactionSchema = /* @__PURE__ */ __name((_) => customSchema().meta({
56
+ title: "Gated Transaction",
57
+ description: "A schema for a gated transaction"
58
+ }), "gatedTransactionSchema");
59
+ var resolvedGatedTransactionSchema = /* @__PURE__ */ __name((_) => customSchema().meta({
60
+ title: "Resolved Gated Transaction",
61
+ description: "A schema for a resolved gated transaction"
62
+ }), "resolvedGatedTransactionSchema");
57
63
  var createTxArrayDependentActivitySchema = /* @__PURE__ */ __name((transactionSchema, extraArgs) => {
58
64
  return functionSchema({
59
65
  input: z.tuple([
@@ -89,7 +95,11 @@ var createGatedTxCheckActivitySchema = /* @__PURE__ */ __name(({ input, output,
89
95
  output: z.promise(output)
90
96
  });
91
97
  }, "createGatedTxCheckActivitySchema");
98
+ var gatedTxCheckResultSchema = z.object({
99
+ expectationMet: z.boolean(),
100
+ data: z.any()
101
+ });
92
102
 
93
- export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, resolvedGatedTransactionSchema };
94
- //# sourceMappingURL=A7ARKRQD.js.map
95
- //# sourceMappingURL=A7ARKRQD.js.map
103
+ export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, resolvedGatedTransactionSchema };
104
+ //# sourceMappingURL=RHEZ2PRK.js.map
105
+ //# sourceMappingURL=RHEZ2PRK.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","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData","gatedTransactionIsResolvedGatedTransaction","gtx","result","gatedTransactionSchema","_","customSchema","meta","title","description","resolvedGatedTransactionSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","array","def","items","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional","gatedTxCheckResultSchema","expectationMet","boolean","data"],"mappings":"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","file":"RHEZ2PRK.js","sourcesContent":["import z from 'zod';\n\nimport type { transactionSchema as _transactionSchema } from '@layerzerolabs/common-chain-model';\nimport type { HexString } from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\nimport type { BrandedError, BuildTuple, IsAny, Or } 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<[OnChainDataType extends number ? true : false, IsAny<OnChainDataType>]> 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 Method extends (...args: any[]) => Promise<any> = (...args: any[]) => Promise<unknown>,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TxWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n txWithResultSchema: TxWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: txWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: txWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\nexport type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret\n ? Awaited<Ret>\n : unknown;\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n InferOnChainDataTypeFromCheck<GatedTx['check']>;\n\nexport type GatedTransactionDependencies = GatedTransaction[];\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n abiEncodedConstructorArguments?: HexString;\n };\n };\n chainName: string;\n check: GatedTransactionCheck<CheckMethod>;\n dependencies: _Dependencies;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n};\n\nexport type LiteralGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckMethod, _Dependencies>\n | FunctionalGatedTransaction<Name, TxType, CheckMethod, DepMethod, _Dependencies>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<infer Name, any, infer CheckMethod, any, infer _Dependencies>\n ? BaseGatedTransaction<Name, CheckMethod, _Dependencies>\n : never;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxType extends Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<GatedTx extends GatedTransaction, TxType extends Transaction> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxType>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<GatedTx, TxType>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n\nexport type ResolvedGatedTransaction<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = BaseGatedTransactionFor<GatedTx> & {\n result: GatedTransactionResult<GatedTx, TxType>;\n};\n\nexport const gatedTransactionIsResolvedGatedTransaction = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\n\nexport 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\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxArrayDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n extraArgs?: ExtraArgs,\n) => {\n return functionSchema({\n input: z.tuple([\n z.array(\n resolvedGatedTransactionSchema({\n transactionSchema,\n }),\n ),\n ...(extraArgs?.def?.items ?? []),\n ]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxTupleDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n txNumber: TxNumber,\n extraArgs?: ExtraArgs,\n) => {\n const txs = Array.from({ length: txNumber }, () =>\n resolvedGatedTransactionSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([z.tuple(txs as any), ...(extraArgs?.def?.items ?? [])]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n\nexport const createGatedTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionWithResultSchema extends\n typeof _transactionWithResultSchema = typeof _transactionWithResultSchema,\n>({\n input,\n output,\n transactionWithResultSchema,\n}: {\n input?: Input;\n transactionWithResultSchema?: TransactionWithResultSchema;\n output: Output;\n}) => {\n const txWithResultSchema = (\n transactionWithResultSchema ?? _transactionWithResultSchema\n ).optional();\n\n return functionSchema({\n input: z.tuple([...(input ?? []), txWithResultSchema] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [...InferredArray<Input>, z.infer<TransactionWithResultSchema>?]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies>\n ? {\n [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;\n }\n : never;\n\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"]}
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var SXSNYFO6_cjs = require('./SXSNYFO6.cjs');
4
- var _6Z5YW2XO_cjs = require('./6Z5YW2XO.cjs');
4
+ var BPVWQ6EE_cjs = require('./BPVWQ6EE.cjs');
5
5
  require('./YJF4D23A.cjs');
6
6
 
7
7
 
@@ -24,39 +24,43 @@ Object.defineProperty(exports, "getIdForGatedTransaction", {
24
24
  });
25
25
  Object.defineProperty(exports, "GatedTransactionStatus", {
26
26
  enumerable: true,
27
- get: function () { return _6Z5YW2XO_cjs.GatedTransactionStatus; }
27
+ get: function () { return BPVWQ6EE_cjs.GatedTransactionStatus; }
28
28
  });
29
29
  Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
30
30
  enumerable: true,
31
- get: function () { return _6Z5YW2XO_cjs.createGatedTxCheckActivitySchema; }
31
+ get: function () { return BPVWQ6EE_cjs.createGatedTxCheckActivitySchema; }
32
32
  });
33
33
  Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
34
34
  enumerable: true,
35
- get: function () { return _6Z5YW2XO_cjs.createTxArrayDependentActivitySchema; }
35
+ get: function () { return BPVWQ6EE_cjs.createTxArrayDependentActivitySchema; }
36
36
  });
37
37
  Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
38
38
  enumerable: true,
39
- get: function () { return _6Z5YW2XO_cjs.createTxTupleDependentActivitySchema; }
39
+ get: function () { return BPVWQ6EE_cjs.createTxTupleDependentActivitySchema; }
40
40
  });
41
41
  Object.defineProperty(exports, "gatedTransactionCacheSchema", {
42
42
  enumerable: true,
43
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionCacheSchema; }
43
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionCacheSchema; }
44
44
  });
45
45
  Object.defineProperty(exports, "gatedTransactionIsResolvedGatedTransaction", {
46
46
  enumerable: true,
47
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionIsResolvedGatedTransaction; }
47
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionIsResolvedGatedTransaction; }
48
48
  });
49
49
  Object.defineProperty(exports, "gatedTransactionResultSchema", {
50
50
  enumerable: true,
51
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionResultSchema; }
51
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionResultSchema; }
52
52
  });
53
53
  Object.defineProperty(exports, "gatedTransactionSchema", {
54
54
  enumerable: true,
55
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionSchema; }
55
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionSchema; }
56
+ });
57
+ Object.defineProperty(exports, "gatedTxCheckResultSchema", {
58
+ enumerable: true,
59
+ get: function () { return BPVWQ6EE_cjs.gatedTxCheckResultSchema; }
56
60
  });
57
61
  Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
58
62
  enumerable: true,
59
- get: function () { return _6Z5YW2XO_cjs.resolvedGatedTransactionSchema; }
63
+ get: function () { return BPVWQ6EE_cjs.resolvedGatedTransactionSchema; }
60
64
  });
61
65
  //# sourceMappingURL=index.cjs.map
62
66
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { constructGatedTransaction, constructGatedTransactionFromPointer, getBundleIdForGatedTransaction, getIdForGatedTransaction } from './Z6WLE6GM.js';
2
- export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, resolvedGatedTransactionSchema } from './A7ARKRQD.js';
2
+ export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, resolvedGatedTransactionSchema } from './RHEZ2PRK.js';
3
3
  import './VUOMXK5T.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
package/dist/schemata.cjs CHANGED
@@ -1,45 +1,49 @@
1
1
  'use strict';
2
2
 
3
- var _6Z5YW2XO_cjs = require('./6Z5YW2XO.cjs');
3
+ var BPVWQ6EE_cjs = require('./BPVWQ6EE.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 _6Z5YW2XO_cjs.GatedTransactionStatus; }
10
+ get: function () { return BPVWQ6EE_cjs.GatedTransactionStatus; }
11
11
  });
12
12
  Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
13
13
  enumerable: true,
14
- get: function () { return _6Z5YW2XO_cjs.createGatedTxCheckActivitySchema; }
14
+ get: function () { return BPVWQ6EE_cjs.createGatedTxCheckActivitySchema; }
15
15
  });
16
16
  Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
17
17
  enumerable: true,
18
- get: function () { return _6Z5YW2XO_cjs.createTxArrayDependentActivitySchema; }
18
+ get: function () { return BPVWQ6EE_cjs.createTxArrayDependentActivitySchema; }
19
19
  });
20
20
  Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
21
21
  enumerable: true,
22
- get: function () { return _6Z5YW2XO_cjs.createTxTupleDependentActivitySchema; }
22
+ get: function () { return BPVWQ6EE_cjs.createTxTupleDependentActivitySchema; }
23
23
  });
24
24
  Object.defineProperty(exports, "gatedTransactionCacheSchema", {
25
25
  enumerable: true,
26
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionCacheSchema; }
26
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionCacheSchema; }
27
27
  });
28
28
  Object.defineProperty(exports, "gatedTransactionIsResolvedGatedTransaction", {
29
29
  enumerable: true,
30
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionIsResolvedGatedTransaction; }
30
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionIsResolvedGatedTransaction; }
31
31
  });
32
32
  Object.defineProperty(exports, "gatedTransactionResultSchema", {
33
33
  enumerable: true,
34
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionResultSchema; }
34
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionResultSchema; }
35
35
  });
36
36
  Object.defineProperty(exports, "gatedTransactionSchema", {
37
37
  enumerable: true,
38
- get: function () { return _6Z5YW2XO_cjs.gatedTransactionSchema; }
38
+ get: function () { return BPVWQ6EE_cjs.gatedTransactionSchema; }
39
+ });
40
+ Object.defineProperty(exports, "gatedTxCheckResultSchema", {
41
+ enumerable: true,
42
+ get: function () { return BPVWQ6EE_cjs.gatedTxCheckResultSchema; }
39
43
  });
40
44
  Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
41
45
  enumerable: true,
42
- get: function () { return _6Z5YW2XO_cjs.resolvedGatedTransactionSchema; }
46
+ get: function () { return BPVWQ6EE_cjs.resolvedGatedTransactionSchema; }
43
47
  });
44
48
  //# sourceMappingURL=schemata.cjs.map
45
49
  //# sourceMappingURL=schemata.cjs.map
@@ -152,5 +152,13 @@ export declare const createGatedTxCheckActivitySchema: <Output extends z.ZodType
152
152
  export type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> = GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies> ? {
153
153
  [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;
154
154
  } : never;
155
+ export interface GatedTxCheckResult {
156
+ expectationMet: boolean;
157
+ data: unknown;
158
+ }
159
+ export declare const gatedTxCheckResultSchema: z.ZodObject<{
160
+ expectationMet: z.ZodBoolean;
161
+ data: z.ZodAny;
162
+ }, z.core.$strip>;
155
163
  export {};
156
164
  //# sourceMappingURL=schemata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../src/schemata.ts"],"names":[],"mappings":"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"}
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, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, resolvedGatedTransactionSchema } from './A7ARKRQD.js';
1
+ export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, resolvedGatedTransactionSchema } from './RHEZ2PRK.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.15",
3
+ "version": "0.2.19",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
@@ -16,18 +16,18 @@
16
16
  "types": "./dist/index.d.ts",
17
17
  "dependencies": {
18
18
  "zod": "4.3.5",
19
- "@layerzerolabs/function-pointer": "0.2.15",
20
- "@layerzerolabs/common-chain-model": "0.2.15",
21
- "@layerzerolabs/zod-utils": "0.2.15"
19
+ "@layerzerolabs/function-pointer": "0.2.19",
20
+ "@layerzerolabs/common-chain-model": "0.2.19",
21
+ "@layerzerolabs/zod-utils": "0.2.19"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/lodash.isequal": "^4.5.8",
25
25
  "tsup": "^8.4.0",
26
26
  "vitest": "^3.2.3",
27
- "@layerzerolabs/base-definitions": "0.2.15",
28
- "@layerzerolabs/tsup-configuration": "0.2.15",
29
- "@layerzerolabs/typescript-configuration": "0.2.15",
30
- "@layerzerolabs/typescript-utils": "0.2.15"
27
+ "@layerzerolabs/base-definitions": "0.2.19",
28
+ "@layerzerolabs/tsup-configuration": "0.2.19",
29
+ "@layerzerolabs/typescript-configuration": "0.2.19",
30
+ "@layerzerolabs/typescript-utils": "0.2.19"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "restricted",
package/src/schemata.ts CHANGED
@@ -241,7 +241,11 @@ export const gatedTransactionSchema = <
241
241
  >(_?: {
242
242
  name?: Name;
243
243
  transactionSchema?: TransactionSchema;
244
- }) => customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>();
244
+ }) =>
245
+ customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>().meta({
246
+ title: 'Gated Transaction',
247
+ description: 'A schema for a gated transaction',
248
+ });
245
249
 
246
250
  export const resolvedGatedTransactionSchema = <
247
251
  Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,
@@ -255,7 +259,10 @@ export const resolvedGatedTransactionSchema = <
255
259
  GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,
256
260
  z.infer<TransactionSchema>
257
261
  >
258
- >();
262
+ >().meta({
263
+ title: 'Resolved Gated Transaction',
264
+ description: 'A schema for a resolved gated transaction',
265
+ });
259
266
 
260
267
  /**
261
268
  * Builds a schema for an activity that builds a transaction based on the results of other transactions
@@ -379,3 +386,13 @@ export type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransactio
379
386
  [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;
380
387
  }
381
388
  : never;
389
+
390
+ export interface GatedTxCheckResult {
391
+ expectationMet: boolean;
392
+ data: unknown;
393
+ }
394
+
395
+ export const gatedTxCheckResultSchema = z.object({
396
+ expectationMet: z.boolean(),
397
+ data: z.any(),
398
+ });
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","__name","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData","gatedTransactionIsResolvedGatedTransaction","gtx","result","gatedTransactionSchema","_","customSchema","resolvedGatedTransactionSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","array","def","items","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional"],"mappings":"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","file":"6Z5YW2XO.cjs","sourcesContent":["import z from 'zod';\n\nimport type { transactionSchema as _transactionSchema } from '@layerzerolabs/common-chain-model';\nimport type { HexString } from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\nimport type { BrandedError, BuildTuple, IsAny, Or } 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<[OnChainDataType extends number ? true : false, IsAny<OnChainDataType>]> 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 Method extends (...args: any[]) => Promise<any> = (...args: any[]) => Promise<unknown>,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TxWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n txWithResultSchema: TxWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: txWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: txWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\nexport type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret\n ? Awaited<Ret>\n : unknown;\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n InferOnChainDataTypeFromCheck<GatedTx['check']>;\n\nexport type GatedTransactionDependencies = GatedTransaction[];\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n abiEncodedConstructorArguments?: HexString;\n };\n };\n chainName: string;\n check: GatedTransactionCheck<CheckMethod>;\n dependencies: _Dependencies;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n};\n\nexport type LiteralGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckMethod, _Dependencies>\n | FunctionalGatedTransaction<Name, TxType, CheckMethod, DepMethod, _Dependencies>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<infer Name, any, infer CheckMethod, any, infer _Dependencies>\n ? BaseGatedTransaction<Name, CheckMethod, _Dependencies>\n : never;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxType extends Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<GatedTx extends GatedTransaction, TxType extends Transaction> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxType>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<GatedTx, TxType>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n\nexport type ResolvedGatedTransaction<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = BaseGatedTransactionFor<GatedTx> & {\n result: GatedTransactionResult<GatedTx, TxType>;\n};\n\nexport const gatedTransactionIsResolvedGatedTransaction = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\n\nexport const gatedTransactionSchema = <\n Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n>(_?: {\n name?: Name;\n transactionSchema?: TransactionSchema;\n}) => customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>();\n\nexport const resolvedGatedTransactionSchema = <\n Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n>(_?: {\n name?: Name;\n transactionSchema?: TransactionSchema;\n}) =>\n customSchema<\n ResolvedGatedTransaction<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >();\n\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxArrayDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n extraArgs?: ExtraArgs,\n) => {\n return functionSchema({\n input: z.tuple([\n z.array(\n resolvedGatedTransactionSchema({\n transactionSchema,\n }),\n ),\n ...(extraArgs?.def?.items ?? []),\n ]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxTupleDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n txNumber: TxNumber,\n extraArgs?: ExtraArgs,\n) => {\n const txs = Array.from({ length: txNumber }, () =>\n resolvedGatedTransactionSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([z.tuple(txs as any), ...(extraArgs?.def?.items ?? [])]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n\nexport const createGatedTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionWithResultSchema extends\n typeof _transactionWithResultSchema = typeof _transactionWithResultSchema,\n>({\n input,\n output,\n transactionWithResultSchema,\n}: {\n input?: Input;\n transactionWithResultSchema?: TransactionWithResultSchema;\n output: Output;\n}) => {\n const txWithResultSchema = (\n transactionWithResultSchema ?? _transactionWithResultSchema\n ).optional();\n\n return functionSchema({\n input: z.tuple([...(input ?? []), txWithResultSchema] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [...InferredArray<Input>, z.infer<TransactionWithResultSchema>?]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies>\n ? {\n [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;\n }\n : never;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemata.ts"],"names":["gatedTransactionResultSchema","txWithResultSchema","onchainDataSchema","z","union","object","status","literal","submittedTransaction","transactionError","any","finalOnChainState","GatedTransactionStatus","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData","gatedTransactionIsResolvedGatedTransaction","gtx","result","gatedTransactionSchema","_","customSchema","resolvedGatedTransactionSchema","createTxArrayDependentActivitySchema","transactionSchema","extraArgs","array","def","items","createTxTupleDependentActivitySchema","txNumber","txs","Array","from","length","createGatedTxCheckActivitySchema","transactionWithResultSchema","_transactionWithResultSchema","optional"],"mappings":"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","file":"A7ARKRQD.js","sourcesContent":["import z from 'zod';\n\nimport type { transactionSchema as _transactionSchema } from '@layerzerolabs/common-chain-model';\nimport type { HexString } from '@layerzerolabs/common-chain-model';\nimport {\n type Transaction,\n type TransactionWithResultFor,\n transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/function-pointer';\nimport type { BrandedError, BuildTuple, IsAny, Or } 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<[OnChainDataType extends number ? true : false, IsAny<OnChainDataType>]> 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 Method extends (...args: any[]) => Promise<any> = (...args: any[]) => Promise<unknown>,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TxWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n txWithResultSchema: TxWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: txWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: txWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\nexport type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret\n ? Awaited<Ret>\n : unknown;\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n InferOnChainDataTypeFromCheck<GatedTx['check']>;\n\nexport type GatedTransactionDependencies = GatedTransaction[];\nexport type BaseGatedTransaction<\n Name extends string = string,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n name: Name;\n description?: string;\n bundleName?: string;\n metadata?: {\n deployInfo?: {\n saveArtifact: boolean;\n contractName: string;\n retryable?: boolean;\n abiEncodedConstructorArguments?: HexString;\n };\n };\n chainName: string;\n check: GatedTransactionCheck<CheckMethod>;\n dependencies: _Dependencies;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n};\n\nexport type LiteralGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'literal';\n transaction: TxType;\n};\n\nexport type FunctionalGatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = BaseGatedTransaction<Name, CheckMethod, _Dependencies> & {\n transactionType: 'functional';\n getTransaction: {\n functionPointer: FunctionPointer<DepMethod>;\n params: Parameters<DepMethod> extends [any, ...infer Tail] ? Tail : [];\n };\n};\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n DepMethod extends (txs: any, ...args: any[]) => Promise<TxType> = (\n txs: any,\n ...args: any[]\n ) => Promise<any>,\n _Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> =\n | LiteralGatedTransaction<Name, TxType, CheckMethod, _Dependencies>\n | FunctionalGatedTransaction<Name, TxType, CheckMethod, DepMethod, _Dependencies>;\n\nexport type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<infer Name, any, infer CheckMethod, any, infer _Dependencies>\n ? BaseGatedTransaction<Name, CheckMethod, _Dependencies>\n : never;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxType extends Transaction> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TransactionWithResultFor<TxType>;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<GatedTx extends GatedTransaction, TxType extends Transaction> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TransactionWithResultFor<TxType>;\n finalOnChainState: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxType>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<GatedTx, TxType>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\n/**\n * bundleName-chain-uniqueIdKeys\n *\n * E.g., SetPeer-ton-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionBundleId = `${string}-${string}-${string}`;\n\nexport type ResolvedGatedTransaction<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxType extends Transaction = Transaction,\n> = BaseGatedTransactionFor<GatedTx> & {\n result: GatedTransactionResult<GatedTx, TxType>;\n};\n\nexport const gatedTransactionIsResolvedGatedTransaction = (\n gtx: GatedTransaction | ResolvedGatedTransaction,\n): gtx is ResolvedGatedTransaction => !!(gtx as ResolvedGatedTransaction).result;\n\nexport const gatedTransactionSchema = <\n Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n>(_?: {\n name?: Name;\n transactionSchema?: TransactionSchema;\n}) => customSchema<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>>();\n\nexport const resolvedGatedTransactionSchema = <\n Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n>(_?: {\n name?: Name;\n transactionSchema?: TransactionSchema;\n}) =>\n customSchema<\n ResolvedGatedTransaction<\n GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>,\n z.infer<TransactionSchema>\n >\n >();\n\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxArrayDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n extraArgs?: ExtraArgs,\n) => {\n return functionSchema({\n input: z.tuple([\n z.array(\n resolvedGatedTransactionSchema({\n transactionSchema,\n }),\n ),\n ...(extraArgs?.def?.items ?? []),\n ]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >[],\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n/**\n * Builds a schema for an activity that builds a transaction based on the results of other transactions\n * @param transactionSchema The schema for the transaction to be built\n * @param transactionWithResultSchema The schema for the results of the transactions you're building off of\n * @param txNumber The number of transactions you're building off of\n * @param extraArgs Additional arguments that must be passed to the function after the txes\n * @returns A schema for the activity that builds the transaction\n */\nexport const createTxTupleDependentActivitySchema = <\n TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,\n const TxNumber extends number = 1,\n ExtraArgs extends z.ZodTuple = z.ZodTuple<[]>,\n>(\n transactionSchema: TransactionSchema,\n txNumber: TxNumber,\n extraArgs?: ExtraArgs,\n) => {\n const txs = Array.from({ length: txNumber }, () =>\n resolvedGatedTransactionSchema({\n transactionSchema: transactionSchema,\n }),\n );\n\n return functionSchema({\n input: z.tuple([z.tuple(txs as any), ...(extraArgs?.def?.items ?? [])]),\n output: z.promise(transactionSchema),\n }) as unknown as z.ZodType<\n [] extends z.infer<ExtraArgs>\n ? (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ) => Promise<z.infer<TransactionSchema>>\n : (\n txs: BuildTuple<\n ResolvedGatedTransaction<\n GatedTransaction<string, z.infer<TransactionSchema>>\n >,\n TxNumber\n >,\n ...extraArgs: z.infer<ExtraArgs>\n ) => Promise<z.infer<TransactionSchema>>\n >;\n};\n\nexport const createGatedTxCheckActivitySchema = <\n Output extends z.ZodType,\n const Input extends z.ZodType[] = [],\n TransactionWithResultSchema extends\n typeof _transactionWithResultSchema = typeof _transactionWithResultSchema,\n>({\n input,\n output,\n transactionWithResultSchema,\n}: {\n input?: Input;\n transactionWithResultSchema?: TransactionWithResultSchema;\n output: Output;\n}) => {\n const txWithResultSchema = (\n transactionWithResultSchema ?? _transactionWithResultSchema\n ).optional();\n\n return functionSchema({\n input: z.tuple([...(input ?? []), txWithResultSchema] as any),\n output: z.promise(output),\n }) as z.ZodType<\n (\n ...args: [...InferredArray<Input>, z.infer<TransactionWithResultSchema>?]\n ) => Promise<z.infer<Output>>\n >;\n};\n\nexport type ResolvedGatedTransactionDependencies<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, any, any, infer _Dependencies>\n ? {\n [K in keyof _Dependencies]?: ResolvedGatedTransaction<_Dependencies[K]>;\n }\n : never;\n"]}