@layerzerolabs/gated-transaction 0.2.22 → 0.2.24
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/.turbo/turbo-build.log +16 -16
- package/.turbo/turbo-lint.log +1 -1
- package/dist/{SXSNYFO6.cjs → 7S7APV6O.cjs} +2 -2
- package/dist/7S7APV6O.cjs.map +1 -0
- package/dist/{BPVWQ6EE.cjs → FBGH4Z7Y.cjs} +57 -41
- package/dist/FBGH4Z7Y.cjs.map +1 -0
- package/dist/{RHEZ2PRK.js → FNFGPB4O.js} +56 -42
- package/dist/FNFGPB4O.js.map +1 -0
- package/dist/{Z6WLE6GM.js → PMA4Q2UL.js} +2 -2
- package/dist/PMA4Q2UL.js.map +1 -0
- package/dist/gatedTx.cjs +5 -5
- package/dist/gatedTx.d.ts +3 -0
- package/dist/gatedTx.d.ts.map +1 -1
- package/dist/gatedTx.js +1 -1
- package/dist/index.cjs +24 -16
- package/dist/index.js +2 -2
- package/dist/schemata.cjs +19 -11
- package/dist/schemata.d.ts +39 -21
- package/dist/schemata.d.ts.map +1 -1
- package/dist/schemata.js +1 -1
- package/package.json +8 -8
- package/src/gatedTx.ts +5 -0
- package/src/schemata.ts +83 -39
- package/dist/BPVWQ6EE.cjs.map +0 -1
- package/dist/RHEZ2PRK.js.map +0 -1
- package/dist/SXSNYFO6.cjs.map +0 -1
- package/dist/Z6WLE6GM.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,66 +1,74 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var _7S7APV6O_cjs = require('./7S7APV6O.cjs');
|
|
4
|
+
var FBGH4Z7Y_cjs = require('./FBGH4Z7Y.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 _7S7APV6O_cjs.constructGatedTransaction; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "constructGatedTransactionFromPointer", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return _7S7APV6O_cjs.constructGatedTransactionFromPointer; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "getBundleIdForGatedTransaction", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return _7S7APV6O_cjs.getBundleIdForGatedTransaction; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "getIdForGatedTransaction", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return _7S7APV6O_cjs.getIdForGatedTransaction; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "GatedTransactionStatus", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return FBGH4Z7Y_cjs.GatedTransactionStatus; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return FBGH4Z7Y_cjs.createGatedTxCheckActivitySchema; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return FBGH4Z7Y_cjs.createTxArrayDependentActivitySchema; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return FBGH4Z7Y_cjs.createTxTupleDependentActivitySchema; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "gatedTransactionCacheSchema", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionCacheSchema; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "gatedTransactionIsResolvedGatedTransaction", {
|
|
46
46
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
47
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionIsResolvedGatedTransaction; }
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "gatedTransactionResultSchema", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionResultSchema; }
|
|
52
52
|
});
|
|
53
53
|
Object.defineProperty(exports, "gatedTransactionSchema", {
|
|
54
54
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
55
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionSchema; }
|
|
56
56
|
});
|
|
57
57
|
Object.defineProperty(exports, "gatedTxCheckResultSchema", {
|
|
58
58
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
59
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTxCheckResultSchema; }
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(exports, "isSuccessfulGatedTransaction", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
get: function () { return FBGH4Z7Y_cjs.isSuccessfulGatedTransaction; }
|
|
60
64
|
});
|
|
61
65
|
Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
|
|
62
66
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
67
|
+
get: function () { return FBGH4Z7Y_cjs.resolvedGatedTransactionSchema; }
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(exports, "successfulGatedTransactionSchema", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
get: function () { return FBGH4Z7Y_cjs.successfulGatedTransactionSchema; }
|
|
64
72
|
});
|
|
65
73
|
//# sourceMappingURL=index.cjs.map
|
|
66
74
|
//# 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, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, resolvedGatedTransactionSchema } from './
|
|
1
|
+
export { constructGatedTransaction, constructGatedTransactionFromPointer, getBundleIdForGatedTransaction, getIdForGatedTransaction } from './PMA4Q2UL.js';
|
|
2
|
+
export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isSuccessfulGatedTransaction, resolvedGatedTransactionSchema, successfulGatedTransactionSchema } from './FNFGPB4O.js';
|
|
3
3
|
import './VUOMXK5T.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/schemata.cjs
CHANGED
|
@@ -1,49 +1,57 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var FBGH4Z7Y_cjs = require('./FBGH4Z7Y.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 FBGH4Z7Y_cjs.GatedTransactionStatus; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "createGatedTxCheckActivitySchema", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return FBGH4Z7Y_cjs.createGatedTxCheckActivitySchema; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "createTxArrayDependentActivitySchema", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return FBGH4Z7Y_cjs.createTxArrayDependentActivitySchema; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "createTxTupleDependentActivitySchema", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return FBGH4Z7Y_cjs.createTxTupleDependentActivitySchema; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "gatedTransactionCacheSchema", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionCacheSchema; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "gatedTransactionIsResolvedGatedTransaction", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionIsResolvedGatedTransaction; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "gatedTransactionResultSchema", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionResultSchema; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "gatedTransactionSchema", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTransactionSchema; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "gatedTxCheckResultSchema", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return FBGH4Z7Y_cjs.gatedTxCheckResultSchema; }
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(exports, "isSuccessfulGatedTransaction", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return FBGH4Z7Y_cjs.isSuccessfulGatedTransaction; }
|
|
43
47
|
});
|
|
44
48
|
Object.defineProperty(exports, "resolvedGatedTransactionSchema", {
|
|
45
49
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
50
|
+
get: function () { return FBGH4Z7Y_cjs.resolvedGatedTransactionSchema; }
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(exports, "successfulGatedTransactionSchema", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return FBGH4Z7Y_cjs.successfulGatedTransactionSchema; }
|
|
47
55
|
});
|
|
48
56
|
//# sourceMappingURL=schemata.cjs.map
|
|
49
57
|
//# sourceMappingURL=schemata.cjs.map
|
package/dist/schemata.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { HexString } from '@layerzerolabs/common-chain-model';
|
|
|
4
4
|
import { type Transaction, type TransactionWithResultFor, transactionWithResultSchema as _transactionWithResultSchema } from '@layerzerolabs/common-chain-model';
|
|
5
5
|
import type { FunctionPointer } from '@layerzerolabs/function-pointer';
|
|
6
6
|
import type { BrandedError, BuildTuple, IsAny, Or } from '@layerzerolabs/typescript-utils';
|
|
7
|
-
import type { InferredArray } from '@layerzerolabs/zod-utils';
|
|
7
|
+
import type { FunctionPointerWithArgs, InferredArray } from '@layerzerolabs/zod-utils';
|
|
8
8
|
export type OnChainDataComparisonOperator<OnChainDataType> = Or<[OnChainDataType extends number ? true : false, IsAny<OnChainDataType>]> extends true ? '<' | '<=' | '=' | '!=' | '>' | '>=' : OnChainDataType extends string | object | boolean ? '=' | '!=' : BrandedError<'Unsupported comparison type'>;
|
|
9
9
|
export type OnChainDataComparison<OnChainDataType extends string | number | boolean | object> = {
|
|
10
10
|
operator: OnChainDataComparisonOperator<OnChainDataType>;
|
|
@@ -31,6 +31,8 @@ export declare const gatedTransactionResultSchema: <TxWithResultSchema extends t
|
|
|
31
31
|
status: z.ZodLiteral<GatedTransactionStatus.DEPENDENCY_FAILED>;
|
|
32
32
|
}, z.core.$strip>, z.ZodObject<{
|
|
33
33
|
status: z.ZodLiteral<GatedTransactionStatus.DENIED>;
|
|
34
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
35
|
+
status: z.ZodLiteral<GatedTransactionStatus.DEFERRED_SUCCESS>;
|
|
34
36
|
}, z.core.$strip>]>;
|
|
35
37
|
export type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret ? Awaited<Ret> : unknown;
|
|
36
38
|
export type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> = InferOnChainDataTypeFromCheck<GatedTx['check']>;
|
|
@@ -45,6 +47,7 @@ export type BaseGatedTransaction<Name extends string = string, CheckMethod exten
|
|
|
45
47
|
contractName: string;
|
|
46
48
|
retryable?: boolean;
|
|
47
49
|
abiEncodedConstructorArguments?: HexString;
|
|
50
|
+
extractVerificationArtifactPointer?: FunctionPointerWithArgs<any>;
|
|
48
51
|
};
|
|
49
52
|
};
|
|
50
53
|
chainName: string;
|
|
@@ -72,12 +75,13 @@ export declare enum GatedTransactionStatus {
|
|
|
72
75
|
TRANSACTION_FAILED = "transaction_failed",
|
|
73
76
|
FINAL_CHECK_FAILED = "final_check_failed",
|
|
74
77
|
DEPENDENCY_FAILED = "dependency_failed",
|
|
75
|
-
DENIED = "denied"
|
|
78
|
+
DENIED = "denied",
|
|
79
|
+
DEFERRED_SUCCESS = "deferred_success"
|
|
76
80
|
}
|
|
77
81
|
type NoOpGatedTransaction = {
|
|
78
82
|
status: GatedTransactionStatus.NO_OP;
|
|
79
83
|
};
|
|
80
|
-
type SuccessfulGatedTransaction<TxType extends Transaction> = {
|
|
84
|
+
export type SuccessfulGatedTransaction<TxType extends Transaction> = {
|
|
81
85
|
status: GatedTransactionStatus.SUCCESS;
|
|
82
86
|
submittedTransaction: TransactionWithResultFor<TxType>;
|
|
83
87
|
};
|
|
@@ -96,24 +100,10 @@ type DependencyFailedGatedTransaction = {
|
|
|
96
100
|
type DeniedGatedTransaction = {
|
|
97
101
|
status: GatedTransactionStatus.DENIED;
|
|
98
102
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, z.core.$strip>;
|
|
104
|
-
export type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;
|
|
105
|
-
/**
|
|
106
|
-
* name-chain-uniqueIdKeys
|
|
107
|
-
*
|
|
108
|
-
* E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP
|
|
109
|
-
*/
|
|
110
|
-
export type GatedTransactionId = `${string}-${string}-${string}`;
|
|
111
|
-
/**
|
|
112
|
-
* bundleName-chain-uniqueIdKeys
|
|
113
|
-
*
|
|
114
|
-
* E.g., SetPeer-ton-oAppAddress:0xMY_OAPP
|
|
115
|
-
*/
|
|
116
|
-
export type GatedTransactionBundleId = `${string}-${string}-${string}`;
|
|
103
|
+
type DeferredSuccessfulGatedTransaction = {
|
|
104
|
+
status: GatedTransactionStatus.DEFERRED_SUCCESS;
|
|
105
|
+
};
|
|
106
|
+
export type GatedTransactionResult<GatedTx extends GatedTransaction = GatedTransaction, TxType extends Transaction = Transaction> = NoOpGatedTransaction | SuccessfulGatedTransaction<TxType> | TxFailedGatedTransaction | CheckFailedGatedTransaction<GatedTx, TxType> | DependencyFailedGatedTransaction | DeniedGatedTransaction | DeferredSuccessfulGatedTransaction;
|
|
117
107
|
export type ResolvedGatedTransaction<GatedTx extends GatedTransaction = GatedTransaction, TxType extends Transaction = Transaction> = BaseGatedTransactionFor<GatedTx> & {
|
|
118
108
|
result: GatedTransactionResult<GatedTx, TxType>;
|
|
119
109
|
};
|
|
@@ -126,6 +116,14 @@ export declare const resolvedGatedTransactionSchema: <Name extends z.ZodString |
|
|
|
126
116
|
name?: Name;
|
|
127
117
|
transactionSchema?: TransactionSchema;
|
|
128
118
|
}) => z.ZodType<ResolvedGatedTransaction<GatedTransaction<z.core.output<Name>, z.core.output<TransactionSchema>, (...args: any[]) => any, (txs: any, ...args: any[]) => Promise<any>, GatedTransactionDependencies>, z.core.output<TransactionSchema>>, unknown, z.core.$ZodTypeInternals<ResolvedGatedTransaction<GatedTransaction<z.core.output<Name>, z.core.output<TransactionSchema>, (...args: any[]) => any, (txs: any, ...args: any[]) => Promise<any>, GatedTransactionDependencies>, z.core.output<TransactionSchema>>, unknown>>;
|
|
119
|
+
export declare const successfulGatedTransactionSchema: <Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString, TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema>(_?: {
|
|
120
|
+
name?: Name;
|
|
121
|
+
transactionSchema?: TransactionSchema;
|
|
122
|
+
}) => z.ZodType<BaseGatedTransaction<z.core.output<Name>, (...args: any[]) => any, GatedTransactionDependencies> & {
|
|
123
|
+
result: SuccessfulGatedTransaction<z.infer<TransactionSchema>>;
|
|
124
|
+
}, unknown, z.core.$ZodTypeInternals<BaseGatedTransaction<z.core.output<Name>, (...args: any[]) => any, GatedTransactionDependencies> & {
|
|
125
|
+
result: SuccessfulGatedTransaction<z.infer<TransactionSchema>>;
|
|
126
|
+
}, unknown>>;
|
|
129
127
|
/**
|
|
130
128
|
* Builds a schema for an activity that builds a transaction based on the results of other transactions
|
|
131
129
|
* @param transactionSchema The schema for the transaction to be built
|
|
@@ -160,5 +158,25 @@ export declare const gatedTxCheckResultSchema: z.ZodObject<{
|
|
|
160
158
|
expectationMet: z.ZodBoolean;
|
|
161
159
|
data: z.ZodAny;
|
|
162
160
|
}, z.core.$strip>;
|
|
161
|
+
export declare const isSuccessfulGatedTransaction: <GatedTx extends GatedTransaction, TxType extends Transaction>(gtx: ResolvedGatedTransaction<GatedTx, TxType>) => gtx is BaseGatedTransactionFor<GatedTx> & {
|
|
162
|
+
result: SuccessfulGatedTransaction<TxType>;
|
|
163
|
+
};
|
|
164
|
+
export declare const gatedTransactionCacheSchema: z.ZodObject<{
|
|
165
|
+
getCachedTxCheckData: z.ZodType<(<GatedTx extends GatedTransaction>(gtx: GatedTx) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>)>;
|
|
166
|
+
cacheSuccessfulTxCheckData: z.ZodType<(<GatedTx extends GatedTransaction>(gtx: GatedTx, data: InferOnChainDataTypeFromGatedTransaction<GatedTx>) => Promise<void>)>;
|
|
167
|
+
}, z.core.$strip>;
|
|
168
|
+
export type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;
|
|
169
|
+
/**
|
|
170
|
+
* name-chain-uniqueIdKeys
|
|
171
|
+
*
|
|
172
|
+
* E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP
|
|
173
|
+
*/
|
|
174
|
+
export type GatedTransactionId = `${string}-${string}-${string}`;
|
|
175
|
+
/**
|
|
176
|
+
* bundleName-chain-uniqueIdKeys
|
|
177
|
+
*
|
|
178
|
+
* E.g., SetPeer-ton-oAppAddress:0xMY_OAPP
|
|
179
|
+
*/
|
|
180
|
+
export type GatedTransactionBundleId = `${string}-${string}-${string}`;
|
|
163
181
|
export {};
|
|
164
182
|
//# sourceMappingURL=schemata.d.ts.map
|
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,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,2BAA2B,IAAI,4BAA4B,EAC9D,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,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, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, resolvedGatedTransactionSchema } from './
|
|
1
|
+
export { GatedTransactionStatus, createGatedTxCheckActivitySchema, createTxArrayDependentActivitySchema, createTxTupleDependentActivitySchema, gatedTransactionCacheSchema, gatedTransactionIsResolvedGatedTransaction, gatedTransactionResultSchema, gatedTransactionSchema, gatedTxCheckResultSchema, isSuccessfulGatedTransaction, resolvedGatedTransactionSchema, successfulGatedTransactionSchema } from './FNFGPB4O.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.24",
|
|
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/common-chain-model": "0.2.
|
|
20
|
-
"@layerzerolabs/
|
|
21
|
-
"@layerzerolabs/
|
|
19
|
+
"@layerzerolabs/common-chain-model": "0.2.24",
|
|
20
|
+
"@layerzerolabs/function-pointer": "0.2.24",
|
|
21
|
+
"@layerzerolabs/zod-utils": "0.2.24"
|
|
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/
|
|
28
|
-
"@layerzerolabs/
|
|
29
|
-
"@layerzerolabs/typescript-configuration": "0.2.
|
|
30
|
-
"@layerzerolabs/typescript-utils": "0.2.
|
|
27
|
+
"@layerzerolabs/tsup-configuration": "0.2.24",
|
|
28
|
+
"@layerzerolabs/base-definitions": "0.2.24",
|
|
29
|
+
"@layerzerolabs/typescript-configuration": "0.2.24",
|
|
30
|
+
"@layerzerolabs/typescript-utils": "0.2.24"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "restricted",
|
package/src/gatedTx.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HexString, Transaction } from '@layerzerolabs/common-chain-model';
|
|
2
2
|
import type { FunctionPointer } from '@layerzerolabs/function-pointer';
|
|
3
|
+
import type { FunctionPointerWithArgs } from '@layerzerolabs/zod-utils';
|
|
3
4
|
|
|
4
5
|
import type {
|
|
5
6
|
BaseGatedTransaction,
|
|
@@ -30,6 +31,8 @@ export const constructGatedTransaction = <
|
|
|
30
31
|
contractName: string;
|
|
31
32
|
retryable?: boolean;
|
|
32
33
|
abiEncodedConstructorArguments?: HexString;
|
|
34
|
+
// TODO: Should be FunctionPointerWithArgs<VerificationArtifact> (circular dependency)
|
|
35
|
+
extractVerificationArtifactPointer?: FunctionPointerWithArgs<any>;
|
|
33
36
|
};
|
|
34
37
|
};
|
|
35
38
|
check: {
|
|
@@ -76,6 +79,8 @@ export const constructGatedTransactionFromPointer = <
|
|
|
76
79
|
contractName: string;
|
|
77
80
|
abiEncodedConstructorArguments?: HexString;
|
|
78
81
|
retryable?: boolean;
|
|
82
|
+
// TODO: Should be FunctionPointerWithArgs<VerificationArtifact> (circular dependency)
|
|
83
|
+
extractVerificationArtifactPointer?: FunctionPointerWithArgs<any>;
|
|
79
84
|
};
|
|
80
85
|
};
|
|
81
86
|
check: {
|
package/src/schemata.ts
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from '@layerzerolabs/common-chain-model';
|
|
10
10
|
import type { FunctionPointer } from '@layerzerolabs/function-pointer';
|
|
11
11
|
import type { BrandedError, BuildTuple, IsAny, Or } from '@layerzerolabs/typescript-utils';
|
|
12
|
-
import type { InferredArray } from '@layerzerolabs/zod-utils';
|
|
12
|
+
import type { FunctionPointerWithArgs, InferredArray } from '@layerzerolabs/zod-utils';
|
|
13
13
|
import { customSchema, functionSchema } from '@layerzerolabs/zod-utils';
|
|
14
14
|
|
|
15
15
|
export type OnChainDataComparisonOperator<OnChainDataType> =
|
|
@@ -40,6 +40,7 @@ export const gatedTransactionResultSchema = <
|
|
|
40
40
|
txWithResultSchema: TxWithResultSchema,
|
|
41
41
|
onchainDataSchema: OnchainDataSchema,
|
|
42
42
|
) =>
|
|
43
|
+
// FIXME use this as source of truth for GatedTransactionResult type
|
|
43
44
|
z.union([
|
|
44
45
|
z.object({
|
|
45
46
|
status: z.literal(GatedTransactionStatus.NO_OP),
|
|
@@ -63,6 +64,9 @@ export const gatedTransactionResultSchema = <
|
|
|
63
64
|
z.object({
|
|
64
65
|
status: z.literal(GatedTransactionStatus.DENIED),
|
|
65
66
|
}),
|
|
67
|
+
z.object({
|
|
68
|
+
status: z.literal(GatedTransactionStatus.DEFERRED_SUCCESS),
|
|
69
|
+
}),
|
|
66
70
|
]);
|
|
67
71
|
|
|
68
72
|
export type InferOnChainDataTypeFromCheck<Check> = Check extends (...args: any[]) => infer Ret
|
|
@@ -86,6 +90,8 @@ export type BaseGatedTransaction<
|
|
|
86
90
|
contractName: string;
|
|
87
91
|
retryable?: boolean;
|
|
88
92
|
abiEncodedConstructorArguments?: HexString;
|
|
93
|
+
// TODO: Should be FunctionPointerWithArgs<VerificationArtifact> (circular dependency)
|
|
94
|
+
extractVerificationArtifactPointer?: FunctionPointerWithArgs<any>;
|
|
89
95
|
};
|
|
90
96
|
};
|
|
91
97
|
chainName: string;
|
|
@@ -141,19 +147,27 @@ export type BaseGatedTransactionFor<GatedTx extends GatedTransaction> =
|
|
|
141
147
|
: never;
|
|
142
148
|
|
|
143
149
|
export enum GatedTransactionStatus {
|
|
150
|
+
// precheck passed, no need to send the tx
|
|
144
151
|
NO_OP = 'no_op',
|
|
152
|
+
// precheck failed, tx was sent, postcheck passed
|
|
145
153
|
SUCCESS = 'success',
|
|
154
|
+
// precheck failed, tx was sent but sender returned an error
|
|
146
155
|
TRANSACTION_FAILED = 'transaction_failed',
|
|
156
|
+
// precheck failed, tx was sent, postcheck failed
|
|
147
157
|
FINAL_CHECK_FAILED = 'final_check_failed',
|
|
158
|
+
// the tx couldn't be resolved because one of its dependencies resolved to a failed state
|
|
148
159
|
DEPENDENCY_FAILED = 'dependency_failed',
|
|
160
|
+
// approval to send the tx was explictly denied
|
|
149
161
|
DENIED = 'denied',
|
|
162
|
+
// precheck failed, tx was sent but indeterminate, deferred execution passed on a recheck
|
|
163
|
+
DEFERRED_SUCCESS = 'deferred_success',
|
|
150
164
|
}
|
|
151
165
|
|
|
152
166
|
type NoOpGatedTransaction = {
|
|
153
167
|
status: GatedTransactionStatus.NO_OP;
|
|
154
168
|
};
|
|
155
169
|
|
|
156
|
-
type SuccessfulGatedTransaction<TxType extends Transaction> = {
|
|
170
|
+
export type SuccessfulGatedTransaction<TxType extends Transaction> = {
|
|
157
171
|
status: GatedTransactionStatus.SUCCESS;
|
|
158
172
|
submittedTransaction: TransactionWithResultFor<TxType>;
|
|
159
173
|
};
|
|
@@ -177,6 +191,10 @@ type DeniedGatedTransaction = {
|
|
|
177
191
|
status: GatedTransactionStatus.DENIED;
|
|
178
192
|
};
|
|
179
193
|
|
|
194
|
+
type DeferredSuccessfulGatedTransaction = {
|
|
195
|
+
status: GatedTransactionStatus.DEFERRED_SUCCESS;
|
|
196
|
+
};
|
|
197
|
+
|
|
180
198
|
export type GatedTransactionResult<
|
|
181
199
|
GatedTx extends GatedTransaction = GatedTransaction,
|
|
182
200
|
TxType extends Transaction = Transaction,
|
|
@@ -186,43 +204,8 @@ export type GatedTransactionResult<
|
|
|
186
204
|
| TxFailedGatedTransaction
|
|
187
205
|
| CheckFailedGatedTransaction<GatedTx, TxType>
|
|
188
206
|
| DependencyFailedGatedTransaction
|
|
189
|
-
| DeniedGatedTransaction
|
|
190
|
-
|
|
191
|
-
export const gatedTransactionCacheSchema = z.object({
|
|
192
|
-
getCachedTxCheckData: functionSchema({
|
|
193
|
-
input: z.tuple([z.any()]),
|
|
194
|
-
output: z.promise(z.any()),
|
|
195
|
-
}) as z.ZodType<
|
|
196
|
-
<GatedTx extends GatedTransaction>(
|
|
197
|
-
gtx: GatedTx,
|
|
198
|
-
) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>
|
|
199
|
-
>,
|
|
200
|
-
cacheSuccessfulTxCheckData: functionSchema({
|
|
201
|
-
input: z.tuple([z.any(), z.any()]),
|
|
202
|
-
output: z.promise(z.any()),
|
|
203
|
-
}) as z.ZodType<
|
|
204
|
-
<GatedTx extends GatedTransaction>(
|
|
205
|
-
gtx: GatedTx,
|
|
206
|
-
data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,
|
|
207
|
-
) => Promise<void>
|
|
208
|
-
>,
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
export type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* name-chain-uniqueIdKeys
|
|
215
|
-
*
|
|
216
|
-
* E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP
|
|
217
|
-
*/
|
|
218
|
-
export type GatedTransactionId = `${string}-${string}-${string}`;
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* bundleName-chain-uniqueIdKeys
|
|
222
|
-
*
|
|
223
|
-
* E.g., SetPeer-ton-oAppAddress:0xMY_OAPP
|
|
224
|
-
*/
|
|
225
|
-
export type GatedTransactionBundleId = `${string}-${string}-${string}`;
|
|
207
|
+
| DeniedGatedTransaction
|
|
208
|
+
| DeferredSuccessfulGatedTransaction;
|
|
226
209
|
|
|
227
210
|
export type ResolvedGatedTransaction<
|
|
228
211
|
GatedTx extends GatedTransaction = GatedTransaction,
|
|
@@ -264,6 +247,22 @@ export const resolvedGatedTransactionSchema = <
|
|
|
264
247
|
description: 'A schema for a resolved gated transaction',
|
|
265
248
|
});
|
|
266
249
|
|
|
250
|
+
export const successfulGatedTransactionSchema = <
|
|
251
|
+
Name extends z.ZodString | z.ZodLiteral<string> = z.ZodString,
|
|
252
|
+
TransactionSchema extends typeof _transactionSchema = typeof _transactionSchema,
|
|
253
|
+
>(_?: {
|
|
254
|
+
name?: Name;
|
|
255
|
+
transactionSchema?: TransactionSchema;
|
|
256
|
+
}) =>
|
|
257
|
+
customSchema<
|
|
258
|
+
BaseGatedTransactionFor<GatedTransaction<z.infer<Name>, z.infer<TransactionSchema>>> & {
|
|
259
|
+
result: SuccessfulGatedTransaction<z.infer<TransactionSchema>>;
|
|
260
|
+
}
|
|
261
|
+
>().meta({
|
|
262
|
+
title: 'Successful Gated Transaction',
|
|
263
|
+
description: 'A schema for a successful gated transaction',
|
|
264
|
+
});
|
|
265
|
+
|
|
267
266
|
/**
|
|
268
267
|
* Builds a schema for an activity that builds a transaction based on the results of other transactions
|
|
269
268
|
* @param transactionSchema The schema for the transaction to be built
|
|
@@ -396,3 +395,48 @@ export const gatedTxCheckResultSchema = z.object({
|
|
|
396
395
|
expectationMet: z.boolean(),
|
|
397
396
|
data: z.any(),
|
|
398
397
|
});
|
|
398
|
+
|
|
399
|
+
export const isSuccessfulGatedTransaction = <
|
|
400
|
+
GatedTx extends GatedTransaction,
|
|
401
|
+
TxType extends Transaction,
|
|
402
|
+
>(
|
|
403
|
+
gtx: ResolvedGatedTransaction<GatedTx, TxType>,
|
|
404
|
+
): gtx is BaseGatedTransactionFor<GatedTx> & { result: SuccessfulGatedTransaction<TxType> } => {
|
|
405
|
+
return gtx.result.status === GatedTransactionStatus.SUCCESS;
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
export const gatedTransactionCacheSchema = z.object({
|
|
409
|
+
getCachedTxCheckData: functionSchema({
|
|
410
|
+
input: z.tuple([z.any()]),
|
|
411
|
+
output: z.promise(z.any()),
|
|
412
|
+
}) as z.ZodType<
|
|
413
|
+
<GatedTx extends GatedTransaction>(
|
|
414
|
+
gtx: GatedTx,
|
|
415
|
+
) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>
|
|
416
|
+
>,
|
|
417
|
+
cacheSuccessfulTxCheckData: functionSchema({
|
|
418
|
+
input: z.tuple([z.any(), z.any()]),
|
|
419
|
+
output: z.promise(z.any()),
|
|
420
|
+
}) as z.ZodType<
|
|
421
|
+
<GatedTx extends GatedTransaction>(
|
|
422
|
+
gtx: GatedTx,
|
|
423
|
+
data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,
|
|
424
|
+
) => Promise<void>
|
|
425
|
+
>,
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
export type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* name-chain-uniqueIdKeys
|
|
432
|
+
*
|
|
433
|
+
* E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP
|
|
434
|
+
*/
|
|
435
|
+
export type GatedTransactionId = `${string}-${string}-${string}`;
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* bundleName-chain-uniqueIdKeys
|
|
439
|
+
*
|
|
440
|
+
* E.g., SetPeer-ton-oAppAddress:0xMY_OAPP
|
|
441
|
+
*/
|
|
442
|
+
export type GatedTransactionBundleId = `${string}-${string}-${string}`;
|
package/dist/BPVWQ6EE.cjs.map
DELETED
|
@@ -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","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":"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"]}
|