@ledgerhq/revault-api 1.53.0 → 1.55.0
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/lib/app-types-B0n5TLSm.d.mts +79478 -0
- package/lib/fakes.d.mts +100 -1564
- package/lib/fakes.mjs +801 -3821
- package/lib/fakes.mjs.map +1 -1
- package/lib/index.d.mts +3944 -1551
- package/lib/index.mjs +1 -2
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/app-types-C-ZVHyaT.d.mts +0 -12781
- package/lib/chunk-J5LGTIGS.mjs +0 -9
- package/lib/chunk-J5LGTIGS.mjs.map +0 -1
package/lib/fakes.mjs
CHANGED
|
@@ -1,1759 +1,306 @@
|
|
|
1
|
-
import { __export } from './chunk-J5LGTIGS.mjs';
|
|
2
1
|
import { faker } from '@faker-js/faker';
|
|
3
|
-
import {
|
|
4
|
-
import { match, P } from 'ts-pattern';
|
|
5
|
-
import z14, { z } from 'zod';
|
|
6
|
-
import invariant5 from 'invariant';
|
|
7
|
-
import 'axios';
|
|
8
|
-
import { omit, times, pick, get, isPlainObject } from 'lodash-es';
|
|
9
|
-
import elliptic from 'elliptic';
|
|
2
|
+
import { times, omit } from 'lodash-es';
|
|
10
3
|
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var zCurrencyString = z.string().nonempty().max(40).regex(/^\w+$/).meta({ description: "Will be deprecated soon, use network instead. Currency" });
|
|
15
|
-
var zNetwork = z.string().nonempty().max(40).regex(/^\w+$/).meta({ description: "Network (Same as currency for now)" });
|
|
16
|
-
var zCurrency = z.object({
|
|
17
|
-
network: zNetwork,
|
|
18
|
-
contractAddress: z.string().nonempty().nullable().meta({ description: "Token issuer" }),
|
|
19
|
-
tokenIdentifier: z.string().nonempty().nullable().meta({ description: "Token identifier" })
|
|
20
|
-
});
|
|
21
|
-
z.string().regex(/^[\w-]+$/).nonempty();
|
|
22
|
-
var zHsmObjectId = z.string().regex(/^[\w-]+$/).nonempty();
|
|
23
|
-
z.codec(z.iso.datetime(), z.date(), {
|
|
24
|
-
decode: (isoString) => new Date(isoString),
|
|
25
|
-
// ISO string → Date
|
|
26
|
-
encode: (date) => date.toISOString()
|
|
27
|
-
// Date → ISO string
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
// src/networks/common.ts
|
|
31
|
-
var NetworkFamily = {
|
|
32
|
-
BITCOIN_LIKE: "BITCOIN_LIKE",
|
|
33
|
-
CANTON_LIKE: "CANTON_LIKE",
|
|
34
|
-
CARDANO_LIKE: "CARDANO_LIKE",
|
|
35
|
-
ETHEREUM_LIKE: "ETHEREUM_LIKE",
|
|
36
|
-
GENERIC_LIKE: "GENERIC_LIKE",
|
|
37
|
-
HEDERA_LIKE: "HEDERA_LIKE",
|
|
38
|
-
POLKADOT_LIKE: "POLKADOT_LIKE",
|
|
39
|
-
RIPPLE_LIKE: "RIPPLE_LIKE",
|
|
40
|
-
SOLANA_LIKE: "SOLANA_LIKE",
|
|
41
|
-
STELLAR_LIKE: "STELLAR_LIKE",
|
|
42
|
-
SUI_LIKE: "SUI_LIKE",
|
|
43
|
-
TEZOS_LIKE: "TEZOS_LIKE",
|
|
44
|
-
TRON_LIKE: "TRON_LIKE"
|
|
4
|
+
// src/__fakes__/trpc/inputs.ts
|
|
5
|
+
var unreachable = (value) => {
|
|
6
|
+
throw new Error(`Type checker should have prevented you from reaching here: ${value}`);
|
|
45
7
|
};
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
50
|
-
var zCommonLiveData = z14.object({
|
|
51
|
-
id: z14.string().meta({ description: "Account internal unique identifier" }),
|
|
52
|
-
balance: z14.object({
|
|
53
|
-
total: z14.string().meta({ description: "Total balance" }),
|
|
54
|
-
pending: z14.string().meta({ description: "Pending balance" })
|
|
55
|
-
}).meta({ description: "Balance fields" })
|
|
56
|
-
});
|
|
57
|
-
var zCommonTransactionData = z14.object({
|
|
58
|
-
amount: zUnsignedIntString.meta({ description: "Transaction amount" }),
|
|
59
|
-
currency: zCurrencyString.meta({
|
|
60
|
-
description: "Will be deprecated soon, use Account.network. Transaction currency"
|
|
61
|
-
}),
|
|
62
|
-
// TODO: to remove, use account.network instead
|
|
63
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
64
|
-
recipient: z14.string().nonempty().meta({ description: "Transaction recipient" })
|
|
65
|
-
});
|
|
66
|
-
var zFeeStrategyCustom = z14.object({
|
|
67
|
-
type: z14.enum(["SLOW", "NORMAL", "FAST", "CUSTOM"])
|
|
68
|
-
});
|
|
69
|
-
var zFeeStrategy = z14.object({
|
|
70
|
-
type: z14.enum(["SLOW", "NORMAL", "FAST"])
|
|
71
|
-
});
|
|
72
|
-
var zTransactionStatus = z14.enum(["SUCCESSFUL", "FAILED"]);
|
|
73
|
-
var zCommonTransactionResponse = z14.object({
|
|
74
|
-
id: z14.string().meta({ description: "Internal unique identifier" }),
|
|
75
|
-
hash: z14.string().meta({ description: "Transaction hash" }),
|
|
76
|
-
block: z14.object({
|
|
77
|
-
height: z14.string().nullable().meta({ description: "Transaction block height" }),
|
|
78
|
-
time: z14.string().nullable().meta({ description: "Transaction block time" })
|
|
79
|
-
}),
|
|
80
|
-
status: zTransactionStatus.meta({ description: "Transaction status" }),
|
|
81
|
-
confirmations: z14.string().meta({ description: "Block confirmations" }),
|
|
82
|
-
amount: z14.string().meta({ description: "Transaction amount" }),
|
|
83
|
-
fee: z14.string().meta({ description: "Transaction fee" }),
|
|
84
|
-
senders: z14.array(z14.string()).meta({ description: "Senders (can be multiple for UTXOs-based accounts)" }),
|
|
85
|
-
recipients: z14.array(z14.string()).meta({ description: "Recipients (can be multiple for multi-output transactions)" })
|
|
86
|
-
});
|
|
87
|
-
var zBitcoinLikeAssetFields = z14.object({
|
|
88
|
-
type: z14.literal(NetworkFamily.BITCOIN_LIKE).meta({ description: "Account type" }),
|
|
89
|
-
xpub: z14.string().meta({ description: "xpub (extended public key)" })
|
|
90
|
-
}).meta({ description: "Bitcoin-like" });
|
|
91
|
-
var zBitcoinLikeLiveData = zCommonLiveData.extend({
|
|
92
|
-
type: z14.literal(NetworkFamily.BITCOIN_LIKE).meta({ description: "Account type" })
|
|
93
|
-
}).meta({ description: "Bitcoin-like" });
|
|
94
|
-
var zBitcoinLikeTransactionType = z14.enum(["BITCOIN_LIKE_SEND", "BITCOIN_LIKE_RECEIVE"]).meta({ description: "Bitcoin-like transaction type" });
|
|
95
|
-
var zBitcoinLikeFeeStrategy = zFeeStrategyCustom.extend({
|
|
96
|
-
// nullish is optional + nullable, it is easier to seed rather than just optional
|
|
97
|
-
feePerByte: zUnsignedIntString.nullish().meta({ description: "Fee per byte" })
|
|
98
|
-
}).meta({ description: "Bitcoin-like fee strategy" });
|
|
99
|
-
var zBitcoinLikeSendData = zCommonTransactionData.extend({
|
|
100
|
-
type: z14.literal(zBitcoinLikeTransactionType.enum.BITCOIN_LIKE_SEND),
|
|
101
|
-
feeStrategy: zBitcoinLikeFeeStrategy
|
|
102
|
-
}).meta({
|
|
103
|
-
description: "Bitcoin-like send data",
|
|
104
|
-
id: "BitcoinLikeSendData"
|
|
105
|
-
});
|
|
106
|
-
var zBitcoinLikeTransactionData = z14.discriminatedUnion("type", [zBitcoinLikeSendData]);
|
|
107
|
-
var zBitcoinLikeEstimatedFees = z14.object({
|
|
108
|
-
type: z14.literal(NetworkFamily.BITCOIN_LIKE),
|
|
109
|
-
fee: zIntString
|
|
110
|
-
}).meta({ description: "Bitcoin-like fees" });
|
|
111
|
-
var zBitcoinLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
112
|
-
zCommonTransactionResponse.extend({ type: zBitcoinLikeTransactionType }).meta({ description: "Bitcoin-like transaction" })
|
|
113
|
-
]);
|
|
8
|
+
var genPubKey = () => `04${faker.string.hexadecimal({ prefix: "", casing: "lower", length: 128 })}`;
|
|
9
|
+
var genHexString = (length, casing) => faker.string.hexadecimal({ prefix: "", casing, length });
|
|
10
|
+
var genUniqueName = (length = 20) => faker.string.alphanumeric({ length, casing: "lower" });
|
|
114
11
|
|
|
115
|
-
// src/
|
|
116
|
-
var
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
zTransactionResponse: zBitcoinLikeTransactionResponse,
|
|
124
|
-
zStakingFields: z14.never()};
|
|
125
|
-
var zCantonTransferProposal = z14.object({
|
|
126
|
-
amount: zUnsignedIntString.meta({ description: "Transfer amount" }),
|
|
127
|
-
contractId: z14.string().meta({ description: "ID of the transfer-proposal contract" }),
|
|
128
|
-
instrumentAdmin: z14.string().meta({ description: "Issuer of the instrument being transferred" }),
|
|
129
|
-
instrumentId: z14.string().meta({ description: "ID of the instrument being transferred" }),
|
|
130
|
-
expiresAtMicros: z14.number().int().meta({ description: "Expiration timestamp in microseconds" }),
|
|
131
|
-
reason: z14.string().nullable().meta({ description: "Optional reason attached to the transfer" }),
|
|
132
|
-
sender: z14.string().meta({ description: "Party proposing to send the asset" }),
|
|
133
|
-
recipient: z14.string().meta({ description: "Intended recipient of the proposed transfer" })
|
|
134
|
-
}).meta({
|
|
135
|
-
description: "A pending asset-transfer request",
|
|
136
|
-
id: "CantonTransferProposal"
|
|
137
|
-
});
|
|
138
|
-
var zCantonLikeAssetFields = z14.object({
|
|
139
|
-
type: z14.literal(NetworkFamily.CANTON_LIKE).meta({ description: "Account type" }),
|
|
140
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
141
|
-
}).meta({ description: "Canton-like" });
|
|
142
|
-
var zCantonLikeLiveData = zCommonLiveData.extend({
|
|
143
|
-
type: z14.literal(NetworkFamily.CANTON_LIKE).meta({ description: "Account type" })
|
|
144
|
-
}).meta({ description: "Canton-like" });
|
|
145
|
-
var zCantonLikeTransactionType = z14.enum([
|
|
146
|
-
"CANTON_LIKE_SEND",
|
|
147
|
-
"CANTON_LIKE_SEND_TOKEN",
|
|
148
|
-
"CANTON_LIKE_WITHDRAW",
|
|
149
|
-
"CANTON_LIKE_RECEIVE",
|
|
150
|
-
"CANTON_LIKE_PRE_APPROVAL"
|
|
151
|
-
]).meta({ description: "Canton-like transaction type" });
|
|
152
|
-
var zExecuteBeforeSeconds = z14.number().int().positive().optional().meta({ description: "Execute before seconds" });
|
|
153
|
-
var zCantonReason = z14.string().nullable().meta({ description: "Optional reason attached to the onchain operation" });
|
|
154
|
-
var zCantonLikeSendData = zCommonTransactionData.omit({ maxFee: true }).extend({
|
|
155
|
-
executeBeforeSeconds: zExecuteBeforeSeconds,
|
|
156
|
-
reason: zCantonReason,
|
|
157
|
-
type: z14.literal(zCantonLikeTransactionType.enum.CANTON_LIKE_SEND)
|
|
158
|
-
}).meta({
|
|
159
|
-
description: "Canton-like send data",
|
|
160
|
-
id: "CantonLikeSendData"
|
|
161
|
-
});
|
|
162
|
-
var zCantonLikeSendTokenData = zCommonTransactionData.omit({ maxFee: true }).extend({
|
|
163
|
-
executeBeforeSeconds: zExecuteBeforeSeconds,
|
|
164
|
-
reason: zCantonReason,
|
|
165
|
-
type: z14.literal(zCantonLikeTransactionType.enum.CANTON_LIKE_SEND_TOKEN)
|
|
166
|
-
}).meta({
|
|
167
|
-
description: "Canton-like send token data",
|
|
168
|
-
id: "CantonLikeSendTokenData"
|
|
169
|
-
});
|
|
170
|
-
var zCantonLikeWithdrawData = z14.object({
|
|
171
|
-
currency: zCurrencyString.meta({
|
|
172
|
-
description: "Will be deprecated soon, use Account.network. Transfer currency"
|
|
173
|
-
}),
|
|
174
|
-
// TODO: to remove, use account.network instead
|
|
175
|
-
transferProposal: zCantonTransferProposal,
|
|
176
|
-
reason: z14.string().nullable().meta({ description: "Reason of the verdict" }),
|
|
177
|
-
type: z14.literal(zCantonLikeTransactionType.enum.CANTON_LIKE_WITHDRAW)
|
|
178
|
-
}).meta({
|
|
179
|
-
description: "Canton-like withdraw data",
|
|
180
|
-
id: "CantonLikeWithdrawData"
|
|
181
|
-
});
|
|
182
|
-
var zCantonLikeReceiveData = z14.object({
|
|
183
|
-
currency: zCurrencyString.meta({
|
|
184
|
-
description: "Will be deprecated soon, use Account.network. Transfer currency"
|
|
185
|
-
}),
|
|
186
|
-
// TODO: to remove, use account.network instead
|
|
187
|
-
transferProposal: zCantonTransferProposal,
|
|
188
|
-
verdict: z14.enum(["ACCEPT", "REJECT"]).meta({ description: "Accept or reject the transfer" }),
|
|
189
|
-
reason: z14.string().nullable().meta({ description: "Reason of the verdict" }),
|
|
190
|
-
type: z14.literal(zCantonLikeTransactionType.enum.CANTON_LIKE_RECEIVE)
|
|
191
|
-
}).meta({
|
|
192
|
-
description: "Canton-like receive data",
|
|
193
|
-
id: "CantonLikeReceiveData"
|
|
194
|
-
});
|
|
195
|
-
var zCantonLikePreApprovalData = z14.object({
|
|
196
|
-
currency: zCurrencyString.meta({
|
|
197
|
-
description: "Will be deprecated soon, use Account.network. Transaction currency"
|
|
198
|
-
}),
|
|
199
|
-
// TODO: to remove, use account.network instead
|
|
200
|
-
recipient: z14.string().nonempty().meta({
|
|
201
|
-
description: "Recipient party on which to enable pre-approval"
|
|
202
|
-
}),
|
|
203
|
-
type: z14.literal(zCantonLikeTransactionType.enum.CANTON_LIKE_PRE_APPROVAL)
|
|
204
|
-
}).meta({
|
|
205
|
-
description: "Canton-like pre-approval data",
|
|
206
|
-
id: "CantonLikePreApprovalData"
|
|
207
|
-
});
|
|
208
|
-
var zCantonLikeTransactionData = z14.discriminatedUnion("type", [
|
|
209
|
-
zCantonLikeSendData,
|
|
210
|
-
zCantonLikeSendTokenData,
|
|
211
|
-
zCantonLikeWithdrawData,
|
|
212
|
-
zCantonLikeReceiveData,
|
|
213
|
-
zCantonLikePreApprovalData
|
|
214
|
-
]);
|
|
215
|
-
var zCantonLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
216
|
-
zCommonTransactionResponse.extend({ type: zCantonLikeTransactionType, reason: zCantonReason }).meta({ description: "Canton-like transaction" })
|
|
217
|
-
]);
|
|
218
|
-
|
|
219
|
-
// src/networks/canton/index.ts
|
|
220
|
-
var CANTON_SPEC = {
|
|
221
|
-
zAssetFields: zCantonLikeAssetFields,
|
|
222
|
-
zLiveData: zCantonLikeLiveData,
|
|
223
|
-
zTransactionType: zCantonLikeTransactionType,
|
|
224
|
-
zTransactionData: zCantonLikeTransactionData,
|
|
225
|
-
zSendTransactionData: zCantonLikeSendData,
|
|
226
|
-
zEstimatedFees: z14.never(),
|
|
227
|
-
zTransactionResponse: zCantonLikeTransactionResponse,
|
|
228
|
-
zStakingFields: z14.never()};
|
|
229
|
-
var zCardanoLikeAssetFields = z14.object({
|
|
230
|
-
type: z14.literal(NetworkFamily.CARDANO_LIKE).meta({ description: "Account type" }),
|
|
231
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
232
|
-
}).meta({ description: "Cardano-like" });
|
|
233
|
-
var zCardanoLikeStakingData = z14.object({
|
|
234
|
-
staked: z14.string().meta({ description: "Staked balance" })
|
|
235
|
-
}).nullable().meta({ description: "Cardano-like staking data" });
|
|
236
|
-
var zCardanoLikeStakingFields = z14.object({
|
|
237
|
-
type: z14.literal(NetworkFamily.CARDANO_LIKE).meta({ description: "Account type" }),
|
|
238
|
-
staking: zCardanoLikeStakingData.optional()
|
|
239
|
-
});
|
|
240
|
-
var zCardanoLikeLiveData = zCommonLiveData.extend(zCardanoLikeStakingFields.shape).meta({ description: "Cardano-like" });
|
|
241
|
-
var zCardanoLikeTransactionType = z14.enum([
|
|
242
|
-
"CARDANO_LIKE_SEND",
|
|
243
|
-
"CARDANO_LIKE_RECEIVE",
|
|
244
|
-
"CARDANO_LIKE_STAKING_REGISTER",
|
|
245
|
-
"CARDANO_LIKE_STAKING_DEREGISTER",
|
|
246
|
-
"CARDANO_LIKE_STAKING_DELEGATE",
|
|
247
|
-
"CARDANO_LIKE_STAKING_WITHDRAW"
|
|
248
|
-
]).meta({ description: "Cardano-like transaction type" });
|
|
249
|
-
var zCardanoLikeSendData = zCommonTransactionData.extend({
|
|
250
|
-
type: z14.literal(zCardanoLikeTransactionType.enum.CARDANO_LIKE_SEND),
|
|
251
|
-
feeStrategy: zFeeStrategy.meta({ description: "Cardano-like fee strategy" })
|
|
252
|
-
}).meta({
|
|
253
|
-
description: "Cardano-like send data",
|
|
254
|
-
id: "CardanoSendData"
|
|
255
|
-
});
|
|
256
|
-
var zCardanoStakingDelegateData = z14.object({
|
|
257
|
-
type: z14.literal(zCardanoLikeTransactionType.enum.CARDANO_LIKE_STAKING_DELEGATE),
|
|
258
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
259
|
-
// TODO: strict literal or enum?
|
|
260
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
261
|
-
feeStrategy: zFeeStrategy.meta({ description: "Cardano-like fee strategy" }),
|
|
262
|
-
// DELEGATE doesn't have neither amount nor recipient
|
|
263
|
-
stakePoolId: z14.string().min(1).max(100).meta({ description: "" })
|
|
264
|
-
}).meta({
|
|
265
|
-
description: "Cardano-like staking delegate",
|
|
266
|
-
id: "CardanoStakingDelegateData"
|
|
267
|
-
});
|
|
268
|
-
var zCardanoStakingDeregisterData = z14.object({
|
|
269
|
-
type: z14.literal(zCardanoLikeTransactionType.enum.CARDANO_LIKE_STAKING_DEREGISTER),
|
|
270
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
271
|
-
// TODO: strict literal or enum?
|
|
272
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
273
|
-
feeStrategy: zFeeStrategy.meta({ description: "Cardano-like fee strategy" }),
|
|
274
|
-
// DEREGISTER doesn't have a recipient
|
|
275
|
-
amount: zUnsignedIntString.meta({ description: "Amount to deregister" })
|
|
276
|
-
}).meta({
|
|
277
|
-
description: "Cardano-like staking deregister data",
|
|
278
|
-
id: "CardanoStakingDeregisterData"
|
|
279
|
-
});
|
|
280
|
-
var zCardanoStakingRegisterData = z14.object({
|
|
281
|
-
type: z14.literal(zCardanoLikeTransactionType.enum.CARDANO_LIKE_STAKING_REGISTER),
|
|
282
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
283
|
-
// TODO: strict literal or enum?
|
|
284
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
285
|
-
feeStrategy: zFeeStrategy.meta({ description: "Cardano-like fee strategy" }),
|
|
286
|
-
// REGISTER doesn't have a recipient
|
|
287
|
-
amount: zUnsignedIntString.meta({ description: "Amount to register" })
|
|
288
|
-
}).meta({
|
|
289
|
-
description: "Cardano-like staking register data",
|
|
290
|
-
id: "CardanoStakingRegisterData"
|
|
12
|
+
// src/__fakes__/trpc/inputs.ts
|
|
13
|
+
var genSignMessageInputData = (opts) => ({
|
|
14
|
+
message: {
|
|
15
|
+
type: "EIP191",
|
|
16
|
+
data: genHexString(10, "upper")
|
|
17
|
+
},
|
|
18
|
+
accountId: faker.string.uuid(),
|
|
19
|
+
...opts
|
|
291
20
|
});
|
|
292
|
-
var
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
|
|
21
|
+
var genCreateAccountData = (opts) => ({
|
|
22
|
+
name: genUniqueName(),
|
|
23
|
+
type: "BITCOIN_LIKE",
|
|
24
|
+
currency: "bitcoin",
|
|
25
|
+
contractAddress: null,
|
|
26
|
+
tokenIdentifier: null,
|
|
27
|
+
governance: {
|
|
28
|
+
type: "CLASSIC",
|
|
29
|
+
policy: { rules: [] }
|
|
30
|
+
},
|
|
31
|
+
index: 0,
|
|
32
|
+
derivationPath: "m/84'/0'/0'",
|
|
33
|
+
...opts
|
|
303
34
|
});
|
|
304
|
-
var
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
var zCardanoLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
312
|
-
zCommonTransactionResponse.extend({ type: zCardanoLikeTransactionType }).meta({ description: "Cardano-like transaction" })
|
|
313
|
-
]);
|
|
314
|
-
|
|
315
|
-
// src/networks/cardano/index.ts
|
|
316
|
-
var CARDANO_SPEC = {
|
|
317
|
-
zAssetFields: zCardanoLikeAssetFields,
|
|
318
|
-
zLiveData: zCardanoLikeLiveData,
|
|
319
|
-
zTransactionType: zCardanoLikeTransactionType,
|
|
320
|
-
zTransactionData: zCardanoLikeTransactionData,
|
|
321
|
-
zSendTransactionData: zCardanoLikeSendData,
|
|
322
|
-
zEstimatedFees: z14.never(),
|
|
323
|
-
zTransactionResponse: zCardanoLikeTransactionResponse,
|
|
324
|
-
zStakingFields: zCardanoLikeStakingFields};
|
|
325
|
-
var zEthereumLikeAssetFields = z14.object({
|
|
326
|
-
type: z14.literal(NetworkFamily.ETHEREUM_LIKE).meta({ description: "Account type" }),
|
|
327
|
-
address: z14.string().nullable().meta({ description: "Account address" }),
|
|
328
|
-
contractAddress: z14.string().nullable().meta({
|
|
329
|
-
description: "Will be deprecated, Use contractAddress at root level instead; Token contract address"
|
|
330
|
-
}).optional()
|
|
331
|
-
}).meta({ description: "Ethereum-like" });
|
|
332
|
-
var zEthereumLikeStakingData = z14.object({
|
|
333
|
-
totalStaking: z14.string().meta({ description: "Total staked amount" }),
|
|
334
|
-
totalRewards: z14.string().meta({ description: "Total of rewards" }),
|
|
335
|
-
availableRewards: z14.string().meta({ description: "Available rewards" }),
|
|
336
|
-
networkApy: z14.number().meta({ description: "Network APY" })
|
|
337
|
-
}).nullable().meta({ description: "Ethereum-like staking data" });
|
|
338
|
-
var zEthereumLikeStakingFields = z14.object({
|
|
339
|
-
type: z14.literal(NetworkFamily.ETHEREUM_LIKE).meta({ description: "Account type" }),
|
|
340
|
-
staking: zEthereumLikeStakingData.optional()
|
|
35
|
+
var genEditAccountData = (opts) => ({
|
|
36
|
+
name: genUniqueName(),
|
|
37
|
+
governance: {
|
|
38
|
+
type: "CLASSIC",
|
|
39
|
+
policy: { rules: [] }
|
|
40
|
+
},
|
|
41
|
+
...opts
|
|
341
42
|
});
|
|
342
|
-
var
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
var zEthereumLikeTransactionType = z14.enum([
|
|
353
|
-
...zEthereumLikeTransferTransactionType.options,
|
|
354
|
-
...zEthereumLikeContractTransactionType.options
|
|
355
|
-
]).meta({
|
|
356
|
-
description: "Ethereum-like transaction type"
|
|
43
|
+
var genEditTokenRuleData = (opts) => ({
|
|
44
|
+
parentAccountId: faker.string.uuid(),
|
|
45
|
+
contractAddress: faker.string.alphanumeric({ length: 44 }),
|
|
46
|
+
rules: [
|
|
47
|
+
{
|
|
48
|
+
operationType: "SEND",
|
|
49
|
+
reviewSteps: [{ quorum: 1, userIds: [] }]
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
...opts
|
|
357
53
|
});
|
|
358
|
-
var
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
maxPriorityFeePerGas: zUnsignedIntString.meta({ description: "Maximum priority fee per gas" }),
|
|
364
|
-
maxFeePerGas: zUnsignedIntString.meta({ description: "Maximum fee per gas (base + priority)" }),
|
|
365
|
-
gasLimit: zUnsignedIntString.meta({ description: "Gas limit" })
|
|
366
|
-
}).meta({ description: "Ethereum-like EIP-1559 fee strategy" });
|
|
367
|
-
var zEthereumLikeFeeStrategy = z14.union([zEthereumLikeLegacyFeeStrategy, zEthereumLikeEip1559FeeStrategy]).meta({
|
|
368
|
-
description: "Ethereum-like fee strategy",
|
|
369
|
-
id: "EthereumLikeFeeStrategy"
|
|
54
|
+
var genCreateApiKeyData = (opts) => ({
|
|
55
|
+
name: faker.company.name().slice(0, 19),
|
|
56
|
+
entities: [],
|
|
57
|
+
scopes: {},
|
|
58
|
+
...opts
|
|
370
59
|
});
|
|
371
|
-
var
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
feeStrategy: zEthereumLikeFeeStrategy
|
|
377
|
-
}).meta({
|
|
378
|
-
description: "Ethereum-like deploy contract data",
|
|
379
|
-
id: "EthereumLikeDeployContractData"
|
|
60
|
+
var genEditApiKeyData = (opts) => ({
|
|
61
|
+
name: faker.company.name().slice(0, 19),
|
|
62
|
+
entities: [],
|
|
63
|
+
scopes: {},
|
|
64
|
+
...opts
|
|
380
65
|
});
|
|
381
|
-
var
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
description: "Ethereum-like execute contract data",
|
|
387
|
-
id: "EthereumLikeExecuteContractData"
|
|
66
|
+
var genCreateEntityData = (opts) => ({
|
|
67
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
68
|
+
accountIds: [],
|
|
69
|
+
memberIds: [],
|
|
70
|
+
...opts
|
|
388
71
|
});
|
|
389
|
-
var
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
id: "EthereumLikeSendData"
|
|
72
|
+
var genEditEntityData = (opts) => ({
|
|
73
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
74
|
+
accountIds: [],
|
|
75
|
+
memberIds: [],
|
|
76
|
+
...opts
|
|
395
77
|
});
|
|
396
|
-
var
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
var zEthereumLikeTransferCoinFields = z14.object({
|
|
402
|
-
type: zEthereumLikeTransferTransactionType,
|
|
403
|
-
gasPrice: z14.string(),
|
|
404
|
-
gasLimit: z14.string(),
|
|
405
|
-
nonce: z14.string()
|
|
78
|
+
var genCreateGroupData = (opts) => ({
|
|
79
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
80
|
+
description: faker.lorem.sentence(),
|
|
81
|
+
members: [],
|
|
82
|
+
...opts
|
|
406
83
|
});
|
|
407
|
-
var
|
|
408
|
-
|
|
409
|
-
|
|
84
|
+
var genEditGroupData = (opts) => ({
|
|
85
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
86
|
+
description: faker.lorem.sentence(),
|
|
87
|
+
members: [],
|
|
88
|
+
...opts
|
|
410
89
|
});
|
|
411
|
-
var
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
zStakingFields: z14.never()};
|
|
455
|
-
|
|
456
|
-
// src/errors.ts
|
|
457
|
-
var ValidationError = class extends Error {
|
|
458
|
-
};
|
|
459
|
-
|
|
460
|
-
// src/sync-utils.ts
|
|
461
|
-
var GATE_SYNC_ID_PREFIX = "gate://";
|
|
462
|
-
var buildGateSyncId = (workspaceName, gateType, gateId) => {
|
|
463
|
-
if (gateId <= 0) {
|
|
464
|
-
throw new ValidationError(`Invalid gate ID: ${gateId}`);
|
|
90
|
+
var genSignMessageData = (opts) => {
|
|
91
|
+
const messageType = opts?.messageType ?? opts?.message?.type ?? "EIP191";
|
|
92
|
+
let message;
|
|
93
|
+
switch (messageType) {
|
|
94
|
+
case "EIP191":
|
|
95
|
+
message = {
|
|
96
|
+
type: "EIP191",
|
|
97
|
+
data: genHexString(10, "upper")
|
|
98
|
+
};
|
|
99
|
+
break;
|
|
100
|
+
case "EIP712":
|
|
101
|
+
message = {
|
|
102
|
+
type: "EIP712",
|
|
103
|
+
data: {
|
|
104
|
+
types: {
|
|
105
|
+
EIP712Domain: [
|
|
106
|
+
{ name: "name", type: "string" },
|
|
107
|
+
{ name: "version", type: "string" },
|
|
108
|
+
{ name: "chainId", type: "uint256" },
|
|
109
|
+
{ name: "verifyingContract", type: "address" }
|
|
110
|
+
],
|
|
111
|
+
PrimaryType: [
|
|
112
|
+
{ name: "a", type: "int256" },
|
|
113
|
+
{ name: "b", type: "bool" }
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
primaryType: "PrimaryType",
|
|
117
|
+
domain: {
|
|
118
|
+
name: "Test Domain",
|
|
119
|
+
version: "1",
|
|
120
|
+
chainId: 1,
|
|
121
|
+
verifyingContract: "0x1234567890123456789012345678901234567890"
|
|
122
|
+
},
|
|
123
|
+
message: {
|
|
124
|
+
a: faker.number.int({ min: 0, max: 1e3 }),
|
|
125
|
+
b: faker.datatype.boolean()
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
break;
|
|
130
|
+
case "CIP8":
|
|
131
|
+
case "BIP137":
|
|
132
|
+
throw new Error(`Unsupported message type in fakes: ${messageType}`);
|
|
465
133
|
}
|
|
466
|
-
return
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
const randomByte = Math.floor(Math.random() * 256);
|
|
474
|
-
return randomByte.toString(16).padStart(2, "0");
|
|
475
|
-
});
|
|
476
|
-
return hexBytes.join("").toUpperCase();
|
|
477
|
-
};
|
|
478
|
-
var genAuthUserId = () => randomHex(20);
|
|
479
|
-
var ensureNonEmptyArray = (values, message) => {
|
|
480
|
-
invariant5(
|
|
481
|
-
values.length > 0,
|
|
482
|
-
`Expected non-empty array but got one with length ${values.length}`
|
|
483
|
-
);
|
|
484
|
-
return values;
|
|
134
|
+
return {
|
|
135
|
+
message,
|
|
136
|
+
accountId: faker.string.uuid(),
|
|
137
|
+
address: faker.finance.ethereumAddress(),
|
|
138
|
+
derivationPath: "44'/60'/0'/0/0",
|
|
139
|
+
...opts
|
|
140
|
+
};
|
|
485
141
|
};
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
type: z14.literal(NetworkFamily.HEDERA_LIKE),
|
|
496
|
-
fee: zIntString
|
|
497
|
-
}).meta({ description: "Hedera-like fees" });
|
|
498
|
-
var zHederaLikeTransactionType = z14.enum([
|
|
499
|
-
"HEDERA_LIKE_SEND",
|
|
500
|
-
"HEDERA_LIKE_RECEIVE",
|
|
501
|
-
"HEDERA_LIKE_SEND_TOKEN",
|
|
502
|
-
"HEDERA_LIKE_RECEIVE_TOKEN",
|
|
503
|
-
"HEDERA_LIKE_STAKE",
|
|
504
|
-
"HEDERA_LIKE_UNSTAKE"
|
|
505
|
-
]).meta({ description: "Hedera-like transaction type" });
|
|
506
|
-
var zHederaLikeStakingData = z14.object({
|
|
507
|
-
totalStaked: z14.string().meta({ description: "Total staked amount" }),
|
|
508
|
-
totalRewards: z14.string().meta({ description: "Total of rewards" })
|
|
509
|
-
}).nullable().meta({ description: "Hedera-like staking data" });
|
|
510
|
-
var zHederaLikeStakingFields = z14.object({
|
|
511
|
-
type: z14.literal(NetworkFamily.HEDERA_LIKE).meta({ description: "Account type" }),
|
|
512
|
-
staking: zHederaLikeStakingData.optional()
|
|
513
|
-
});
|
|
514
|
-
var zHederaLikeLiveData = zCommonLiveData.extend(zHederaLikeStakingFields.shape).meta({ description: "Hedera-like" });
|
|
515
|
-
var zHederaLikeSendData = zCommonTransactionData.extend({
|
|
516
|
-
type: z14.literal(zHederaLikeTransactionType.enum.HEDERA_LIKE_SEND),
|
|
517
|
-
feeStrategy: zFeeStrategy
|
|
518
|
-
}).meta({
|
|
519
|
-
description: "Hedera-like send data",
|
|
520
|
-
id: "HederaLikeSendData"
|
|
521
|
-
});
|
|
522
|
-
var zHederaLikeSendTokenData = zCommonTransactionData.extend({
|
|
523
|
-
type: z14.literal(zHederaLikeTransactionType.enum.HEDERA_LIKE_SEND_TOKEN),
|
|
524
|
-
feeStrategy: zFeeStrategy
|
|
525
|
-
}).meta({
|
|
526
|
-
description: "Hedera-like send token data",
|
|
527
|
-
id: "HederaLikeSendTokenData"
|
|
528
|
-
});
|
|
529
|
-
var zHederaLikeStakeData = z14.object({
|
|
530
|
-
type: z14.literal(zHederaLikeTransactionType.enum.HEDERA_LIKE_STAKE),
|
|
531
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
532
|
-
nodeId: zIntString.meta({ description: "Node ID to delegate to" }),
|
|
533
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
534
|
-
feeStrategy: zFeeStrategy
|
|
535
|
-
}).meta({
|
|
536
|
-
description: "Hedera-like stake data",
|
|
537
|
-
id: "HederaLikeStakeData"
|
|
538
|
-
});
|
|
539
|
-
var zHederaLikeTransactionData = z14.discriminatedUnion("type", [
|
|
540
|
-
zHederaLikeSendData,
|
|
541
|
-
zHederaLikeSendTokenData,
|
|
542
|
-
zHederaLikeStakeData
|
|
543
|
-
]);
|
|
544
|
-
var zHederaLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
545
|
-
zCommonTransactionResponse.extend({
|
|
546
|
-
type: zHederaLikeTransactionType
|
|
547
|
-
}).meta({ description: "Hedera-like transaction" })
|
|
548
|
-
]);
|
|
549
|
-
|
|
550
|
-
// src/networks/hedera/index.ts
|
|
551
|
-
var HEDERA_SPEC = {
|
|
552
|
-
zAssetFields: zHederaLikeAssetFields,
|
|
553
|
-
zLiveData: zHederaLikeLiveData,
|
|
554
|
-
zTransactionType: zHederaLikeTransactionType,
|
|
555
|
-
zTransactionData: zHederaLikeTransactionData,
|
|
556
|
-
zSendTransactionData: zHederaLikeSendData,
|
|
557
|
-
zEstimatedFees: zHederaLikeEstimatedFees,
|
|
558
|
-
zTransactionResponse: zHederaLikeTransactionResponse,
|
|
559
|
-
zStakingFields: zHederaLikeStakingFields};
|
|
560
|
-
var zPolkadotLikeAssetFields = z14.object({
|
|
561
|
-
type: z14.literal(NetworkFamily.POLKADOT_LIKE).meta({ description: "Account type" }),
|
|
562
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
563
|
-
}).meta({ description: "Polkadot-like" });
|
|
564
|
-
var zPolkadotUnbondingAmount = z14.object({
|
|
565
|
-
amount: z14.string().meta({ description: "Amount" }),
|
|
566
|
-
waiting_time: z14.string().meta({ description: "Waiting time" })
|
|
567
|
-
});
|
|
568
|
-
var zPolkadotLikeStakingData = z14.object({
|
|
569
|
-
info: z14.object({
|
|
570
|
-
controllerAddress: z14.string().nullable().meta({ description: "Controller address" }),
|
|
571
|
-
rewardsDestination: z14.string().nullable().meta({ description: "Rewards destination" }),
|
|
572
|
-
proxies: z14.array(z14.string()).meta({ description: "Proxies" }),
|
|
573
|
-
legacyStaking: z14.boolean().meta({ description: "True if account uses legacy staking" }),
|
|
574
|
-
isNominator: z14.boolean().meta({ description: "True if is nominator" })
|
|
575
|
-
}),
|
|
576
|
-
balances: z14.object({
|
|
577
|
-
free: z14.string().meta({ description: "Free balance" }),
|
|
578
|
-
reserved: z14.string().meta({ description: "Reserved balance" }),
|
|
579
|
-
frozen: z14.string().meta({ description: "Frozen balance" }),
|
|
580
|
-
bonded: z14.string().meta({ description: "Bonded balance" }),
|
|
581
|
-
available: z14.string().meta({ description: "Available balance" }),
|
|
582
|
-
unbonding: z14.array(zPolkadotUnbondingAmount).meta({ description: "Unbonding balances" }),
|
|
583
|
-
unbonded: z14.array(zPolkadotUnbondingAmount).meta({ description: "Unbonded balances" }),
|
|
584
|
-
totalUnbonding: z14.string().meta({ description: "Total unbonding" }),
|
|
585
|
-
totalUnbonded: z14.string().meta({ description: "Total unbonded" })
|
|
586
|
-
}),
|
|
587
|
-
anonymousProxy: z14.object({
|
|
588
|
-
address: z14.string().meta({ description: "Address" }),
|
|
589
|
-
createdAt: z14.string().meta({ description: "Creation date" }),
|
|
590
|
-
isController: z14.boolean().meta({ description: "True if is controller" }),
|
|
591
|
-
isMain: z14.boolean().meta({ description: "True if is main" }),
|
|
592
|
-
balances: z14.object({
|
|
593
|
-
free: z14.string().meta({ description: "Anonymous proxy free balance" }),
|
|
594
|
-
reserved: z14.string().meta({ description: "Anonymous proxy reserved balance" }),
|
|
595
|
-
frozen: z14.string().meta({ description: "Anonymous proxy frozen balance" }),
|
|
596
|
-
bonded: z14.string().meta({ description: "Anonymous proxy bonded balance" }),
|
|
597
|
-
available: z14.string().meta({ description: "Anonymous proxy available balance" }),
|
|
598
|
-
total: z14.string().meta({ description: "Anonymous proxy total balance" })
|
|
599
|
-
}).nullable(),
|
|
600
|
-
blockHeight: z14.string().meta({ description: "Anonymous proxy block height" }),
|
|
601
|
-
extIndex: z14.string().meta({ description: "Ext index" }),
|
|
602
|
-
index: z14.string().meta({ description: "Index" }),
|
|
603
|
-
kind: z14.string().meta({ description: "Kind" })
|
|
604
|
-
}).nullable().meta({ description: "Anonymous proxy" })
|
|
605
|
-
}).nullable().meta({ description: "Polkadot-like staking data" });
|
|
606
|
-
var zPolkadotLikeStakingFields = z14.object({
|
|
607
|
-
type: z14.literal(NetworkFamily.POLKADOT_LIKE).meta({ description: "Account type" }),
|
|
608
|
-
staking: zPolkadotLikeStakingData.optional()
|
|
609
|
-
});
|
|
610
|
-
var zPolkadotLikeLiveData = zCommonLiveData.extend(zPolkadotLikeStakingFields.shape).meta({ description: "Polkadot-like" });
|
|
611
|
-
var zPolkadotLikeTransactionType = z14.enum([
|
|
612
|
-
"POLKADOT_LIKE_SEND",
|
|
613
|
-
"POLKADOT_LIKE_RECEIVE",
|
|
614
|
-
"POLKADOT_LIKE_ADDPROXY",
|
|
615
|
-
"POLKADOT_LIKE_REMOVEPROXY",
|
|
616
|
-
"POLKADOT_LIKE_BOND",
|
|
617
|
-
"POLKADOT_LIKE_REBOND",
|
|
618
|
-
"POLKADOT_LIKE_BONDEXTRA",
|
|
619
|
-
"POLKADOT_LIKE_UNBOND",
|
|
620
|
-
"POLKADOT_LIKE_WITHDRAWUNBONDED",
|
|
621
|
-
"POLKADOT_LIKE_SETCONTROLLER",
|
|
622
|
-
"POLKADOT_LIKE_SETPAYEE",
|
|
623
|
-
"POLKADOT_LIKE_PROXY",
|
|
624
|
-
"POLKADOT_LIKE_ANONYMOUSPROXY",
|
|
625
|
-
"POLKADOT_LIKE_KILLANONYMOUS",
|
|
626
|
-
"POLKADOT_LIKE_PUREPROXY",
|
|
627
|
-
"POLKADOT_LIKE_KILLPURE",
|
|
628
|
-
"POLKADOT_LIKE_NOMINATE",
|
|
629
|
-
"POLKADOT_LIKE_REWARD",
|
|
630
|
-
"POLKADOT_LIKE_CHILL",
|
|
631
|
-
"POLKADOT_LIKE_TRANSFERALL"
|
|
632
|
-
]).meta({ description: "Polkadot-like transaction type" });
|
|
633
|
-
var zPolkadotRewardDestination = z14.enum(["Staked", "Stash"]);
|
|
634
|
-
var zPolkadotLikeAddProxyData = z14.object({
|
|
635
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_ADDPROXY),
|
|
636
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
637
|
-
kind: z14.literal("Staking").meta({ description: "Proxy kind" }),
|
|
638
|
-
proxy: z14.string().meta({ description: "Proxy address" })
|
|
639
|
-
}).meta({
|
|
640
|
-
description: "Polkadot-like add proxy data",
|
|
641
|
-
id: "PolkadotLikeAddProxyData"
|
|
642
|
-
});
|
|
643
|
-
var zPolkadotLikeAnonymousProxyData = z14.object({
|
|
644
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_ANONYMOUSPROXY),
|
|
645
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" })
|
|
646
|
-
}).meta({
|
|
647
|
-
description: "Polkadot-like anonymous proxy data",
|
|
648
|
-
id: "PolkadotLikeAnonymousProxyData"
|
|
649
|
-
});
|
|
650
|
-
var zPolkadotLikeBondData = z14.object({
|
|
651
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_BOND),
|
|
652
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
653
|
-
payee: zPolkadotRewardDestination,
|
|
654
|
-
amount: zUnsignedIntString.meta({ description: "Amount" })
|
|
655
|
-
}).meta({
|
|
656
|
-
description: "Polkadot-like bond data",
|
|
657
|
-
id: "PolkadotLikeBondData"
|
|
658
|
-
});
|
|
659
|
-
var zPolkadotLikeBondExtraData = z14.object({
|
|
660
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_BONDEXTRA),
|
|
661
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
662
|
-
amount: zUnsignedIntString.meta({ description: "Amount" })
|
|
663
|
-
}).meta({
|
|
664
|
-
description: "Polkadot-like bond extra data",
|
|
665
|
-
id: "PolkadotLikeBondExtraData"
|
|
666
|
-
});
|
|
667
|
-
var zPolkadotLikeChillData = z14.object({
|
|
668
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_CHILL),
|
|
669
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" })
|
|
670
|
-
}).meta({
|
|
671
|
-
description: "Polkadot-like chill data",
|
|
672
|
-
id: "PolkadotLikeChillData"
|
|
673
|
-
});
|
|
674
|
-
var zPolkadotLikeKillAnonymousData = z14.object({
|
|
675
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_KILLANONYMOUS),
|
|
676
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" })
|
|
677
|
-
}).meta({
|
|
678
|
-
description: "Polkadot-like kill anonymous data",
|
|
679
|
-
id: "PolkadotLikeKillAnonymousData"
|
|
680
|
-
});
|
|
681
|
-
var zPolkadotLikeRebondData = z14.object({
|
|
682
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_REBOND),
|
|
683
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
684
|
-
amount: zUnsignedIntString.meta({ description: "Amount" })
|
|
685
|
-
}).meta({
|
|
686
|
-
description: "Polkadot-like rebond data",
|
|
687
|
-
id: "PolkadotLikeRebondData"
|
|
688
|
-
});
|
|
689
|
-
var zPolkadotLikeRemoveProxyData = z14.object({
|
|
690
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_REMOVEPROXY),
|
|
691
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
692
|
-
kind: z14.literal("Staking"),
|
|
693
|
-
proxy: z14.string().meta({ description: "Proxy address" })
|
|
694
|
-
}).meta({
|
|
695
|
-
description: "Polkadot-like remove proxy data",
|
|
696
|
-
id: "PolkadotLikeRemoveProxyData"
|
|
697
|
-
});
|
|
698
|
-
var zPolkadotLikeSendData = zCommonTransactionData.extend({
|
|
699
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_SEND)
|
|
700
|
-
}).meta({
|
|
701
|
-
description: "Polkadot-like send data",
|
|
702
|
-
id: "PolkadotLikeSendData"
|
|
703
|
-
});
|
|
704
|
-
var zPolkadotLikeSetPayeeData = z14.object({
|
|
705
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_SETPAYEE),
|
|
706
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
707
|
-
payee: zPolkadotRewardDestination
|
|
708
|
-
}).meta({
|
|
709
|
-
description: "Polkadot-like set payee data",
|
|
710
|
-
id: "PolkadotLikeSetPayeeData"
|
|
711
|
-
});
|
|
712
|
-
var zPolkadotLikeUnbondData = z14.object({
|
|
713
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_UNBOND),
|
|
714
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
715
|
-
amount: zUnsignedIntString.meta({ description: "Amount" })
|
|
716
|
-
}).meta({
|
|
717
|
-
description: "Polkadot-like unbond data",
|
|
718
|
-
id: "PolkadotLikeUnbondData"
|
|
719
|
-
});
|
|
720
|
-
var zPolkadotLikeWithdrawUnbondedData = z14.object({
|
|
721
|
-
type: z14.literal(zPolkadotLikeTransactionType.enum.POLKADOT_LIKE_WITHDRAWUNBONDED),
|
|
722
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" })
|
|
723
|
-
}).meta({
|
|
724
|
-
description: "Polkadot-like withdraw unbonded data",
|
|
725
|
-
id: "PolkadotLikeWithdrawUnbondedData"
|
|
726
|
-
});
|
|
727
|
-
var zPolkadotLikeTransactionData = z14.discriminatedUnion("type", [
|
|
728
|
-
zPolkadotLikeAddProxyData,
|
|
729
|
-
zPolkadotLikeAnonymousProxyData,
|
|
730
|
-
zPolkadotLikeBondData,
|
|
731
|
-
zPolkadotLikeBondExtraData,
|
|
732
|
-
zPolkadotLikeChillData,
|
|
733
|
-
zPolkadotLikeKillAnonymousData,
|
|
734
|
-
zPolkadotLikeRebondData,
|
|
735
|
-
zPolkadotLikeRemoveProxyData,
|
|
736
|
-
zPolkadotLikeSendData,
|
|
737
|
-
zPolkadotLikeSetPayeeData,
|
|
738
|
-
zPolkadotLikeUnbondData,
|
|
739
|
-
zPolkadotLikeWithdrawUnbondedData
|
|
740
|
-
]);
|
|
741
|
-
var zPolkadotLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
742
|
-
zCommonTransactionResponse.extend({ type: zPolkadotLikeTransactionType }).meta({ description: "Polkadot-like transaction" })
|
|
743
|
-
]);
|
|
744
|
-
|
|
745
|
-
// src/networks/polkadot/index.ts
|
|
746
|
-
var POLKADOT_SPEC = {
|
|
747
|
-
zAssetFields: zPolkadotLikeAssetFields,
|
|
748
|
-
zLiveData: zPolkadotLikeLiveData,
|
|
749
|
-
zTransactionType: zPolkadotLikeTransactionType,
|
|
750
|
-
zTransactionData: zPolkadotLikeTransactionData,
|
|
751
|
-
zSendTransactionData: zPolkadotLikeSendData,
|
|
752
|
-
zEstimatedFees: z14.never(),
|
|
753
|
-
zTransactionResponse: zPolkadotLikeTransactionResponse,
|
|
754
|
-
zStakingFields: zPolkadotLikeStakingFields};
|
|
755
|
-
var zRippleLikeAssetFields = z14.object({
|
|
756
|
-
type: z14.literal(NetworkFamily.RIPPLE_LIKE).meta({ description: "Account type" }),
|
|
757
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
758
|
-
}).meta({ description: "Ripple-like" });
|
|
759
|
-
var zRippleLikeLiveData = zCommonLiveData.extend({
|
|
760
|
-
type: z14.literal(NetworkFamily.RIPPLE_LIKE).meta({ description: "Account type" })
|
|
761
|
-
}).meta({ description: "Ripple-like" });
|
|
762
|
-
var zRippleLikeEstimatedFees = z14.object({
|
|
763
|
-
type: z14.literal(NetworkFamily.RIPPLE_LIKE),
|
|
764
|
-
fee: zIntString
|
|
765
|
-
}).meta({ description: "Ripple-like fees" });
|
|
766
|
-
var zRippleLikeTransactionType = z14.enum(["RIPPLE_LIKE_SEND", "RIPPLE_LIKE_RECEIVE"]).meta({ description: "Ripple-like transaction type" });
|
|
767
|
-
var zRippleLikeSendData = zCommonTransactionData.extend({
|
|
768
|
-
type: z14.literal(zRippleLikeTransactionType.enum.RIPPLE_LIKE_SEND),
|
|
769
|
-
destinationTag: zIntString.nullable().meta({ description: "Destination tag" }),
|
|
770
|
-
feeStrategy: zFeeStrategyCustom.meta({ description: "Ripple-like fee strategy" })
|
|
771
|
-
}).meta({
|
|
772
|
-
description: "Ripple-like send data",
|
|
773
|
-
id: "RippleLikeSendData"
|
|
774
|
-
});
|
|
775
|
-
var zRippleLikeTransactionData = z14.discriminatedUnion("type", [zRippleLikeSendData]);
|
|
776
|
-
var zRippleLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
777
|
-
zCommonTransactionResponse.extend({
|
|
778
|
-
type: zRippleLikeTransactionType,
|
|
779
|
-
memos: z14.array(z14.string()),
|
|
780
|
-
destinationTag: z14.string()
|
|
781
|
-
}).meta({ description: "Ripple-like transaction" })
|
|
782
|
-
]);
|
|
783
|
-
|
|
784
|
-
// src/networks/ripple/index.ts
|
|
785
|
-
var RIPPLE_SPEC = {
|
|
786
|
-
zAssetFields: zRippleLikeAssetFields,
|
|
787
|
-
zLiveData: zRippleLikeLiveData,
|
|
788
|
-
zTransactionType: zRippleLikeTransactionType,
|
|
789
|
-
zTransactionData: zRippleLikeTransactionData,
|
|
790
|
-
zSendTransactionData: zRippleLikeSendData,
|
|
791
|
-
zEstimatedFees: zRippleLikeEstimatedFees,
|
|
792
|
-
zTransactionResponse: zRippleLikeTransactionResponse,
|
|
793
|
-
zStakingFields: z14.never()};
|
|
794
|
-
var zSolanaLikeAssetFields = z14.object({
|
|
795
|
-
type: z14.literal(NetworkFamily.SOLANA_LIKE).meta({ description: "Account type" }),
|
|
796
|
-
address: z14.string().nullable().meta({ description: "Account address" }),
|
|
797
|
-
contractAddress: z14.string().meta({
|
|
798
|
-
description: "Will be deprecated, Use contractAddress at root level instead; Token contract address"
|
|
799
|
-
}).nullable().optional()
|
|
800
|
-
}).meta({ description: "Solana-like" });
|
|
801
|
-
var zSolanaStakingAccountStatus = z14.enum(["not_sync", "activating", "activated", "deactivating", "deactivated", "deleted"]).meta({ description: "Staking account status" });
|
|
802
|
-
var zSolanaLikeStakingData = z14.object({
|
|
803
|
-
staked: z14.string().meta({ description: "Staked balance" }),
|
|
804
|
-
rewards: z14.object({
|
|
805
|
-
total: z14.string().meta({ description: "Total rewards" }),
|
|
806
|
-
last7: z14.string().meta({ description: "Rewards on last 7 days" }),
|
|
807
|
-
last30: z14.string().meta({ description: "Rewards on last 30 days" })
|
|
808
|
-
}),
|
|
809
|
-
stakes: z14.array(
|
|
810
|
-
z14.object({
|
|
811
|
-
uid: z14.string(),
|
|
812
|
-
baseAccountUid: z14.string(),
|
|
813
|
-
pubKey: z14.string().meta({ description: "Public key" }),
|
|
814
|
-
validatorPubKey: z14.string().nullable().meta({ description: "Validator public key" }),
|
|
815
|
-
initialAmount: z14.string().meta({ description: "Initial amount" }),
|
|
816
|
-
activeAmount: z14.string().meta({ description: "Active amount" }),
|
|
817
|
-
inactiveAmount: z14.string().meta({ description: "Inactive amount" }),
|
|
818
|
-
totalBalance: z14.string().meta({ description: "Total balance" }),
|
|
819
|
-
creationDate: z14.string().meta({ description: "Creation date" }),
|
|
820
|
-
activationEpoch: z14.string().nullable().meta({ description: "Activation epoch" }),
|
|
821
|
-
activationDate: z14.string().nullable().meta({ description: "Activation date" }),
|
|
822
|
-
deactivationEpoch: z14.string().nullable().meta({ description: "Deactivation epoch" }),
|
|
823
|
-
deactivationDate: z14.string().nullable().meta({ description: "Deactivation date" }),
|
|
824
|
-
status: zSolanaStakingAccountStatus,
|
|
825
|
-
rentExemptReserve: z14.string().meta({ description: "Rent exempt reserve" }),
|
|
826
|
-
withdrawableAmount: z14.string().meta({ description: "Withdrawable amount" }),
|
|
827
|
-
totalRewards: z14.string().meta({ description: "Total rewards" }),
|
|
828
|
-
creationTxHash: z14.string().nullable().meta({ description: "Creation transaction hash" }),
|
|
829
|
-
actionsTxHashes: z14.array(z14.string()).meta({ description: "Actions transactions hashes" })
|
|
830
|
-
})
|
|
831
|
-
)
|
|
832
|
-
}).nullable().meta({ description: "Solana-like staking data" });
|
|
833
|
-
var zSolanaLikeStakingFields = z14.object({
|
|
834
|
-
type: z14.literal(NetworkFamily.SOLANA_LIKE).meta({ description: "Account type" }),
|
|
835
|
-
staking: zSolanaLikeStakingData.optional()
|
|
836
|
-
});
|
|
837
|
-
var zSolanaLikeLiveData = zCommonLiveData.extend(zSolanaLikeStakingFields.shape).meta({ description: "Solana-like" });
|
|
838
|
-
var zSolanaLikeTransactionType = z14.enum([
|
|
839
|
-
"SOLANA_LIKE_SEND",
|
|
840
|
-
"SOLANA_LIKE_RECEIVE",
|
|
841
|
-
"SOLANA_LIKE_CREATE_DELEGATE_STAKE",
|
|
842
|
-
"SOLANA_LIKE_DELEGATE_STAKE",
|
|
843
|
-
"SOLANA_LIKE_WITHDRAW_STAKE",
|
|
844
|
-
"SOLANA_LIKE_DEACTIVATE_STAKE",
|
|
845
|
-
"SOLANA_LIKE_SPLIT_STAKE",
|
|
846
|
-
"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE",
|
|
847
|
-
"SOLANA_LIKE_MERGE_STAKE",
|
|
848
|
-
"SOLANA_LIKE_SEND_TOKEN",
|
|
849
|
-
"SOLANA_LIKE_FUND_AND_SEND_TOKEN",
|
|
850
|
-
"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT"
|
|
851
|
-
]).meta({ description: "Solana-like transaction type" });
|
|
852
|
-
var zSolanaLikeCreateDelegateStakeData = zCommonTransactionData.extend({
|
|
853
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_CREATE_DELEGATE_STAKE),
|
|
854
|
-
recipient: z14.string().meta({ description: "Delegated vote address" }),
|
|
855
|
-
// Re-described
|
|
856
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
857
|
-
}).meta({
|
|
858
|
-
description: "Solana-like create delegate stake data",
|
|
859
|
-
id: "SolanaLikeCreateDelegateStakeData"
|
|
860
|
-
});
|
|
861
|
-
var zSolanaLikeDeactivateStakeData = z14.object({
|
|
862
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_DEACTIVATE_STAKE),
|
|
863
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
864
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
865
|
-
stakeAccount: z14.string().meta({ description: "Stake account address" }),
|
|
866
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
867
|
-
// No recipient, no amount
|
|
868
|
-
}).meta({
|
|
869
|
-
description: "Solana-like deactivate stake data",
|
|
870
|
-
id: "SolanaLikeDeactivateStakeData"
|
|
871
|
-
});
|
|
872
|
-
var zSolanaLikeDelegateStakeData = z14.object({
|
|
873
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_DELEGATE_STAKE),
|
|
874
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
875
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
876
|
-
recipient: z14.string().meta({ description: "Delegated vote address" }),
|
|
877
|
-
stakeAccount: z14.string().meta({ description: "Stake account address" }),
|
|
878
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
879
|
-
// No amount
|
|
880
|
-
}).meta({
|
|
881
|
-
description: "Solana-like delegate stake data",
|
|
882
|
-
id: "SolanaLikeDelegateStakeData"
|
|
883
|
-
});
|
|
884
|
-
var zSolanaLikeMergeStakeData = z14.object({
|
|
885
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_MERGE_STAKE),
|
|
886
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
887
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
888
|
-
mergeSrcAccount: z14.string().meta({ description: "Source stake address" }),
|
|
889
|
-
mergeDstAccount: z14.string().meta({ description: "Destination stake address" }),
|
|
890
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
891
|
-
// No recipient, no amount
|
|
892
|
-
}).meta({
|
|
893
|
-
description: "Solana-like merge stake data",
|
|
894
|
-
id: "SolanaLikeMergeStakeData"
|
|
895
|
-
});
|
|
896
|
-
var zSolanaLikeSendData = zCommonTransactionData.extend({
|
|
897
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_SEND),
|
|
898
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
899
|
-
}).meta({
|
|
900
|
-
description: "Solana-like send data",
|
|
901
|
-
id: "SolanaLikeSendData"
|
|
902
|
-
});
|
|
903
|
-
var zSolanaLikeSplitDeactivateStakeData = z14.object({
|
|
904
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE),
|
|
905
|
-
amount: zUnsignedIntString.meta({ description: "Transaction amount" }),
|
|
906
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
907
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
908
|
-
stakeAccount: z14.string().meta({ description: "Stake account address" }),
|
|
909
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
910
|
-
// No recipient
|
|
911
|
-
}).meta({
|
|
912
|
-
description: "Solana-like split deactivate stake data",
|
|
913
|
-
id: "SolanaLikeSplitDeactivateStakeData"
|
|
914
|
-
});
|
|
915
|
-
var zSolanaLikeSplitStakeData = z14.object({
|
|
916
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_SPLIT_STAKE),
|
|
917
|
-
amount: zUnsignedIntString.meta({ description: "Transaction amount" }),
|
|
918
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
919
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
920
|
-
stakeAccount: z14.string().meta({ description: "Stake account address" }),
|
|
921
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
922
|
-
// No recipient
|
|
923
|
-
}).meta({
|
|
924
|
-
description: "Solana-like split stake data",
|
|
925
|
-
id: "SolanaLikeSplitStakeData"
|
|
926
|
-
});
|
|
927
|
-
var zSolanaLikeWithdrawStakeData = z14.object({
|
|
928
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_WITHDRAW_STAKE),
|
|
929
|
-
amount: zUnsignedIntString.meta({ description: "Transaction amount" }),
|
|
930
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
931
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
932
|
-
stakeAccount: z14.string().meta({ description: "Stake account address" }),
|
|
933
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
934
|
-
// No recipient
|
|
935
|
-
}).meta({
|
|
936
|
-
description: "Solana-like withdraw stake data",
|
|
937
|
-
id: "SolanaLikeWithdrawStakeData"
|
|
938
|
-
});
|
|
939
|
-
var zSolanaLikeSendTokenData = zCommonTransactionData.extend({
|
|
940
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_SEND_TOKEN),
|
|
941
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
942
|
-
}).meta({
|
|
943
|
-
description: "Solana-like send token data",
|
|
944
|
-
id: "SolanaLikeSendTokenData"
|
|
945
|
-
});
|
|
946
|
-
var zSolanaLikeFundAndSendTokenData = zCommonTransactionData.extend({
|
|
947
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_FUND_AND_SEND_TOKEN),
|
|
948
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
949
|
-
}).meta({
|
|
950
|
-
description: "Solana-like fund token account and send token data",
|
|
951
|
-
id: "SolanaLikeFundAndSendTokenData"
|
|
952
|
-
});
|
|
953
|
-
var zSolanaLikeCreateTokenAccountData = z14.object({
|
|
954
|
-
type: z14.literal(zSolanaLikeTransactionType.enum.SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT),
|
|
955
|
-
currency: zCurrencyString.meta({ description: "Transaction currency" }),
|
|
956
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
957
|
-
feeStrategy: zFeeStrategy.meta({ description: "Solana-like fee strategy" })
|
|
958
|
-
}).meta({
|
|
959
|
-
description: "Solana-like create token account",
|
|
960
|
-
id: "SolanaLikeCreateTokenAccountData"
|
|
961
|
-
});
|
|
962
|
-
var zSolanaLikeTransactionData = z14.discriminatedUnion("type", [
|
|
963
|
-
zSolanaLikeCreateDelegateStakeData,
|
|
964
|
-
zSolanaLikeDeactivateStakeData,
|
|
965
|
-
zSolanaLikeDelegateStakeData,
|
|
966
|
-
zSolanaLikeMergeStakeData,
|
|
967
|
-
zSolanaLikeSendData,
|
|
968
|
-
zSolanaLikeSplitDeactivateStakeData,
|
|
969
|
-
zSolanaLikeSplitStakeData,
|
|
970
|
-
zSolanaLikeWithdrawStakeData,
|
|
971
|
-
zSolanaLikeSendTokenData,
|
|
972
|
-
zSolanaLikeFundAndSendTokenData,
|
|
973
|
-
zSolanaLikeCreateTokenAccountData
|
|
974
|
-
]);
|
|
975
|
-
var zSolanaLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
976
|
-
zCommonTransactionResponse.extend({ type: zSolanaLikeTransactionType }).meta({ description: "Solana-like transaction" })
|
|
977
|
-
]);
|
|
978
|
-
|
|
979
|
-
// src/networks/solana/index.ts
|
|
980
|
-
var SOLANA_SPEC = {
|
|
981
|
-
zAssetFields: zSolanaLikeAssetFields,
|
|
982
|
-
zLiveData: zSolanaLikeLiveData,
|
|
983
|
-
zTransactionType: zSolanaLikeTransactionType,
|
|
984
|
-
zTransactionData: zSolanaLikeTransactionData,
|
|
985
|
-
zSendTransactionData: zSolanaLikeSendData,
|
|
986
|
-
zEstimatedFees: z14.never(),
|
|
987
|
-
zTransactionResponse: zSolanaLikeTransactionResponse,
|
|
988
|
-
zStakingFields: zSolanaLikeStakingFields};
|
|
989
|
-
var zStellarLikeAssetFields = z14.object({
|
|
990
|
-
type: z14.literal(NetworkFamily.STELLAR_LIKE).meta({ description: "Account type" }),
|
|
991
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
992
|
-
}).meta({ description: "Stellar-like" });
|
|
993
|
-
var zStellarLikeLiveData = zCommonLiveData.extend({
|
|
994
|
-
type: z14.literal(NetworkFamily.STELLAR_LIKE).meta({ description: "Account type" })
|
|
995
|
-
}).meta({ description: "Stellar-like" });
|
|
996
|
-
var zStellarLikeEstimatedFees = z14.object({
|
|
997
|
-
type: z14.literal(NetworkFamily.STELLAR_LIKE),
|
|
998
|
-
fee: zIntString
|
|
999
|
-
}).meta({ description: "Stellar-like fees" });
|
|
1000
|
-
var zStellarLikeTransactionType = z14.enum(["STELLAR_LIKE_SEND", "STELLAR_LIKE_RECEIVE"]).meta({ description: "Stellar-like transaction type" });
|
|
1001
|
-
var zStellarMemo = z14.discriminatedUnion("type", [
|
|
1002
|
-
z14.object({
|
|
1003
|
-
type: z14.literal("MEMO_TEXT"),
|
|
1004
|
-
value: z14.string().max(28).meta({ description: "Text memo (at most a 28 bytes string)" })
|
|
1005
|
-
}).meta({ description: "Text memo" }),
|
|
1006
|
-
z14.object({
|
|
1007
|
-
type: z14.literal("MEMO_ID"),
|
|
1008
|
-
value: zIntString.meta({ description: "Id memo (unsigned 64 bits integer)" })
|
|
1009
|
-
}).meta({ description: "Id memo" }),
|
|
1010
|
-
z14.object({
|
|
1011
|
-
type: z14.literal("MEMO_HASH"),
|
|
1012
|
-
value: z14.string().max(128).regex(/^[a-fA-F0-9]+$/).meta({ description: "Transaction hash memo (64 bytes hexadecimal string)" })
|
|
1013
|
-
}).meta({ description: "Hash memo" }),
|
|
1014
|
-
z14.object({
|
|
1015
|
-
type: z14.literal("MEMO_RETURN"),
|
|
1016
|
-
value: z14.string().max(128).regex(/^[a-fA-F0-9]+$/).meta({
|
|
1017
|
-
description: "A 64 bytes hexadecimal string intended to be interpreted as the hash of the transaction the sender is refunding."
|
|
1018
|
-
})
|
|
1019
|
-
}).meta({ description: "Return memo" })
|
|
1020
|
-
]);
|
|
1021
|
-
var zStellarLikeSendData = zCommonTransactionData.extend({
|
|
1022
|
-
type: z14.literal(zStellarLikeTransactionType.enum.STELLAR_LIKE_SEND),
|
|
1023
|
-
memo: zStellarMemo.nullable().meta({ description: "Stellar memo" }),
|
|
1024
|
-
feeStrategy: zFeeStrategy.meta({ description: "Stellar-like fee strategy" })
|
|
1025
|
-
}).meta({
|
|
1026
|
-
description: "Stellar-like send data",
|
|
1027
|
-
id: "StellarLikeSendData"
|
|
1028
|
-
});
|
|
1029
|
-
var zStellarLikeTransactionData = z14.discriminatedUnion("type", [zStellarLikeSendData]);
|
|
1030
|
-
var zStellarLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
1031
|
-
zCommonTransactionResponse.extend({ type: zStellarLikeTransactionType }).meta({ description: "Stellar-like transaction" })
|
|
1032
|
-
]);
|
|
1033
|
-
|
|
1034
|
-
// src/networks/stellar/index.ts
|
|
1035
|
-
var STELLAR_SPEC = {
|
|
1036
|
-
zAssetFields: zStellarLikeAssetFields,
|
|
1037
|
-
zLiveData: zStellarLikeLiveData,
|
|
1038
|
-
zTransactionType: zStellarLikeTransactionType,
|
|
1039
|
-
zTransactionData: zStellarLikeTransactionData,
|
|
1040
|
-
zSendTransactionData: zStellarLikeSendData,
|
|
1041
|
-
zEstimatedFees: zStellarLikeEstimatedFees,
|
|
1042
|
-
zTransactionResponse: zStellarLikeTransactionResponse,
|
|
1043
|
-
zStakingFields: z14.never()};
|
|
1044
|
-
var zSuiLikeAssetFields = z14.object({
|
|
1045
|
-
type: z14.literal(NetworkFamily.SUI_LIKE).meta({ description: "Account type" }),
|
|
1046
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
1047
|
-
}).meta({ description: "Sui-like" });
|
|
1048
|
-
var zSuiLikeStakingData = z14.object({
|
|
1049
|
-
totalStaked: z14.string().meta({ description: "Total staked amount" }),
|
|
1050
|
-
totalRewards: z14.string().meta({ description: "Total of rewards" })
|
|
1051
|
-
}).nullable().meta({ description: "Sui-like staking data" });
|
|
1052
|
-
var zSuiLikeStakingFields = z14.object({
|
|
1053
|
-
type: z14.literal(NetworkFamily.SUI_LIKE).meta({ description: "Account type" }),
|
|
1054
|
-
staking: zSuiLikeStakingData.optional()
|
|
1055
|
-
});
|
|
1056
|
-
var zSuiLikeLiveData = zCommonLiveData.extend(zSuiLikeStakingFields.shape).meta({ description: "Sui-like" });
|
|
1057
|
-
var zSuiLikeEstimatedFees = z14.object({
|
|
1058
|
-
type: z14.literal(NetworkFamily.SUI_LIKE),
|
|
1059
|
-
fee: zIntString
|
|
1060
|
-
}).meta({ description: "Sui-like fees" });
|
|
1061
|
-
var zSuiLikeTransactionType = z14.enum([
|
|
1062
|
-
"SUI_LIKE_SEND",
|
|
1063
|
-
"SUI_LIKE_RECEIVE",
|
|
1064
|
-
"SUI_LIKE_SEND_TOKEN",
|
|
1065
|
-
"SUI_LIKE_RECEIVE_TOKEN",
|
|
1066
|
-
"SUI_LIKE_STAKE",
|
|
1067
|
-
"SUI_LIKE_UNSTAKE"
|
|
1068
|
-
]).meta({ description: "Sui-like transaction type" });
|
|
1069
|
-
var zSuiLikeSendData = zCommonTransactionData.extend({
|
|
1070
|
-
type: z14.literal(zSuiLikeTransactionType.enum.SUI_LIKE_SEND),
|
|
1071
|
-
feeStrategy: zFeeStrategy.meta({ description: "Sui-like fee strategy" })
|
|
1072
|
-
}).meta({
|
|
1073
|
-
description: "Sui-like send data",
|
|
1074
|
-
id: "SuiLikeSendData"
|
|
142
|
+
var genSignDigestsData = (opts) => ({
|
|
143
|
+
accountId: faker.string.uuid(),
|
|
144
|
+
digests: [
|
|
145
|
+
{
|
|
146
|
+
digest: faker.string.hexadecimal({ prefix: "", length: 64 }),
|
|
147
|
+
derivationPath: "m/44'/60'/0'"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
...opts
|
|
1075
151
|
});
|
|
1076
|
-
var
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
152
|
+
var genCreatePolicyData = (opts) => ({
|
|
153
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
154
|
+
description: faker.lorem.sentence(),
|
|
155
|
+
currency: "bitcoin",
|
|
156
|
+
govRules: [],
|
|
157
|
+
...opts
|
|
1082
158
|
});
|
|
1083
|
-
var
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
description: "Will be deprecated soon, use Account.network. Transaction currency"
|
|
1089
|
-
}),
|
|
1090
|
-
maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
|
|
1091
|
-
// DELEGATE does not have recipient, but has validator instead
|
|
1092
|
-
validator: z14.string().nonempty().meta({ description: "Validator address" })
|
|
1093
|
-
}).meta({
|
|
1094
|
-
description: "Sui-like stake data",
|
|
1095
|
-
id: "SuiLikeStakeData"
|
|
159
|
+
var genEditPolicyData = (opts) => ({
|
|
160
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
161
|
+
description: faker.lorem.sentence(),
|
|
162
|
+
govRules: [],
|
|
163
|
+
...opts
|
|
1096
164
|
});
|
|
1097
|
-
var
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
stakedSuiId: z14.string().nonempty().meta({ description: "Staked object to (partially?) unstake" }),
|
|
1105
|
-
amount: zUnsignedIntString.meta({ description: "Amount to unstake from the position" }),
|
|
1106
|
-
useAllAmount: z14.boolean().meta({
|
|
1107
|
-
description: "Whether to unstake the full amount (triggers different sets of transaction commands)"
|
|
1108
|
-
})
|
|
1109
|
-
}).meta({
|
|
1110
|
-
description: "Sui-like unstake data",
|
|
1111
|
-
id: "SuiLikeUnstakeData"
|
|
165
|
+
var genCreateSciConfigData = (opts) => ({
|
|
166
|
+
account: faker.string.uuid(),
|
|
167
|
+
config: {
|
|
168
|
+
dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),
|
|
169
|
+
customContractCallEnabled: faker.datatype.boolean()
|
|
170
|
+
},
|
|
171
|
+
...opts
|
|
1112
172
|
});
|
|
1113
|
-
var
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
var zSuiLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
1120
|
-
zCommonTransactionResponse.extend({ type: zSuiLikeTransactionType }).meta({ description: "Sui-like transaction" })
|
|
1121
|
-
]);
|
|
1122
|
-
|
|
1123
|
-
// src/networks/sui/index.ts
|
|
1124
|
-
var SUI_SPEC = {
|
|
1125
|
-
zAssetFields: zSuiLikeAssetFields,
|
|
1126
|
-
zLiveData: zSuiLikeLiveData,
|
|
1127
|
-
zTransactionType: zSuiLikeTransactionType,
|
|
1128
|
-
zTransactionData: zSuiLikeTransactionData,
|
|
1129
|
-
zSendTransactionData: zSuiLikeSendData,
|
|
1130
|
-
zEstimatedFees: zSuiLikeEstimatedFees,
|
|
1131
|
-
zTransactionResponse: zSuiLikeTransactionResponse,
|
|
1132
|
-
zStakingFields: zSuiLikeStakingFields};
|
|
1133
|
-
var zTezosLikeAssetFields = z14.object({
|
|
1134
|
-
type: z14.literal(NetworkFamily.TEZOS_LIKE).meta({ description: "Account type" }),
|
|
1135
|
-
address: z14.string().nullable().meta({ description: "Account address" })
|
|
1136
|
-
}).meta({ description: "Tezos-like" });
|
|
1137
|
-
var zTezosLikeStakingData = z14.object({
|
|
1138
|
-
delegations: z14.array(
|
|
1139
|
-
z14.object({
|
|
1140
|
-
address: z14.string()
|
|
1141
|
-
})
|
|
1142
|
-
)
|
|
1143
|
-
}).nullable().meta({ description: "Tezos-like staking data" });
|
|
1144
|
-
var zTezosLikeStakingFields = z14.object({
|
|
1145
|
-
type: z14.literal(NetworkFamily.TEZOS_LIKE).meta({ description: "Account type" }),
|
|
1146
|
-
staking: zTezosLikeStakingData.optional()
|
|
173
|
+
var genEditSciConfigData = (opts) => ({
|
|
174
|
+
config: {
|
|
175
|
+
dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),
|
|
176
|
+
customContractCallEnabled: faker.datatype.boolean()
|
|
177
|
+
},
|
|
178
|
+
...opts
|
|
1147
179
|
});
|
|
1148
|
-
var
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
var zTezosLikeTransactionType = z14.enum([
|
|
1154
|
-
"TEZOS_LIKE_SEND",
|
|
1155
|
-
"TEZOS_LIKE_RECEIVE",
|
|
1156
|
-
"TEZOS_LIKE_REVEAL",
|
|
1157
|
-
"TEZOS_LIKE_DELEGATE",
|
|
1158
|
-
"TEZOS_LIKE_UNDELEGATE"
|
|
1159
|
-
]).meta({ description: "Tezos-like transaction type" });
|
|
1160
|
-
var zTezosLikeFeeStrategy = zFeeStrategyCustom.meta({ description: "Tezos-like fee strategy" });
|
|
1161
|
-
var zTezosLikeSendData = zCommonTransactionData.extend({
|
|
1162
|
-
type: z14.literal(zTezosLikeTransactionType.enum.TEZOS_LIKE_SEND),
|
|
1163
|
-
feeStrategy: zTezosLikeFeeStrategy
|
|
1164
|
-
}).meta({
|
|
1165
|
-
description: "Tezos-like send data",
|
|
1166
|
-
id: "TezosLikeSendData"
|
|
180
|
+
var genTradelinkAdjustPledgeData = (opts) => ({
|
|
181
|
+
accountId: faker.string.uuid(),
|
|
182
|
+
exchangeId: faker.string.uuid(),
|
|
183
|
+
amount: "42",
|
|
184
|
+
...opts
|
|
1167
185
|
});
|
|
1168
|
-
var
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
recipient: z14.string().nonempty().meta({ description: "Transaction recipient" }),
|
|
1174
|
-
feeStrategy: zTezosLikeFeeStrategy
|
|
1175
|
-
}).meta({
|
|
1176
|
-
description: "Tezos-like delegate data",
|
|
1177
|
-
id: "TezosLikeDelegateData"
|
|
186
|
+
var genTradelinkRepledgeData = (opts) => ({
|
|
187
|
+
accountId: faker.string.uuid(),
|
|
188
|
+
exchangeId: faker.string.uuid(),
|
|
189
|
+
amount: "42",
|
|
190
|
+
...opts
|
|
1178
191
|
});
|
|
1179
|
-
var
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
192
|
+
var genTradelinkCreateSettlementData = (opts) => ({
|
|
193
|
+
accountId: faker.string.uuid(),
|
|
194
|
+
exchangeId: faker.string.uuid(),
|
|
195
|
+
transaction: {
|
|
196
|
+
type: "BITCOIN_LIKE_SEND",
|
|
197
|
+
amount: "42",
|
|
198
|
+
currency: "bitcoin",
|
|
199
|
+
maxFee: "999",
|
|
200
|
+
recipient: faker.finance.bitcoinAddress(),
|
|
201
|
+
feeStrategy: { type: "NORMAL" }
|
|
202
|
+
},
|
|
203
|
+
...opts
|
|
1189
204
|
});
|
|
1190
|
-
var
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
]);
|
|
1195
|
-
var zTezosLikeTransactionResponse = z14.discriminatedUnion("type", [
|
|
1196
|
-
zCommonTransactionResponse.extend({ type: zTezosLikeTransactionType }).meta({ description: "Tezos-like transaction" })
|
|
1197
|
-
]);
|
|
1198
|
-
|
|
1199
|
-
// src/networks/tezos/index.ts
|
|
1200
|
-
var TEZOS_SPEC = {
|
|
1201
|
-
zAssetFields: zTezosLikeAssetFields,
|
|
1202
|
-
zLiveData: zTezosLikeLiveData,
|
|
1203
|
-
zTransactionType: zTezosLikeTransactionType,
|
|
1204
|
-
zTransactionData: zTezosLikeTransactionData,
|
|
1205
|
-
zSendTransactionData: zTezosLikeSendData,
|
|
1206
|
-
zEstimatedFees: zTezosLikeEstimatedFees,
|
|
1207
|
-
zTransactionResponse: zTezosLikeTransactionResponse,
|
|
1208
|
-
zStakingFields: zTezosLikeStakingFields};
|
|
1209
|
-
var zTronLikeAssetFields = z14.object({
|
|
1210
|
-
type: z14.literal(NetworkFamily.TRON_LIKE).meta({ description: "Account type" }),
|
|
1211
|
-
address: z14.string().nullable().meta({ description: "Account address" }),
|
|
1212
|
-
contractAddress: z14.string().nullable().meta({
|
|
1213
|
-
description: "Will be deprecated, Use contractAddress at root level instead; Token contract address"
|
|
1214
|
-
}).optional()
|
|
1215
|
-
}).meta({ description: "Tron-like" });
|
|
1216
|
-
var zTronLikeLiveData = zCommonLiveData.extend({
|
|
1217
|
-
type: z14.literal(NetworkFamily.TRON_LIKE).meta({ description: "Account type" })
|
|
1218
|
-
}).meta({ description: "Tron-like" });
|
|
1219
|
-
var zTronLikeEstimatedFees = z14.object({
|
|
1220
|
-
type: z14.literal(NetworkFamily.TRON_LIKE),
|
|
1221
|
-
fee: zIntString
|
|
1222
|
-
}).meta({ description: "Tron-like fees" });
|
|
1223
|
-
var zTronLikeTransactionType = z14.enum(["TRON_LIKE_SEND", "TRON_LIKE_RECEIVE", "TRON_LIKE_SEND_TOKEN", "TRON_LIKE_RECEIVE_TOKEN"]).meta({ description: "Tron-like transaction type" });
|
|
1224
|
-
var zTronLikeSendData = zCommonTransactionData.extend({
|
|
1225
|
-
type: z14.literal(zTronLikeTransactionType.enum.TRON_LIKE_SEND),
|
|
1226
|
-
feeStrategy: zFeeStrategy.meta({ description: "Tron-like fee strategy" })
|
|
1227
|
-
}).meta({
|
|
1228
|
-
description: "Tron-like send data",
|
|
1229
|
-
id: "TronLikeSendData"
|
|
205
|
+
var genTradelinkForceUnpledgeData = (opts) => ({
|
|
206
|
+
accountId: faker.string.uuid(),
|
|
207
|
+
exchangeId: faker.string.uuid(),
|
|
208
|
+
...opts
|
|
1230
209
|
});
|
|
1231
|
-
var
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
210
|
+
var genTradelinkWithdrawData = (opts) => ({
|
|
211
|
+
accountId: faker.string.uuid(),
|
|
212
|
+
transaction: {
|
|
213
|
+
type: "ETHEREUM_LIKE_SEND",
|
|
214
|
+
recipient: "0x63e4195AF1509490b430F3f5bCb85A82a24F5C82",
|
|
215
|
+
amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),
|
|
216
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
217
|
+
currency: "ethereum",
|
|
218
|
+
feeStrategy: {
|
|
219
|
+
type: "NORMAL",
|
|
220
|
+
gasPrice: "2",
|
|
221
|
+
gasLimit: "10"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
...opts
|
|
1237
225
|
});
|
|
1238
|
-
var
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
zEstimatedFees: zTronLikeEstimatedFees,
|
|
1254
|
-
zTransactionResponse: zTronLikeTransactionResponse,
|
|
1255
|
-
zStakingFields: z14.never()};
|
|
1256
|
-
|
|
1257
|
-
// src/networks/index.ts
|
|
1258
|
-
var zNetworkAssetFields = z14.discriminatedUnion("type", [
|
|
1259
|
-
BITCOIN_SPEC.zAssetFields,
|
|
1260
|
-
CANTON_SPEC.zAssetFields,
|
|
1261
|
-
CARDANO_SPEC.zAssetFields,
|
|
1262
|
-
ETHEREUM_SPEC.zAssetFields,
|
|
1263
|
-
GENERIC_SPEC.zAssetFields,
|
|
1264
|
-
HEDERA_SPEC.zAssetFields,
|
|
1265
|
-
POLKADOT_SPEC.zAssetFields,
|
|
1266
|
-
RIPPLE_SPEC.zAssetFields,
|
|
1267
|
-
SOLANA_SPEC.zAssetFields,
|
|
1268
|
-
STELLAR_SPEC.zAssetFields,
|
|
1269
|
-
SUI_SPEC.zAssetFields,
|
|
1270
|
-
TEZOS_SPEC.zAssetFields,
|
|
1271
|
-
TRON_SPEC.zAssetFields
|
|
1272
|
-
]).meta({ description: "Network asset fields" });
|
|
1273
|
-
var zAccountLiveData = z14.discriminatedUnion("type", [
|
|
1274
|
-
BITCOIN_SPEC.zLiveData,
|
|
1275
|
-
CANTON_SPEC.zLiveData,
|
|
1276
|
-
CARDANO_SPEC.zLiveData,
|
|
1277
|
-
ETHEREUM_SPEC.zLiveData,
|
|
1278
|
-
GENERIC_SPEC.zLiveData,
|
|
1279
|
-
HEDERA_SPEC.zLiveData,
|
|
1280
|
-
POLKADOT_SPEC.zLiveData,
|
|
1281
|
-
RIPPLE_SPEC.zLiveData,
|
|
1282
|
-
SOLANA_SPEC.zLiveData,
|
|
1283
|
-
STELLAR_SPEC.zLiveData,
|
|
1284
|
-
SUI_SPEC.zLiveData,
|
|
1285
|
-
TEZOS_SPEC.zLiveData,
|
|
1286
|
-
TRON_SPEC.zLiveData
|
|
1287
|
-
]);
|
|
1288
|
-
z14.discriminatedUnion("type", [
|
|
1289
|
-
CARDANO_SPEC.zStakingFields,
|
|
1290
|
-
ETHEREUM_SPEC.zStakingFields,
|
|
1291
|
-
HEDERA_SPEC.zStakingFields,
|
|
1292
|
-
POLKADOT_SPEC.zStakingFields,
|
|
1293
|
-
SOLANA_SPEC.zStakingFields,
|
|
1294
|
-
SUI_SPEC.zStakingFields,
|
|
1295
|
-
TEZOS_SPEC.zStakingFields
|
|
1296
|
-
]);
|
|
1297
|
-
z14.discriminatedUnion("type", [
|
|
1298
|
-
BITCOIN_SPEC.zEstimatedFees,
|
|
1299
|
-
ETHEREUM_SPEC.zEstimatedFees,
|
|
1300
|
-
HEDERA_SPEC.zEstimatedFees,
|
|
1301
|
-
RIPPLE_SPEC.zEstimatedFees,
|
|
1302
|
-
STELLAR_SPEC.zEstimatedFees,
|
|
1303
|
-
SUI_SPEC.zEstimatedFees,
|
|
1304
|
-
TEZOS_SPEC.zEstimatedFees,
|
|
1305
|
-
TRON_SPEC.zEstimatedFees
|
|
1306
|
-
]);
|
|
1307
|
-
z14.union([
|
|
1308
|
-
BITCOIN_SPEC.zTransactionType,
|
|
1309
|
-
CANTON_SPEC.zTransactionType,
|
|
1310
|
-
CARDANO_SPEC.zTransactionType,
|
|
1311
|
-
ETHEREUM_SPEC.zTransactionType,
|
|
1312
|
-
GENERIC_SPEC.zTransactionType,
|
|
1313
|
-
HEDERA_SPEC.zTransactionType,
|
|
1314
|
-
POLKADOT_SPEC.zTransactionType,
|
|
1315
|
-
RIPPLE_SPEC.zTransactionType,
|
|
1316
|
-
SOLANA_SPEC.zTransactionType,
|
|
1317
|
-
STELLAR_SPEC.zTransactionType,
|
|
1318
|
-
SUI_SPEC.zTransactionType,
|
|
1319
|
-
TEZOS_SPEC.zTransactionType,
|
|
1320
|
-
TRON_SPEC.zTransactionType
|
|
1321
|
-
]);
|
|
1322
|
-
({
|
|
1323
|
-
...BITCOIN_SPEC.zTransactionType.enum,
|
|
1324
|
-
...CANTON_SPEC.zTransactionType.enum,
|
|
1325
|
-
...CARDANO_SPEC.zTransactionType.enum,
|
|
1326
|
-
...ETHEREUM_SPEC.zTransactionType.enum,
|
|
1327
|
-
...HEDERA_SPEC.zTransactionType.enum,
|
|
1328
|
-
...GENERIC_SPEC.zTransactionType.enum,
|
|
1329
|
-
...POLKADOT_SPEC.zTransactionType.enum,
|
|
1330
|
-
...RIPPLE_SPEC.zTransactionType.enum,
|
|
1331
|
-
...SOLANA_SPEC.zTransactionType.enum,
|
|
1332
|
-
...STELLAR_SPEC.zTransactionType.enum,
|
|
1333
|
-
...SUI_SPEC.zTransactionType.enum,
|
|
1334
|
-
...TEZOS_SPEC.zTransactionType.enum,
|
|
1335
|
-
...TRON_SPEC.zTransactionType.enum
|
|
226
|
+
var genTradelinkArbitrationData = (opts) => ({
|
|
227
|
+
accountId: faker.string.uuid(),
|
|
228
|
+
transaction: {
|
|
229
|
+
type: "ETHEREUM_LIKE_SEND",
|
|
230
|
+
recipient: "0xcefd70CFCd7a2FAa0fe956E3d496F9313297CB44",
|
|
231
|
+
amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),
|
|
232
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
233
|
+
currency: "ethereum",
|
|
234
|
+
feeStrategy: {
|
|
235
|
+
type: "NORMAL",
|
|
236
|
+
gasPrice: "2",
|
|
237
|
+
gasLimit: "10"
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
...opts
|
|
1336
241
|
});
|
|
1337
|
-
var
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
...STELLAR_SPEC.zTransactionData.options,
|
|
1348
|
-
...SUI_SPEC.zTransactionData.options,
|
|
1349
|
-
...TEZOS_SPEC.zTransactionData.options,
|
|
1350
|
-
...TRON_SPEC.zTransactionData.options
|
|
1351
|
-
]);
|
|
1352
|
-
var zSendOnlyTransactionData = z14.discriminatedUnion("type", [
|
|
1353
|
-
BITCOIN_SPEC.zSendTransactionData,
|
|
1354
|
-
CANTON_SPEC.zSendTransactionData,
|
|
1355
|
-
CARDANO_SPEC.zSendTransactionData,
|
|
1356
|
-
ETHEREUM_SPEC.zSendTransactionData,
|
|
1357
|
-
HEDERA_SPEC.zSendTransactionData,
|
|
1358
|
-
POLKADOT_SPEC.zSendTransactionData,
|
|
1359
|
-
RIPPLE_SPEC.zSendTransactionData,
|
|
1360
|
-
SOLANA_SPEC.zSendTransactionData,
|
|
1361
|
-
STELLAR_SPEC.zSendTransactionData,
|
|
1362
|
-
SUI_SPEC.zSendTransactionData,
|
|
1363
|
-
TEZOS_SPEC.zSendTransactionData
|
|
1364
|
-
]);
|
|
1365
|
-
var zTransactionResponse = z14.discriminatedUnion("type", [
|
|
1366
|
-
...BITCOIN_SPEC.zTransactionResponse.options,
|
|
1367
|
-
...CANTON_SPEC.zTransactionResponse.options,
|
|
1368
|
-
...CARDANO_SPEC.zTransactionResponse.options,
|
|
1369
|
-
...ETHEREUM_SPEC.zTransactionResponse.options,
|
|
1370
|
-
...GENERIC_SPEC.zTransactionResponse.options,
|
|
1371
|
-
...HEDERA_SPEC.zTransactionResponse.options,
|
|
1372
|
-
...POLKADOT_SPEC.zTransactionResponse.options,
|
|
1373
|
-
...RIPPLE_SPEC.zTransactionResponse.options,
|
|
1374
|
-
...SOLANA_SPEC.zTransactionResponse.options,
|
|
1375
|
-
...STELLAR_SPEC.zTransactionResponse.options,
|
|
1376
|
-
...SUI_SPEC.zTransactionResponse.options,
|
|
1377
|
-
...TEZOS_SPEC.zTransactionResponse.options,
|
|
1378
|
-
...TRON_SPEC.zTransactionResponse.options
|
|
1379
|
-
]);
|
|
1380
|
-
var { ec: EC } = elliptic;
|
|
1381
|
-
var fakeUniqueName = (length = 20) => faker.string.alphanumeric({ length, casing: "lower" });
|
|
1382
|
-
var fakeHexString = (length, casing = "upper") => faker.string.hexadecimal({ prefix: "", casing, length });
|
|
1383
|
-
var fakePubKey = () => new EC("p256").genKeyPair().getPublic(false, "hex");
|
|
1384
|
-
var fakeDeviceUserId = () => faker.string.hexadecimal({ prefix: "", casing: "upper", length: 16 });
|
|
1385
|
-
var fakeIntegerId = () => faker.number.int({ min: 1, max: 2e9 });
|
|
1386
|
-
var fakeGateId = fakeIntegerId;
|
|
1387
|
-
var fakeBase64String = (length) => btoa(faker.string.sample(length));
|
|
1388
|
-
var fakePsdSignature = () => fakeBase64String(100);
|
|
1389
|
-
var fakeJws = () => times(3, () => faker.string.hexadecimal({ prefix: "", length: 100 })).join(".");
|
|
1390
|
-
var fakeHsmObjectId = () => faker.string.uuid();
|
|
1391
|
-
var fakeHsmCertificate = () => ({
|
|
1392
|
-
codeHash: fakeBase64String(10),
|
|
1393
|
-
attestationPub: fakeBase64String(20),
|
|
1394
|
-
certificate: fakeBase64String(20),
|
|
1395
|
-
signature: fakeBase64String(20)
|
|
242
|
+
var genBitcoinLikeSendData = () => ({
|
|
243
|
+
type: "BITCOIN_LIKE_SEND",
|
|
244
|
+
currency: "bitcoin",
|
|
245
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
246
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
247
|
+
recipient: faker.finance.bitcoinAddress(),
|
|
248
|
+
feeStrategy: {
|
|
249
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST", "CUSTOM"]),
|
|
250
|
+
feePerByte: faker.number.bigInt({ min: 1 }).toString()
|
|
251
|
+
}
|
|
1396
252
|
});
|
|
1397
|
-
var
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
253
|
+
var fakeCantonPartyId = () => `party-${faker.lorem.word()}::${faker.string.hexadecimal({ prefix: "", casing: "lower", length: 68 })}`;
|
|
254
|
+
var fakeCantonContractId = () => faker.string.hexadecimal({ prefix: "", casing: "lower", length: 138 });
|
|
255
|
+
var fakeCantonInstrumentId = () => faker.string.hexadecimal({ prefix: "", casing: "lower", length: 10 });
|
|
256
|
+
var fakeCantonTransferProposal = () => ({
|
|
257
|
+
amount: faker.number.bigInt().toString(),
|
|
258
|
+
contractId: fakeCantonContractId(),
|
|
259
|
+
instrumentAdmin: fakeCantonPartyId(),
|
|
260
|
+
instrumentId: fakeCantonInstrumentId(),
|
|
261
|
+
expiresAtMicros: faker.number.int(),
|
|
262
|
+
reason: faker.lorem.sentence(),
|
|
263
|
+
sender: fakeCantonPartyId(),
|
|
264
|
+
recipient: fakeCantonPartyId()
|
|
1403
265
|
});
|
|
1404
|
-
var
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
var fakeCantonPartyId = () => fakeCantonAddress("party");
|
|
1409
|
-
var fakeCantonContractId = () => fakeHexString(138, "lower");
|
|
1410
|
-
var fakeCantonInstrumentId = () => fakeHexString(10, "lower");
|
|
1411
|
-
var fakeCantonTransferProposal = (opts) => {
|
|
1412
|
-
return {
|
|
1413
|
-
amount: faker.number.bigInt().toString(),
|
|
1414
|
-
contractId: fakeCantonContractId(),
|
|
1415
|
-
instrumentAdmin: fakeCantonPartyId(),
|
|
1416
|
-
instrumentId: fakeCantonInstrumentId(),
|
|
1417
|
-
expiresAtMicros: faker.number.int(),
|
|
1418
|
-
reason: faker.lorem.sentence(),
|
|
1419
|
-
sender: fakeCantonPartyId(),
|
|
1420
|
-
recipient: fakeCantonPartyId(),
|
|
1421
|
-
...opts
|
|
1422
|
-
};
|
|
1423
|
-
};
|
|
1424
|
-
var injectSyncId = (obj) => {
|
|
1425
|
-
let { syncId } = obj;
|
|
1426
|
-
if (syncId === void 0) {
|
|
1427
|
-
if (obj.gateType !== null && obj.gateId !== 0) {
|
|
1428
|
-
syncId = buildGateSyncId(obj.workspaceName, obj.gateType, obj.gateId);
|
|
1429
|
-
} else if (obj.gateType === null && obj.gateId === 0) {
|
|
1430
|
-
syncId = faker.string.uuid();
|
|
1431
|
-
} else {
|
|
1432
|
-
throw new Error(`Invalid gateType and gateId: ${obj.gateType}, ${obj.gateId}`);
|
|
1433
|
-
}
|
|
1434
|
-
}
|
|
1435
|
-
return { ...obj, syncId };
|
|
1436
|
-
};
|
|
1437
|
-
|
|
1438
|
-
// src/__fakes__/models/accounts.ts
|
|
1439
|
-
var WELL_KNOWN_NETWORKS_BY_FAMILY = {
|
|
1440
|
-
[NetworkFamily.BITCOIN_LIKE]: ["bitcoin", "bitcoin_testnet"],
|
|
1441
|
-
[NetworkFamily.CANTON_LIKE]: ["canton_network"],
|
|
1442
|
-
[NetworkFamily.CARDANO_LIKE]: ["cardano"],
|
|
1443
|
-
[NetworkFamily.ETHEREUM_LIKE]: ["ethereum", "ethereum_goerli"],
|
|
1444
|
-
[NetworkFamily.HEDERA_LIKE]: ["hedera"],
|
|
1445
|
-
[NetworkFamily.POLKADOT_LIKE]: ["polkadot"],
|
|
1446
|
-
[NetworkFamily.RIPPLE_LIKE]: ["ripple"],
|
|
1447
|
-
[NetworkFamily.SOLANA_LIKE]: ["solana"],
|
|
1448
|
-
[NetworkFamily.STELLAR_LIKE]: ["stellar"],
|
|
1449
|
-
[NetworkFamily.SUI_LIKE]: ["sui"],
|
|
1450
|
-
[NetworkFamily.TEZOS_LIKE]: ["tezos"],
|
|
1451
|
-
[NetworkFamily.TRON_LIKE]: ["tron"],
|
|
1452
|
-
[NetworkFamily.GENERIC_LIKE]: ["cosmos"]
|
|
1453
|
-
};
|
|
1454
|
-
var genConsistentAccountType = (opts) => {
|
|
1455
|
-
if (opts?.type !== void 0) {
|
|
1456
|
-
return opts.type;
|
|
1457
|
-
}
|
|
1458
|
-
if (opts?.currency !== void 0) {
|
|
1459
|
-
for (const [family, currencies] of Object.entries(WELL_KNOWN_NETWORKS_BY_FAMILY)) {
|
|
1460
|
-
if (currencies.includes(opts.currency)) {
|
|
1461
|
-
return family;
|
|
1462
|
-
}
|
|
1463
|
-
}
|
|
1464
|
-
}
|
|
1465
|
-
return faker.helpers.arrayElement(Object.values(AccountType));
|
|
1466
|
-
};
|
|
1467
|
-
var genAssetFieldsForType = (type) => {
|
|
1468
|
-
const currency = faker.helpers.arrayElement(
|
|
1469
|
-
type === "RAW_SIGNING" ? ["ethereum", "bitcoin", "sui"] : WELL_KNOWN_NETWORKS_BY_FAMILY[type]
|
|
1470
|
-
);
|
|
1471
|
-
const hsmXpub = fakeHexString(66, "upper");
|
|
1472
|
-
const hsmChainCode = fakeHexString(64, "upper");
|
|
1473
|
-
switch (type) {
|
|
1474
|
-
case "BITCOIN_LIKE":
|
|
1475
|
-
return {
|
|
1476
|
-
type,
|
|
1477
|
-
currency,
|
|
1478
|
-
derivationPath: "84'/0'/0'",
|
|
1479
|
-
address: null,
|
|
1480
|
-
contractAddress: null,
|
|
1481
|
-
tokenIdentifier: null,
|
|
1482
|
-
xpub: fakeHexString(120),
|
|
1483
|
-
hsmXpub,
|
|
1484
|
-
hsmChainCode
|
|
1485
|
-
};
|
|
1486
|
-
case "ETHEREUM_LIKE":
|
|
1487
|
-
return {
|
|
1488
|
-
type,
|
|
1489
|
-
currency,
|
|
1490
|
-
derivationPath: "44'/60'/0'",
|
|
1491
|
-
address: faker.finance.ethereumAddress(),
|
|
1492
|
-
contractAddress: null,
|
|
1493
|
-
tokenIdentifier: null,
|
|
1494
|
-
xpub: null,
|
|
1495
|
-
hsmXpub,
|
|
1496
|
-
hsmChainCode
|
|
1497
|
-
};
|
|
1498
|
-
case "CANTON_LIKE":
|
|
1499
|
-
return {
|
|
1500
|
-
type,
|
|
1501
|
-
currency,
|
|
1502
|
-
derivationPath: "44'/6767'/0'/0'/0'",
|
|
1503
|
-
address: fakeCantonPartyId(),
|
|
1504
|
-
contractAddress: null,
|
|
1505
|
-
tokenIdentifier: null,
|
|
1506
|
-
xpub: null,
|
|
1507
|
-
hsmXpub,
|
|
1508
|
-
hsmChainCode: null
|
|
1509
|
-
};
|
|
1510
|
-
case "CARDANO_LIKE":
|
|
1511
|
-
return {
|
|
1512
|
-
type,
|
|
1513
|
-
currency,
|
|
1514
|
-
derivationPath: "1852'/1815'/0'",
|
|
1515
|
-
address: `addr${faker.string.alphanumeric({ length: 100, casing: "lower" })}`,
|
|
1516
|
-
contractAddress: null,
|
|
1517
|
-
tokenIdentifier: null,
|
|
1518
|
-
xpub: null,
|
|
1519
|
-
hsmXpub,
|
|
1520
|
-
hsmChainCode
|
|
1521
|
-
};
|
|
1522
|
-
case "SOLANA_LIKE":
|
|
1523
|
-
return {
|
|
1524
|
-
type,
|
|
1525
|
-
currency,
|
|
1526
|
-
derivationPath: "44'/501'/0'",
|
|
1527
|
-
address: faker.string.alphanumeric({ length: 44, casing: "lower" }),
|
|
1528
|
-
contractAddress: null,
|
|
1529
|
-
tokenIdentifier: null,
|
|
1530
|
-
xpub: null,
|
|
1531
|
-
hsmXpub,
|
|
1532
|
-
hsmChainCode: null
|
|
1533
|
-
};
|
|
1534
|
-
case "TEZOS_LIKE":
|
|
1535
|
-
return {
|
|
1536
|
-
type,
|
|
1537
|
-
currency,
|
|
1538
|
-
derivationPath: "44'/1729'/0'",
|
|
1539
|
-
address: `tz${faker.string.alphanumeric({ length: 34, casing: "mixed" })}`,
|
|
1540
|
-
contractAddress: null,
|
|
1541
|
-
tokenIdentifier: null,
|
|
1542
|
-
xpub: null,
|
|
1543
|
-
hsmXpub,
|
|
1544
|
-
hsmChainCode
|
|
1545
|
-
};
|
|
1546
|
-
case "STELLAR_LIKE":
|
|
1547
|
-
return {
|
|
1548
|
-
type,
|
|
1549
|
-
currency,
|
|
1550
|
-
derivationPath: "44'/148'/0'",
|
|
1551
|
-
address: faker.string.alphanumeric({ length: 56, casing: "upper" }),
|
|
1552
|
-
contractAddress: null,
|
|
1553
|
-
tokenIdentifier: null,
|
|
1554
|
-
xpub: null,
|
|
1555
|
-
hsmXpub,
|
|
1556
|
-
hsmChainCode
|
|
1557
|
-
};
|
|
1558
|
-
case "RIPPLE_LIKE":
|
|
1559
|
-
return {
|
|
1560
|
-
type,
|
|
1561
|
-
currency,
|
|
1562
|
-
derivationPath: "44'/144'/0'",
|
|
1563
|
-
address: faker.string.alphanumeric({ length: 34, casing: "mixed" }),
|
|
1564
|
-
contractAddress: null,
|
|
1565
|
-
tokenIdentifier: null,
|
|
1566
|
-
xpub: `xpub${faker.string.alphanumeric({ length: 107, casing: "mixed" })}`,
|
|
1567
|
-
hsmXpub,
|
|
1568
|
-
hsmChainCode
|
|
1569
|
-
};
|
|
1570
|
-
case "POLKADOT_LIKE":
|
|
1571
|
-
return {
|
|
1572
|
-
type,
|
|
1573
|
-
currency,
|
|
1574
|
-
derivationPath: "44'/354'/0'",
|
|
1575
|
-
address: faker.string.alphanumeric({ length: 48, casing: "mixed" }),
|
|
1576
|
-
contractAddress: null,
|
|
1577
|
-
tokenIdentifier: null,
|
|
1578
|
-
xpub: null,
|
|
1579
|
-
hsmXpub,
|
|
1580
|
-
hsmChainCode: null
|
|
1581
|
-
};
|
|
1582
|
-
case "TRON_LIKE":
|
|
1583
|
-
return {
|
|
1584
|
-
type,
|
|
1585
|
-
currency,
|
|
1586
|
-
derivationPath: "44'/195'/0'",
|
|
1587
|
-
address: faker.string.alphanumeric({ length: 34, casing: "mixed" }),
|
|
1588
|
-
contractAddress: null,
|
|
1589
|
-
tokenIdentifier: null,
|
|
1590
|
-
xpub: null,
|
|
1591
|
-
hsmXpub,
|
|
1592
|
-
hsmChainCode
|
|
1593
|
-
};
|
|
1594
|
-
case "SUI_LIKE":
|
|
1595
|
-
return {
|
|
1596
|
-
type,
|
|
1597
|
-
currency,
|
|
1598
|
-
derivationPath: "44'/784'/0'",
|
|
1599
|
-
address: faker.string.alphanumeric({ length: 34, casing: "mixed" }),
|
|
1600
|
-
contractAddress: null,
|
|
1601
|
-
tokenIdentifier: null,
|
|
1602
|
-
xpub: null,
|
|
1603
|
-
hsmXpub,
|
|
1604
|
-
hsmChainCode: null
|
|
1605
|
-
};
|
|
1606
|
-
case "HEDERA_LIKE":
|
|
1607
|
-
return {
|
|
1608
|
-
type,
|
|
1609
|
-
currency,
|
|
1610
|
-
derivationPath: "44'/3030'/0'",
|
|
1611
|
-
address: faker.string.hexadecimal({ length: 34, casing: "mixed" }),
|
|
1612
|
-
contractAddress: null,
|
|
1613
|
-
tokenIdentifier: null,
|
|
1614
|
-
xpub: null,
|
|
1615
|
-
hsmXpub,
|
|
1616
|
-
hsmChainCode
|
|
1617
|
-
};
|
|
1618
|
-
case "GENERIC_LIKE":
|
|
266
|
+
var genCantonLikeTxData = (txType) => {
|
|
267
|
+
switch (txType) {
|
|
268
|
+
case "CANTON_LIKE_SEND":
|
|
269
|
+
case "CANTON_LIKE_SEND_TOKEN":
|
|
1619
270
|
return {
|
|
1620
|
-
type,
|
|
1621
|
-
currency,
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
tokenIdentifier: null,
|
|
1626
|
-
xpub: null,
|
|
1627
|
-
hsmXpub,
|
|
1628
|
-
hsmChainCode
|
|
271
|
+
type: txType,
|
|
272
|
+
currency: "canton_network",
|
|
273
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
274
|
+
recipient: fakeCantonPartyId(),
|
|
275
|
+
reason: faker.helpers.arrayElement([null, faker.lorem.word()])
|
|
1629
276
|
};
|
|
1630
|
-
case "
|
|
277
|
+
case "CANTON_LIKE_WITHDRAW":
|
|
1631
278
|
return {
|
|
1632
|
-
type,
|
|
1633
|
-
currency,
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
contractAddress: null,
|
|
1637
|
-
tokenIdentifier: null,
|
|
1638
|
-
xpub: null,
|
|
1639
|
-
hsmXpub,
|
|
1640
|
-
hsmChainCode
|
|
279
|
+
type: txType,
|
|
280
|
+
currency: "canton_network",
|
|
281
|
+
transferProposal: fakeCantonTransferProposal(),
|
|
282
|
+
reason: faker.lorem.sentence()
|
|
1641
283
|
};
|
|
1642
|
-
|
|
1643
|
-
};
|
|
1644
|
-
var genGovernanceFieldsForType = (governanceType, {
|
|
1645
|
-
accountId,
|
|
1646
|
-
policyId,
|
|
1647
|
-
assetManagerId
|
|
1648
|
-
}) => {
|
|
1649
|
-
switch (governanceType) {
|
|
1650
|
-
case AccountGovernanceType.CLASSIC:
|
|
1651
|
-
case AccountGovernanceType.RAW_SIGNING:
|
|
284
|
+
case "CANTON_LIKE_RECEIVE":
|
|
1652
285
|
return {
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
},
|
|
1659
|
-
tradelinkGovernanceMixin: null
|
|
286
|
+
type: txType,
|
|
287
|
+
currency: "canton_network",
|
|
288
|
+
transferProposal: fakeCantonTransferProposal(),
|
|
289
|
+
verdict: "ACCEPT",
|
|
290
|
+
reason: faker.lorem.sentence()
|
|
1660
291
|
};
|
|
1661
|
-
case
|
|
292
|
+
case "CANTON_LIKE_PRE_APPROVAL":
|
|
1662
293
|
return {
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
id: faker.number.int(),
|
|
1667
|
-
assetManagerId: assetManagerId ?? faker.string.uuid(),
|
|
1668
|
-
accountId,
|
|
1669
|
-
exchangeConfigs: [],
|
|
1670
|
-
status: ActivationStatus.ACTIVE
|
|
1671
|
-
}
|
|
294
|
+
type: txType,
|
|
295
|
+
currency: "canton_network",
|
|
296
|
+
recipient: fakeCantonPartyId()
|
|
1672
297
|
};
|
|
298
|
+
default: {
|
|
299
|
+
const _exhaustive = txType;
|
|
300
|
+
throw new Error(`Unknown canton transaction type: ${_exhaustive}`);
|
|
301
|
+
}
|
|
1673
302
|
}
|
|
1674
303
|
};
|
|
1675
|
-
var genAccount = (opts) => {
|
|
1676
|
-
const { policyId, assetManagerId, withLesWalletId, ...rest } = opts ?? {};
|
|
1677
|
-
const commonFields = {
|
|
1678
|
-
id: faker.string.uuid(),
|
|
1679
|
-
workspaceName: fakeWorkspaceName(),
|
|
1680
|
-
name: fakeUniqueName(),
|
|
1681
|
-
hsmId: fakeHsmObjectId(),
|
|
1682
|
-
status: ActivationStatus.ACTIVE,
|
|
1683
|
-
index: faker.number.int({ min: 0, max: 10 }),
|
|
1684
|
-
gateId: fakeGateId(),
|
|
1685
|
-
gateType: GateAccountType.Account,
|
|
1686
|
-
lesWalletId: withLesWalletId ?? true ? faker.string.uuid() : null,
|
|
1687
|
-
createdAt: faker.date.past(),
|
|
1688
|
-
updatedAt: faker.date.past()
|
|
1689
|
-
};
|
|
1690
|
-
const type = genConsistentAccountType(rest);
|
|
1691
|
-
const assetFields = genAssetFieldsForType(type);
|
|
1692
|
-
const governanceFields = genGovernanceFieldsForType(
|
|
1693
|
-
opts?.governanceType ?? faker.helpers.arrayElement(Object.values(AccountGovernanceType)),
|
|
1694
|
-
{ accountId: commonFields.id, policyId, assetManagerId }
|
|
1695
|
-
);
|
|
1696
|
-
return injectSyncId({
|
|
1697
|
-
...commonFields,
|
|
1698
|
-
...governanceFields,
|
|
1699
|
-
...assetFields,
|
|
1700
|
-
...rest
|
|
1701
|
-
});
|
|
1702
|
-
};
|
|
1703
|
-
var genSignMessageData = (opts) => getSignMessageDataForType(MessageType.EIP191, opts);
|
|
1704
|
-
var getSignMessageDataForType = (type, opts) => {
|
|
1705
|
-
return {
|
|
1706
|
-
message: type === MessageType.EIP712 ? {
|
|
1707
|
-
type: "EIP712",
|
|
1708
|
-
data: {
|
|
1709
|
-
types: {
|
|
1710
|
-
EIP712Domain: [
|
|
1711
|
-
{ name: "name", type: "string" },
|
|
1712
|
-
{ name: "version", type: "string" },
|
|
1713
|
-
{ name: "chainId", type: "uint256" },
|
|
1714
|
-
{ name: "verifyingContract", type: "address" }
|
|
1715
|
-
],
|
|
1716
|
-
PrimaryType: [
|
|
1717
|
-
{ name: "a", type: "int256" },
|
|
1718
|
-
{ name: "b", type: "bool" }
|
|
1719
|
-
]
|
|
1720
|
-
},
|
|
1721
|
-
primaryType: "PrimaryType",
|
|
1722
|
-
domain: {
|
|
1723
|
-
name: "Test Domain",
|
|
1724
|
-
version: "1",
|
|
1725
|
-
chainId: 1,
|
|
1726
|
-
verifyingContract: "0x1234567890123456789012345678901234567890"
|
|
1727
|
-
},
|
|
1728
|
-
message: {
|
|
1729
|
-
a: faker.number.int({ min: 0, max: 1e3 }),
|
|
1730
|
-
b: faker.datatype.boolean()
|
|
1731
|
-
}
|
|
1732
|
-
}
|
|
1733
|
-
} : {
|
|
1734
|
-
type: "EIP191",
|
|
1735
|
-
data: fakeHexString(10, "upper")
|
|
1736
|
-
},
|
|
1737
|
-
accountId: faker.string.uuid(),
|
|
1738
|
-
address: faker.finance.ethereumAddress(),
|
|
1739
|
-
derivationPath: "44'/60'/0'/0/0",
|
|
1740
|
-
...opts
|
|
1741
|
-
};
|
|
1742
|
-
};
|
|
1743
|
-
var genBitcoinLikeSendData = (opts) => {
|
|
1744
|
-
return {
|
|
1745
|
-
type: "BITCOIN_LIKE_SEND",
|
|
1746
|
-
currency: "bitcoin",
|
|
1747
|
-
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
1748
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
1749
|
-
recipient: faker.finance.bitcoinAddress(),
|
|
1750
|
-
feeStrategy: {
|
|
1751
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST", "CUSTOM"]),
|
|
1752
|
-
feePerByte: faker.number.bigInt({ min: 1 }).toString()
|
|
1753
|
-
},
|
|
1754
|
-
...opts
|
|
1755
|
-
};
|
|
1756
|
-
};
|
|
1757
304
|
var genCardanoLikeTxData = (txType) => {
|
|
1758
305
|
switch (txType) {
|
|
1759
306
|
case "CARDANO_LIKE_SEND":
|
|
@@ -1789,9 +336,13 @@ var genCardanoLikeTxData = (txType) => {
|
|
|
1789
336
|
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
1790
337
|
}
|
|
1791
338
|
};
|
|
339
|
+
default: {
|
|
340
|
+
const _exhaustive = txType;
|
|
341
|
+
throw new Error(`Unknown cardano transaction type: ${_exhaustive}`);
|
|
342
|
+
}
|
|
1792
343
|
}
|
|
1793
344
|
};
|
|
1794
|
-
var genEthereumLikeSendData = (
|
|
345
|
+
var genEthereumLikeSendData = () => {
|
|
1795
346
|
const gasLimit = faker.number.bigInt({ min: 1 });
|
|
1796
347
|
const gasPrice = faker.number.bigInt({ min: 1 });
|
|
1797
348
|
const maxFee = gasLimit * gasPrice;
|
|
@@ -1800,64 +351,55 @@ var genEthereumLikeSendData = (opts) => {
|
|
|
1800
351
|
currency: "ethereum",
|
|
1801
352
|
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
1802
353
|
maxFee: maxFee.toString(),
|
|
1803
|
-
recipient: faker.finance.
|
|
354
|
+
recipient: faker.finance.ethereumAddress(),
|
|
1804
355
|
feeStrategy: {
|
|
1805
356
|
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST", "CUSTOM"]),
|
|
1806
357
|
gasLimit: gasLimit.toString(),
|
|
1807
358
|
gasPrice: gasPrice.toString()
|
|
1808
|
-
}
|
|
1809
|
-
...opts
|
|
1810
|
-
};
|
|
1811
|
-
};
|
|
1812
|
-
var genEthereumLikeExecuteContractData = (opts) => {
|
|
1813
|
-
const sendData = genEthereumLikeSendData();
|
|
1814
|
-
return {
|
|
1815
|
-
...omit(sendData, ["type"]),
|
|
1816
|
-
type: "ETHEREUM_LIKE_EXECUTE_CONTRACT",
|
|
1817
|
-
contractData: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 128 }),
|
|
1818
|
-
...opts
|
|
1819
|
-
};
|
|
1820
|
-
};
|
|
1821
|
-
var genEthereumLikeDeployContractData = (opts) => {
|
|
1822
|
-
const sendData = genEthereumLikeSendData();
|
|
1823
|
-
return {
|
|
1824
|
-
...omit(sendData, ["type"]),
|
|
1825
|
-
type: "ETHEREUM_LIKE_DEPLOY_CONTRACT",
|
|
1826
|
-
recipient: "0x0000000000000000000000000000000000000000",
|
|
1827
|
-
contractData: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 128 }),
|
|
1828
|
-
...opts
|
|
1829
|
-
};
|
|
1830
|
-
};
|
|
1831
|
-
var genGenericTransactionData = () => {
|
|
1832
|
-
return {
|
|
1833
|
-
type: "GENERIC_TRANSACTION",
|
|
1834
|
-
currency: "tron",
|
|
1835
|
-
rawTx: faker.string.alphanumeric({ length: 100 })
|
|
359
|
+
}
|
|
1836
360
|
};
|
|
1837
361
|
};
|
|
1838
|
-
var
|
|
362
|
+
var genEthereumLikeExecuteContractData = () => {
|
|
363
|
+
const sendData = genEthereumLikeSendData();
|
|
1839
364
|
return {
|
|
1840
|
-
type
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
1844
|
-
recipient: `0.0.${faker.number.int({ min: 1e7, max: 99999999 }).toString()}`,
|
|
1845
|
-
feeStrategy: {
|
|
1846
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
1847
|
-
}
|
|
365
|
+
...omit(sendData, ["type"]),
|
|
366
|
+
type: "ETHEREUM_LIKE_EXECUTE_CONTRACT",
|
|
367
|
+
contractData: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 128 })
|
|
1848
368
|
};
|
|
1849
369
|
};
|
|
1850
|
-
var
|
|
370
|
+
var genEthereumLikeDeployContractData = () => {
|
|
371
|
+
const sendData = genEthereumLikeSendData();
|
|
1851
372
|
return {
|
|
1852
|
-
type
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
feeStrategy: {
|
|
1857
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
1858
|
-
}
|
|
373
|
+
...omit(sendData, ["type"]),
|
|
374
|
+
type: "ETHEREUM_LIKE_DEPLOY_CONTRACT",
|
|
375
|
+
recipient: "",
|
|
376
|
+
contractData: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 128 })
|
|
1859
377
|
};
|
|
1860
378
|
};
|
|
379
|
+
var genGenericTransactionData = () => ({
|
|
380
|
+
type: "GENERIC_TRANSACTION",
|
|
381
|
+
currency: "tron",
|
|
382
|
+
rawTx: faker.string.alphanumeric({ length: 100 })
|
|
383
|
+
});
|
|
384
|
+
var genHederaLikeSendData = (txType) => ({
|
|
385
|
+
type: txType,
|
|
386
|
+
currency: "hedera",
|
|
387
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
388
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
389
|
+
recipient: `0.0.${faker.number.int({ min: 1e7, max: 99999999 }).toString()}`,
|
|
390
|
+
feeStrategy: {
|
|
391
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
var genHederaLikeStakeData = () => ({
|
|
395
|
+
type: "HEDERA_LIKE_STAKE",
|
|
396
|
+
currency: "hedera",
|
|
397
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
398
|
+
nodeId: faker.number.int({ min: 10, max: 99999999 }).toString(),
|
|
399
|
+
feeStrategy: {
|
|
400
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
401
|
+
}
|
|
402
|
+
});
|
|
1861
403
|
var genPolkadotLikeTxData = (txType) => {
|
|
1862
404
|
switch (txType) {
|
|
1863
405
|
case "POLKADOT_LIKE_SEND":
|
|
@@ -1898,10 +440,7 @@ var genPolkadotLikeTxData = (txType) => {
|
|
|
1898
440
|
};
|
|
1899
441
|
case "POLKADOT_LIKE_WITHDRAWUNBONDED":
|
|
1900
442
|
case "POLKADOT_LIKE_CHILL":
|
|
1901
|
-
return {
|
|
1902
|
-
type: txType,
|
|
1903
|
-
currency: "polkadot"
|
|
1904
|
-
};
|
|
443
|
+
return { type: txType, currency: "polkadot" };
|
|
1905
444
|
case "POLKADOT_LIKE_SETPAYEE":
|
|
1906
445
|
return {
|
|
1907
446
|
type: txType,
|
|
@@ -1910,25 +449,24 @@ var genPolkadotLikeTxData = (txType) => {
|
|
|
1910
449
|
};
|
|
1911
450
|
case "POLKADOT_LIKE_ANONYMOUSPROXY":
|
|
1912
451
|
case "POLKADOT_LIKE_KILLANONYMOUS":
|
|
1913
|
-
return {
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
};
|
|
1917
|
-
}
|
|
1918
|
-
};
|
|
1919
|
-
var genRippleLikeSendData = (txType) => {
|
|
1920
|
-
return {
|
|
1921
|
-
type: txType,
|
|
1922
|
-
currency: "ripple",
|
|
1923
|
-
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
1924
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
1925
|
-
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
1926
|
-
destinationTag: faker.helpers.arrayElement([faker.number.int().toString(), null]),
|
|
1927
|
-
feeStrategy: {
|
|
1928
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
452
|
+
return { type: txType, currency: "polkadot" };
|
|
453
|
+
default: {
|
|
454
|
+
const _exhaustive = txType;
|
|
455
|
+
throw new Error(`Unknown polkadot transaction type: ${_exhaustive}`);
|
|
1929
456
|
}
|
|
1930
|
-
}
|
|
457
|
+
}
|
|
1931
458
|
};
|
|
459
|
+
var genRippleLikeSendData = () => ({
|
|
460
|
+
type: "RIPPLE_LIKE_SEND",
|
|
461
|
+
currency: "ripple",
|
|
462
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
463
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
464
|
+
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
465
|
+
destinationTag: faker.helpers.arrayElement([faker.number.int().toString(), null]),
|
|
466
|
+
feeStrategy: {
|
|
467
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
468
|
+
}
|
|
469
|
+
});
|
|
1932
470
|
var genSolanaLikeTxData = (txType) => {
|
|
1933
471
|
switch (txType) {
|
|
1934
472
|
case "SOLANA_LIKE_SEND":
|
|
@@ -1999,161 +537,131 @@ var genSolanaLikeTxData = (txType) => {
|
|
|
1999
537
|
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
2000
538
|
}
|
|
2001
539
|
};
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
return {
|
|
2006
|
-
type: txType,
|
|
2007
|
-
currency: "stellar",
|
|
2008
|
-
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
2009
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
2010
|
-
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
2011
|
-
memo: faker.helpers.arrayElement([
|
|
2012
|
-
{ type: "MEMO_ID", value: faker.number.bigInt({ min: 0 }).toString() },
|
|
2013
|
-
{ type: "MEMO_TEXT", value: faker.word.conjunction(28) },
|
|
2014
|
-
{
|
|
2015
|
-
type: "MEMO_HASH",
|
|
2016
|
-
value: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 64 })
|
|
2017
|
-
},
|
|
2018
|
-
{
|
|
2019
|
-
type: "MEMO_RETURN",
|
|
2020
|
-
value: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 64 })
|
|
2021
|
-
},
|
|
2022
|
-
null
|
|
2023
|
-
]),
|
|
2024
|
-
feeStrategy: {
|
|
2025
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
540
|
+
default: {
|
|
541
|
+
const _exhaustive = txType;
|
|
542
|
+
throw new Error(`Unknown solana transaction type: ${_exhaustive}`);
|
|
2026
543
|
}
|
|
2027
|
-
}
|
|
544
|
+
}
|
|
2028
545
|
};
|
|
546
|
+
var genStellarLikeSendData = () => ({
|
|
547
|
+
type: "STELLAR_LIKE_SEND",
|
|
548
|
+
currency: "stellar",
|
|
549
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
550
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
551
|
+
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
552
|
+
memo: faker.helpers.arrayElement([
|
|
553
|
+
{ type: "MEMO_ID", value: faker.number.bigInt({ min: 0 }).toString() },
|
|
554
|
+
{ type: "MEMO_TEXT", value: faker.word.conjunction(28) },
|
|
555
|
+
{
|
|
556
|
+
type: "MEMO_HASH",
|
|
557
|
+
value: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 64 })
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
type: "MEMO_RETURN",
|
|
561
|
+
value: faker.string.hexadecimal({ prefix: "", casing: "lower", length: 64 })
|
|
562
|
+
},
|
|
563
|
+
null
|
|
564
|
+
]),
|
|
565
|
+
feeStrategy: {
|
|
566
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
567
|
+
}
|
|
568
|
+
});
|
|
2029
569
|
var genSuiLikeTxData = (txType) => {
|
|
2030
|
-
|
|
570
|
+
const base = {
|
|
2031
571
|
currency: "sui",
|
|
2032
572
|
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
2033
573
|
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
2034
|
-
feeStrategy: {
|
|
2035
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
2036
|
-
},
|
|
2037
|
-
...match(txType).with("SUI_LIKE_STAKE", (type) => ({
|
|
2038
|
-
type,
|
|
2039
|
-
validator: faker.string.alphanumeric({ length: 30 })
|
|
2040
|
-
})).with("SUI_LIKE_UNSTAKE", (type) => ({
|
|
2041
|
-
type,
|
|
2042
|
-
stakedSuiId: faker.string.alphanumeric({ length: 30 }),
|
|
2043
|
-
useAllAmount: faker.datatype.boolean()
|
|
2044
|
-
})).with(P.union("SUI_LIKE_SEND", "SUI_LIKE_SEND_TOKEN"), (type) => ({
|
|
2045
|
-
type,
|
|
2046
|
-
recipient: faker.string.alphanumeric({ length: 30 })
|
|
2047
|
-
})).exhaustive()
|
|
2048
|
-
};
|
|
2049
|
-
};
|
|
2050
|
-
var genTezosLikeTxData = (txType) => {
|
|
2051
|
-
return {
|
|
2052
|
-
type: txType,
|
|
2053
|
-
currency: "tezos",
|
|
2054
|
-
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
2055
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
2056
|
-
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
2057
|
-
feeStrategy: {
|
|
2058
|
-
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST", "CUSTOM"])
|
|
2059
|
-
}
|
|
2060
|
-
};
|
|
2061
|
-
};
|
|
2062
|
-
var genTronLikeTxData = (txType) => {
|
|
2063
|
-
return {
|
|
2064
|
-
type: txType,
|
|
2065
|
-
currency: "tron",
|
|
2066
|
-
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
2067
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
2068
|
-
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
2069
574
|
feeStrategy: {
|
|
2070
575
|
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
2071
576
|
}
|
|
2072
577
|
};
|
|
2073
|
-
};
|
|
2074
|
-
var genCantonLikeTxData = (txType) => {
|
|
2075
578
|
switch (txType) {
|
|
2076
|
-
case "
|
|
2077
|
-
case "CANTON_LIKE_SEND_TOKEN":
|
|
2078
|
-
return {
|
|
2079
|
-
type: txType,
|
|
2080
|
-
currency: "canton_network",
|
|
2081
|
-
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
2082
|
-
recipient: fakeCantonPartyId(),
|
|
2083
|
-
reason: faker.helpers.arrayElement([null, faker.lorem.word()])
|
|
2084
|
-
};
|
|
2085
|
-
case "CANTON_LIKE_WITHDRAW":
|
|
579
|
+
case "SUI_LIKE_STAKE":
|
|
2086
580
|
return {
|
|
581
|
+
...base,
|
|
2087
582
|
type: txType,
|
|
2088
|
-
|
|
2089
|
-
transferProposal: fakeCantonTransferProposal(),
|
|
2090
|
-
reason: faker.lorem.sentence()
|
|
583
|
+
validator: faker.string.alphanumeric({ length: 30 })
|
|
2091
584
|
};
|
|
2092
|
-
case "
|
|
585
|
+
case "SUI_LIKE_UNSTAKE":
|
|
2093
586
|
return {
|
|
587
|
+
...base,
|
|
2094
588
|
type: txType,
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
verdict: "ACCEPT",
|
|
2098
|
-
reason: faker.lorem.sentence()
|
|
589
|
+
stakedSuiId: faker.string.alphanumeric({ length: 30 }),
|
|
590
|
+
useAllAmount: faker.datatype.boolean()
|
|
2099
591
|
};
|
|
2100
|
-
case "
|
|
592
|
+
case "SUI_LIKE_SEND":
|
|
593
|
+
case "SUI_LIKE_SEND_TOKEN":
|
|
2101
594
|
return {
|
|
595
|
+
...base,
|
|
2102
596
|
type: txType,
|
|
2103
|
-
|
|
2104
|
-
recipient: fakeCantonPartyId()
|
|
597
|
+
recipient: faker.string.alphanumeric({ length: 30 })
|
|
2105
598
|
};
|
|
599
|
+
default: {
|
|
600
|
+
const _exhaustive = txType;
|
|
601
|
+
throw new Error(`Unknown sui transaction type: ${_exhaustive}`);
|
|
602
|
+
}
|
|
2106
603
|
}
|
|
2107
604
|
};
|
|
2108
|
-
var
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
}
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
605
|
+
var genTezosLikeTxData = (txType) => ({
|
|
606
|
+
type: txType,
|
|
607
|
+
currency: "tezos",
|
|
608
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
609
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
610
|
+
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
611
|
+
feeStrategy: {
|
|
612
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST", "CUSTOM"])
|
|
613
|
+
}
|
|
614
|
+
});
|
|
615
|
+
var genTronLikeTxData = (txType) => ({
|
|
616
|
+
type: txType,
|
|
617
|
+
currency: "tron",
|
|
618
|
+
amount: faker.number.bigInt({ min: 0 }).toString(),
|
|
619
|
+
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
620
|
+
recipient: faker.string.alphanumeric({ length: 30 }),
|
|
621
|
+
feeStrategy: {
|
|
622
|
+
type: faker.helpers.arrayElement(["SLOW", "NORMAL", "FAST"])
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
|
|
626
|
+
// src/__fakes__/trpc/transactions/index.ts
|
|
627
|
+
var genOutgoingTxData = (opts) => {
|
|
628
|
+
let txDataDefaults;
|
|
629
|
+
switch (opts.type) {
|
|
2122
630
|
case "BITCOIN_LIKE_SEND":
|
|
2123
|
-
|
|
631
|
+
txDataDefaults = genBitcoinLikeSendData();
|
|
2124
632
|
break;
|
|
2125
633
|
case "CANTON_LIKE_SEND":
|
|
2126
634
|
case "CANTON_LIKE_SEND_TOKEN":
|
|
2127
635
|
case "CANTON_LIKE_WITHDRAW":
|
|
2128
636
|
case "CANTON_LIKE_RECEIVE":
|
|
2129
637
|
case "CANTON_LIKE_PRE_APPROVAL":
|
|
2130
|
-
|
|
638
|
+
txDataDefaults = genCantonLikeTxData(opts.type);
|
|
2131
639
|
break;
|
|
2132
640
|
case "CARDANO_LIKE_SEND":
|
|
2133
641
|
case "CARDANO_LIKE_STAKING_REGISTER":
|
|
2134
642
|
case "CARDANO_LIKE_STAKING_DEREGISTER":
|
|
2135
643
|
case "CARDANO_LIKE_STAKING_DELEGATE":
|
|
2136
644
|
case "CARDANO_LIKE_STAKING_WITHDRAW":
|
|
2137
|
-
|
|
645
|
+
txDataDefaults = genCardanoLikeTxData(opts.type);
|
|
2138
646
|
break;
|
|
2139
647
|
case "ETHEREUM_LIKE_SEND":
|
|
2140
|
-
|
|
648
|
+
txDataDefaults = genEthereumLikeSendData();
|
|
2141
649
|
break;
|
|
2142
650
|
case "ETHEREUM_LIKE_EXECUTE_CONTRACT":
|
|
2143
|
-
|
|
651
|
+
txDataDefaults = genEthereumLikeExecuteContractData();
|
|
2144
652
|
break;
|
|
2145
653
|
case "ETHEREUM_LIKE_DEPLOY_CONTRACT":
|
|
2146
|
-
|
|
654
|
+
txDataDefaults = genEthereumLikeDeployContractData();
|
|
2147
655
|
break;
|
|
2148
656
|
case "GENERIC_TRANSACTION":
|
|
2149
|
-
|
|
657
|
+
txDataDefaults = genGenericTransactionData();
|
|
2150
658
|
break;
|
|
2151
659
|
case "HEDERA_LIKE_SEND":
|
|
2152
660
|
case "HEDERA_LIKE_SEND_TOKEN":
|
|
2153
|
-
|
|
661
|
+
txDataDefaults = genHederaLikeSendData(opts.type);
|
|
2154
662
|
break;
|
|
2155
663
|
case "HEDERA_LIKE_STAKE":
|
|
2156
|
-
|
|
664
|
+
txDataDefaults = genHederaLikeStakeData();
|
|
2157
665
|
break;
|
|
2158
666
|
case "POLKADOT_LIKE_SEND":
|
|
2159
667
|
case "POLKADOT_LIKE_ADDPROXY":
|
|
@@ -2167,10 +675,10 @@ var genCreateTransactionData = (opts) => {
|
|
|
2167
675
|
case "POLKADOT_LIKE_ANONYMOUSPROXY":
|
|
2168
676
|
case "POLKADOT_LIKE_KILLANONYMOUS":
|
|
2169
677
|
case "POLKADOT_LIKE_CHILL":
|
|
2170
|
-
|
|
678
|
+
txDataDefaults = genPolkadotLikeTxData(opts.type);
|
|
2171
679
|
break;
|
|
2172
680
|
case "RIPPLE_LIKE_SEND":
|
|
2173
|
-
|
|
681
|
+
txDataDefaults = genRippleLikeSendData();
|
|
2174
682
|
break;
|
|
2175
683
|
case "SOLANA_LIKE_SEND":
|
|
2176
684
|
case "SOLANA_LIKE_CREATE_DELEGATE_STAKE":
|
|
@@ -2183,2047 +691,519 @@ var genCreateTransactionData = (opts) => {
|
|
|
2183
691
|
case "SOLANA_LIKE_SEND_TOKEN":
|
|
2184
692
|
case "SOLANA_LIKE_FUND_AND_SEND_TOKEN":
|
|
2185
693
|
case "SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT":
|
|
2186
|
-
|
|
694
|
+
txDataDefaults = genSolanaLikeTxData(opts.type);
|
|
2187
695
|
break;
|
|
2188
696
|
case "STELLAR_LIKE_SEND":
|
|
2189
|
-
|
|
697
|
+
txDataDefaults = genStellarLikeSendData();
|
|
2190
698
|
break;
|
|
2191
699
|
case "TEZOS_LIKE_SEND":
|
|
2192
700
|
case "TEZOS_LIKE_DELEGATE":
|
|
2193
701
|
case "TEZOS_LIKE_UNDELEGATE":
|
|
2194
|
-
|
|
702
|
+
txDataDefaults = genTezosLikeTxData(opts.type);
|
|
2195
703
|
break;
|
|
2196
704
|
case "SUI_LIKE_SEND":
|
|
2197
705
|
case "SUI_LIKE_SEND_TOKEN":
|
|
2198
706
|
case "SUI_LIKE_STAKE":
|
|
2199
707
|
case "SUI_LIKE_UNSTAKE":
|
|
2200
|
-
|
|
708
|
+
txDataDefaults = genSuiLikeTxData(opts.type);
|
|
2201
709
|
break;
|
|
2202
710
|
case "TRON_LIKE_SEND":
|
|
2203
711
|
case "TRON_LIKE_SEND_TOKEN":
|
|
2204
|
-
|
|
712
|
+
txDataDefaults = genTronLikeTxData(opts.type);
|
|
713
|
+
break;
|
|
714
|
+
default:
|
|
715
|
+
txDataDefaults = unreachable(opts.type);
|
|
2205
716
|
break;
|
|
2206
717
|
}
|
|
2207
|
-
return {
|
|
2208
|
-
accountId: accountId ?? faker.string.uuid(),
|
|
2209
|
-
transaction: mergeTransactionData(transactionDefaults, transaction)
|
|
2210
|
-
};
|
|
2211
|
-
};
|
|
2212
|
-
var shouldHaveTargetHsmId = (request) => {
|
|
2213
|
-
switch (request.type) {
|
|
2214
|
-
case RequestType.CREATE_ENTITY:
|
|
2215
|
-
case RequestType.EDIT_ENTITY:
|
|
2216
|
-
case RequestType.REVOKE_ENTITY:
|
|
2217
|
-
case RequestType.CREATE_SCICONFIG:
|
|
2218
|
-
case RequestType.EDIT_SCICONFIG:
|
|
2219
|
-
case RequestType.CREATE_API_KEY:
|
|
2220
|
-
case RequestType.EDIT_API_KEY:
|
|
2221
|
-
case RequestType.REVOKE_API_KEY:
|
|
2222
|
-
case RequestType.EDIT_WORKSPACE_RULE:
|
|
2223
|
-
case RequestType.UPDATE_QUORUM:
|
|
2224
|
-
return false;
|
|
2225
|
-
case RequestType.CREATE_PSD_USER:
|
|
2226
|
-
case RequestType.CREATE_API_USER:
|
|
2227
|
-
case RequestType.CREATE_API_USER_ACCESS:
|
|
2228
|
-
// targeting / editing an existing `User`
|
|
2229
|
-
case RequestType.REVOKE_USER:
|
|
2230
|
-
case RequestType.CREATE_TRANSACTION:
|
|
2231
|
-
case RequestType.SIGN_MESSAGE:
|
|
2232
|
-
case RequestType.SIGN_DIGESTS:
|
|
2233
|
-
case RequestType.CREATE_ACCOUNT:
|
|
2234
|
-
case RequestType.EDIT_ACCOUNT:
|
|
2235
|
-
case RequestType.TRADELINK_ACTIVATE_ACCOUNT:
|
|
2236
|
-
case RequestType.CREATE_GROUP:
|
|
2237
|
-
case RequestType.EDIT_GROUP:
|
|
2238
|
-
case RequestType.REVOKE_GROUP:
|
|
2239
|
-
case RequestType.CREATE_WHITELIST:
|
|
2240
|
-
case RequestType.EDIT_WHITELIST:
|
|
2241
|
-
case RequestType.CREATE_POLICY:
|
|
2242
|
-
case RequestType.EDIT_POLICY:
|
|
2243
|
-
case RequestType.TRADELINK_CREATE_CUSTODIAN:
|
|
2244
|
-
case RequestType.TRADELINK_EDIT_CUSTODIAN:
|
|
2245
|
-
case RequestType.TRADELINK_CREATE_EXCHANGE:
|
|
2246
|
-
case RequestType.TRADELINK_EDIT_EXCHANGE:
|
|
2247
|
-
case RequestType.TRADELINK_CREATE_ASSET_MANAGER:
|
|
2248
|
-
case RequestType.TRADELINK_EDIT_ASSET_MANAGER:
|
|
2249
|
-
return request.state !== RequestState.INITIAL;
|
|
2250
|
-
case RequestType.EDIT_TOKEN_RULE:
|
|
2251
|
-
return true;
|
|
2252
|
-
}
|
|
2253
|
-
};
|
|
2254
|
-
var shouldHaveTargetId = (type) => {
|
|
2255
|
-
switch (type) {
|
|
2256
|
-
case RequestType.CREATE_API_KEY:
|
|
2257
|
-
case RequestType.EDIT_API_KEY:
|
|
2258
|
-
case RequestType.REVOKE_API_KEY:
|
|
2259
|
-
return false;
|
|
2260
|
-
case RequestType.CREATE_TRANSACTION:
|
|
2261
|
-
case RequestType.SIGN_DIGESTS:
|
|
2262
|
-
case RequestType.UPDATE_QUORUM:
|
|
2263
|
-
case RequestType.CREATE_PSD_USER:
|
|
2264
|
-
case RequestType.CREATE_API_USER:
|
|
2265
|
-
case RequestType.CREATE_SCICONFIG:
|
|
2266
|
-
case RequestType.CREATE_ACCOUNT:
|
|
2267
|
-
case RequestType.CREATE_API_USER_ACCESS:
|
|
2268
|
-
case RequestType.CREATE_ENTITY:
|
|
2269
|
-
case RequestType.CREATE_GROUP:
|
|
2270
|
-
case RequestType.CREATE_POLICY:
|
|
2271
|
-
case RequestType.CREATE_WHITELIST:
|
|
2272
|
-
case RequestType.EDIT_WORKSPACE_RULE:
|
|
2273
|
-
case RequestType.EDIT_ACCOUNT:
|
|
2274
|
-
case RequestType.EDIT_TOKEN_RULE:
|
|
2275
|
-
// EDIT_TOKEN_RULE targetId is the parent account which must always exist, even when creating new token rule.
|
|
2276
|
-
case RequestType.EDIT_GROUP:
|
|
2277
|
-
case RequestType.EDIT_ENTITY:
|
|
2278
|
-
case RequestType.EDIT_SCICONFIG:
|
|
2279
|
-
case RequestType.EDIT_POLICY:
|
|
2280
|
-
case RequestType.EDIT_WHITELIST:
|
|
2281
|
-
case RequestType.REVOKE_ENTITY:
|
|
2282
|
-
case RequestType.REVOKE_GROUP:
|
|
2283
|
-
case RequestType.REVOKE_USER:
|
|
2284
|
-
case RequestType.SIGN_MESSAGE:
|
|
2285
|
-
case RequestType.TRADELINK_ACTIVATE_ACCOUNT:
|
|
2286
|
-
case RequestType.TRADELINK_CREATE_ASSET_MANAGER:
|
|
2287
|
-
case RequestType.TRADELINK_CREATE_CUSTODIAN:
|
|
2288
|
-
case RequestType.TRADELINK_CREATE_EXCHANGE:
|
|
2289
|
-
case RequestType.TRADELINK_EDIT_CUSTODIAN:
|
|
2290
|
-
case RequestType.TRADELINK_EDIT_EXCHANGE:
|
|
2291
|
-
case RequestType.TRADELINK_EDIT_ASSET_MANAGER:
|
|
2292
|
-
case RequestType.TRADELINK_ADJUST_PLEDGE:
|
|
2293
|
-
case RequestType.TRADELINK_REPLEDGE:
|
|
2294
|
-
case RequestType.TRADELINK_CREATE_SETTLEMENT:
|
|
2295
|
-
case RequestType.TRADELINK_FORCE_UNPLEDGE:
|
|
2296
|
-
case RequestType.TRADELINK_WITHDRAW:
|
|
2297
|
-
case RequestType.TRADELINK_ARBITRATE:
|
|
2298
|
-
return true;
|
|
2299
|
-
}
|
|
2300
|
-
};
|
|
2301
|
-
var genCreateAccountData = (opts) => {
|
|
2302
|
-
return {
|
|
2303
|
-
name: fakeUniqueName(),
|
|
2304
|
-
type: "BITCOIN_LIKE",
|
|
2305
|
-
currency: "bitcoin",
|
|
2306
|
-
contractAddress: null,
|
|
2307
|
-
tokenIdentifier: null,
|
|
2308
|
-
governance: {
|
|
2309
|
-
type: "CLASSIC",
|
|
2310
|
-
policy: { rules: [] }
|
|
2311
|
-
// TODO: account gov rules should not be empty
|
|
2312
|
-
},
|
|
2313
|
-
index: 0,
|
|
2314
|
-
derivationPath: "m/84'/0'/0'",
|
|
2315
|
-
...opts
|
|
2316
|
-
};
|
|
2317
|
-
};
|
|
2318
|
-
var genEditAccountData = (opts) => {
|
|
2319
|
-
return {
|
|
2320
|
-
name: fakeUniqueName(),
|
|
2321
|
-
governance: {
|
|
2322
|
-
type: "CLASSIC",
|
|
2323
|
-
policy: { rules: [] }
|
|
2324
|
-
// TODO: account gov rules should not be empty
|
|
2325
|
-
},
|
|
2326
|
-
...opts
|
|
2327
|
-
};
|
|
2328
|
-
};
|
|
2329
|
-
var genEditTokenRuleData = (opts) => {
|
|
2330
|
-
return {
|
|
2331
|
-
parentAccountId: faker.string.uuid(),
|
|
2332
|
-
contractAddress: faker.string.alphanumeric({ length: 44 }),
|
|
2333
|
-
rules: [
|
|
2334
|
-
{
|
|
2335
|
-
operationType: "SEND",
|
|
2336
|
-
reviewSteps: [
|
|
2337
|
-
{
|
|
2338
|
-
quorum: 1,
|
|
2339
|
-
userIds: []
|
|
2340
|
-
}
|
|
2341
|
-
]
|
|
2342
|
-
}
|
|
2343
|
-
],
|
|
2344
|
-
...opts
|
|
2345
|
-
};
|
|
2346
|
-
};
|
|
2347
|
-
var genCreateApiKeyData = (opts) => {
|
|
2348
|
-
return {
|
|
2349
|
-
name: faker.company.name().slice(0, 19),
|
|
2350
|
-
entities: [],
|
|
2351
|
-
scopes: {},
|
|
2352
|
-
// FIXME what should we put there?
|
|
2353
|
-
...opts
|
|
2354
|
-
};
|
|
2355
|
-
};
|
|
2356
|
-
var genEditApiKeyData = (opts) => {
|
|
2357
|
-
return {
|
|
2358
|
-
name: faker.company.name().slice(0, 19),
|
|
2359
|
-
entities: [],
|
|
2360
|
-
scopes: {},
|
|
2361
|
-
// FIXME what should we put there?
|
|
2362
|
-
...opts
|
|
2363
|
-
};
|
|
2364
|
-
};
|
|
2365
|
-
var genSignDigestsData = (opts) => {
|
|
2366
|
-
const { accountId, digests } = opts ?? {};
|
|
2367
|
-
return {
|
|
2368
|
-
accountId: accountId ?? faker.string.uuid(),
|
|
2369
|
-
digests: digests ?? [
|
|
2370
|
-
{
|
|
2371
|
-
digest: faker.string.hexadecimal({ prefix: "", length: 64 }),
|
|
2372
|
-
derivationPath: "m/44'/60'/0'"
|
|
2373
|
-
}
|
|
2374
|
-
]
|
|
2375
|
-
};
|
|
2376
|
-
};
|
|
2377
|
-
var genCreateEntityData = (opts) => {
|
|
2378
|
-
return {
|
|
2379
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2380
|
-
accountIds: [],
|
|
2381
|
-
memberIds: [],
|
|
2382
|
-
...opts
|
|
2383
|
-
};
|
|
2384
|
-
};
|
|
2385
|
-
var genEditEntityData = (opts) => {
|
|
2386
|
-
return {
|
|
2387
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2388
|
-
accountIds: [],
|
|
2389
|
-
memberIds: [],
|
|
2390
|
-
...opts
|
|
2391
|
-
};
|
|
2392
|
-
};
|
|
2393
|
-
var genCreateGroupData = (opts) => {
|
|
2394
|
-
return {
|
|
2395
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2396
|
-
description: faker.lorem.sentence(),
|
|
2397
|
-
members: [],
|
|
2398
|
-
...opts
|
|
2399
|
-
};
|
|
2400
|
-
};
|
|
2401
|
-
var genEditGroupData = (opts) => {
|
|
2402
|
-
return {
|
|
2403
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2404
|
-
description: faker.lorem.sentence(),
|
|
2405
|
-
members: [],
|
|
2406
|
-
...opts
|
|
2407
|
-
};
|
|
2408
|
-
};
|
|
2409
|
-
var genCreatePolicyData = (opts) => {
|
|
2410
|
-
return {
|
|
2411
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2412
|
-
description: faker.lorem.sentence(),
|
|
2413
|
-
currency: "bitcoin",
|
|
2414
|
-
govRules: [],
|
|
2415
|
-
...opts
|
|
2416
|
-
};
|
|
2417
|
-
};
|
|
2418
|
-
var genEditPolicyData = (opts) => {
|
|
2419
|
-
return {
|
|
2420
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2421
|
-
description: faker.lorem.sentence(),
|
|
2422
|
-
govRules: [],
|
|
2423
|
-
...opts
|
|
2424
|
-
};
|
|
718
|
+
return { ...txDataDefaults, ...opts };
|
|
2425
719
|
};
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
720
|
+
|
|
721
|
+
// src/__fakes__/trpc/request-data/transaction.ts
|
|
722
|
+
var ACCOUNT_TYPE_DEFAULT_CURRENCY = {
|
|
723
|
+
BITCOIN_LIKE: "bitcoin",
|
|
724
|
+
CANTON_LIKE: "canton_network",
|
|
725
|
+
CARDANO_LIKE: "cardano",
|
|
726
|
+
ETHEREUM_LIKE: "ethereum",
|
|
727
|
+
GENERIC_LIKE: "tron",
|
|
728
|
+
HEDERA_LIKE: "hedera",
|
|
729
|
+
POLKADOT_LIKE: "polkadot",
|
|
730
|
+
RAW_SIGNING: "bitcoin",
|
|
731
|
+
RIPPLE_LIKE: "ripple",
|
|
732
|
+
SOLANA_LIKE: "solana",
|
|
733
|
+
STELLAR_LIKE: "stellar",
|
|
734
|
+
SUI_LIKE: "sui",
|
|
735
|
+
TEZOS_LIKE: "tezos",
|
|
736
|
+
TRON_LIKE: "tron"
|
|
2435
737
|
};
|
|
2436
|
-
var
|
|
738
|
+
var genCreateTransactionData = (opts) => {
|
|
739
|
+
const accountId = opts?.accountId ?? faker.string.uuid();
|
|
740
|
+
const txOpts = opts?.transaction ?? { type: "ETHEREUM_LIKE_SEND" };
|
|
2437
741
|
return {
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
customContractCallEnabled: faker.datatype.boolean()
|
|
2441
|
-
},
|
|
2442
|
-
...opts
|
|
742
|
+
accountId,
|
|
743
|
+
transaction: genOutgoingTxData(txOpts)
|
|
2443
744
|
};
|
|
2444
745
|
};
|
|
2445
|
-
var
|
|
2446
|
-
|
|
2447
|
-
exchangeId: faker.string.uuid(),
|
|
2448
|
-
amount: "42",
|
|
2449
|
-
...opts
|
|
2450
|
-
});
|
|
2451
|
-
var genRepledgeRequestData = (opts) => ({
|
|
2452
|
-
accountId: faker.string.uuid(),
|
|
2453
|
-
exchangeId: faker.string.uuid(),
|
|
2454
|
-
amount: "42",
|
|
2455
|
-
...opts
|
|
2456
|
-
});
|
|
2457
|
-
var genCreateSettlementData = (opts) => ({
|
|
2458
|
-
accountId: faker.string.uuid(),
|
|
2459
|
-
exchangeId: faker.string.uuid(),
|
|
2460
|
-
transaction: {
|
|
2461
|
-
type: "BITCOIN_LIKE_SEND",
|
|
2462
|
-
amount: "42",
|
|
2463
|
-
currency: "bitcoin",
|
|
2464
|
-
maxFee: "999",
|
|
2465
|
-
recipient: faker.finance.bitcoinAddress(),
|
|
2466
|
-
feeStrategy: { type: "NORMAL" }
|
|
2467
|
-
},
|
|
746
|
+
var genCreatePsdUserData = (opts) => ({
|
|
747
|
+
registrationId: faker.string.uuid(),
|
|
2468
748
|
...opts
|
|
2469
749
|
});
|
|
2470
|
-
var
|
|
2471
|
-
|
|
2472
|
-
|
|
750
|
+
var genCreateApiUserData = (opts) => ({
|
|
751
|
+
name: faker.person.firstName(),
|
|
752
|
+
pubKey: genPubKey(),
|
|
753
|
+
role: "OPERATOR",
|
|
754
|
+
viewAll: false,
|
|
2473
755
|
...opts
|
|
2474
756
|
});
|
|
2475
|
-
var
|
|
2476
|
-
|
|
2477
|
-
transaction: {
|
|
2478
|
-
type: "ETHEREUM_LIKE_SEND",
|
|
2479
|
-
recipient: "0x63e4195AF1509490b430F3f5bCb85A82a24F5C82",
|
|
2480
|
-
amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),
|
|
2481
|
-
maxFee: faker.number.bigInt({ min: 1 }).toString(),
|
|
2482
|
-
currency: "ethereum",
|
|
2483
|
-
feeStrategy: {
|
|
2484
|
-
type: "NORMAL",
|
|
2485
|
-
gasPrice: "2",
|
|
2486
|
-
gasLimit: "10"
|
|
2487
|
-
}
|
|
2488
|
-
},
|
|
757
|
+
var genCreateApiUserAccessData = (opts) => ({
|
|
758
|
+
name: faker.person.firstName(),
|
|
2489
759
|
...opts
|
|
2490
760
|
});
|
|
2491
|
-
var
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
761
|
+
var genCreateWhitelistData = (opts) => ({
|
|
762
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
763
|
+
description: faker.lorem.sentence(),
|
|
764
|
+
type: faker.helpers.arrayElement(["TRANSACTION", "SMART_CONTRACT"]),
|
|
765
|
+
addresses: [
|
|
766
|
+
{
|
|
767
|
+
name: faker.lorem.words(3),
|
|
768
|
+
currency: "bitcoin",
|
|
769
|
+
address: faker.finance.bitcoinAddress(),
|
|
770
|
+
destinationTags: []
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
name: faker.lorem.words(3),
|
|
774
|
+
currency: "ethereum",
|
|
775
|
+
address: faker.finance.ethereumAddress(),
|
|
776
|
+
destinationTags: []
|
|
2503
777
|
}
|
|
2504
|
-
|
|
2505
|
-
...opts
|
|
2506
|
-
});
|
|
2507
|
-
var
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
{
|
|
2533
|
-
name: faker.lorem.words(3),
|
|
2534
|
-
currency: "bitcoin",
|
|
2535
|
-
address: faker.finance.bitcoinAddress(),
|
|
2536
|
-
destinationTags: []
|
|
2537
|
-
},
|
|
2538
|
-
{
|
|
2539
|
-
name: faker.lorem.words(3),
|
|
2540
|
-
currency: "ethereum",
|
|
2541
|
-
address: faker.finance.ethereumAddress(),
|
|
2542
|
-
destinationTags: []
|
|
2543
|
-
}
|
|
2544
|
-
],
|
|
2545
|
-
...opts
|
|
2546
|
-
};
|
|
2547
|
-
};
|
|
2548
|
-
var genEditWhitelistData = (opts) => {
|
|
2549
|
-
return {
|
|
2550
|
-
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
2551
|
-
addresses: [
|
|
2552
|
-
{
|
|
2553
|
-
name: faker.lorem.words(3),
|
|
2554
|
-
currency: "bitcoin",
|
|
2555
|
-
address: faker.finance.bitcoinAddress(),
|
|
2556
|
-
destinationTags: []
|
|
2557
|
-
},
|
|
2558
|
-
{
|
|
2559
|
-
name: faker.lorem.words(3),
|
|
2560
|
-
currency: "ethereum",
|
|
2561
|
-
address: faker.finance.ethereumAddress(),
|
|
2562
|
-
destinationTags: []
|
|
2563
|
-
}
|
|
2564
|
-
],
|
|
2565
|
-
...opts
|
|
2566
|
-
};
|
|
2567
|
-
};
|
|
2568
|
-
var genWorkspaceRuleData = (opts) => {
|
|
2569
|
-
return {
|
|
2570
|
-
permission: AdminPermission.CREATE_ACCOUNT_WITH_POLICY,
|
|
2571
|
-
reviewConfig: [{ userIds: [], quorum: 2 }],
|
|
2572
|
-
...opts
|
|
2573
|
-
};
|
|
2574
|
-
};
|
|
778
|
+
],
|
|
779
|
+
...opts
|
|
780
|
+
});
|
|
781
|
+
var genEditWhitelistData = (opts) => ({
|
|
782
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
783
|
+
addresses: [
|
|
784
|
+
{
|
|
785
|
+
name: faker.lorem.words(3),
|
|
786
|
+
currency: "bitcoin",
|
|
787
|
+
address: faker.finance.bitcoinAddress(),
|
|
788
|
+
destinationTags: []
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
name: faker.lorem.words(3),
|
|
792
|
+
currency: "ethereum",
|
|
793
|
+
address: faker.finance.ethereumAddress(),
|
|
794
|
+
destinationTags: []
|
|
795
|
+
}
|
|
796
|
+
],
|
|
797
|
+
...opts
|
|
798
|
+
});
|
|
799
|
+
|
|
800
|
+
// src/__fakes__/trpc/request-data/workspace-rule.ts
|
|
801
|
+
var genWorkspaceRuleData = (opts) => ({
|
|
802
|
+
permission: "CREATE_ACCOUNT_WITH_POLICY",
|
|
803
|
+
reviewConfig: [{ userIds: [], quorum: 2 }],
|
|
804
|
+
...opts
|
|
805
|
+
});
|
|
2575
806
|
|
|
2576
|
-
// src/__fakes__/
|
|
807
|
+
// src/__fakes__/trpc/request-data/index.ts
|
|
2577
808
|
var genRequestData = (type, opts) => {
|
|
2578
809
|
switch (type) {
|
|
2579
810
|
// Workspace...
|
|
2580
|
-
case
|
|
811
|
+
case "UPDATE_QUORUM":
|
|
2581
812
|
return { quorum: 3, ...opts };
|
|
2582
813
|
// User...
|
|
2583
|
-
case
|
|
814
|
+
case "CREATE_PSD_USER":
|
|
2584
815
|
return genCreatePsdUserData(opts);
|
|
2585
|
-
case
|
|
816
|
+
case "CREATE_API_USER":
|
|
2586
817
|
return genCreateApiUserData(opts);
|
|
2587
|
-
case
|
|
818
|
+
case "CREATE_API_USER_ACCESS":
|
|
2588
819
|
return genCreateApiUserAccessData(opts);
|
|
2589
|
-
case
|
|
820
|
+
case "REVOKE_USER":
|
|
2590
821
|
return {};
|
|
2591
822
|
// Admin gov rule...
|
|
2592
|
-
case
|
|
823
|
+
case "EDIT_WORKSPACE_RULE":
|
|
2593
824
|
return genWorkspaceRuleData(opts);
|
|
2594
825
|
// Group...
|
|
2595
|
-
case
|
|
826
|
+
case "CREATE_GROUP":
|
|
2596
827
|
return genCreateGroupData(opts);
|
|
2597
|
-
case
|
|
828
|
+
case "EDIT_GROUP":
|
|
2598
829
|
return genEditGroupData(opts);
|
|
2599
|
-
case
|
|
830
|
+
case "REVOKE_GROUP":
|
|
2600
831
|
return {};
|
|
2601
832
|
// ApiKey...
|
|
2602
|
-
case
|
|
833
|
+
case "CREATE_API_KEY":
|
|
2603
834
|
return genCreateApiKeyData(opts);
|
|
2604
|
-
case
|
|
835
|
+
case "EDIT_API_KEY":
|
|
2605
836
|
return genEditApiKeyData(opts);
|
|
2606
|
-
case
|
|
837
|
+
case "REVOKE_API_KEY":
|
|
2607
838
|
return {};
|
|
2608
839
|
// Whitelist...
|
|
2609
|
-
case
|
|
840
|
+
case "CREATE_WHITELIST":
|
|
2610
841
|
return genCreateWhitelistData(opts);
|
|
2611
|
-
case
|
|
842
|
+
case "EDIT_WHITELIST":
|
|
2612
843
|
return genEditWhitelistData(opts);
|
|
2613
844
|
// Entity...
|
|
2614
|
-
case
|
|
845
|
+
case "CREATE_ENTITY":
|
|
2615
846
|
return genCreateEntityData(opts);
|
|
2616
|
-
case
|
|
847
|
+
case "EDIT_ENTITY":
|
|
2617
848
|
return genEditEntityData(opts);
|
|
2618
|
-
case
|
|
849
|
+
case "REVOKE_ENTITY":
|
|
2619
850
|
return {};
|
|
2620
851
|
// Account...
|
|
2621
|
-
case
|
|
852
|
+
case "CREATE_ACCOUNT":
|
|
2622
853
|
return genCreateAccountData(opts);
|
|
2623
|
-
case
|
|
854
|
+
case "EDIT_ACCOUNT":
|
|
2624
855
|
return genEditAccountData(opts);
|
|
2625
|
-
case
|
|
856
|
+
case "EDIT_TOKEN_RULE":
|
|
2626
857
|
return genEditTokenRuleData(opts);
|
|
2627
858
|
// Operator requests...
|
|
2628
|
-
case
|
|
859
|
+
case "CREATE_TRANSACTION":
|
|
2629
860
|
return genCreateTransactionData(opts);
|
|
2630
|
-
case
|
|
861
|
+
case "SIGN_MESSAGE":
|
|
2631
862
|
return genSignMessageData(opts);
|
|
2632
|
-
case
|
|
863
|
+
case "SIGN_DIGESTS":
|
|
2633
864
|
return genSignDigestsData(opts);
|
|
2634
865
|
// SCI config...
|
|
2635
|
-
case
|
|
866
|
+
case "CREATE_SCICONFIG":
|
|
2636
867
|
return genCreateSciConfigData(opts);
|
|
2637
|
-
case
|
|
868
|
+
case "EDIT_SCICONFIG":
|
|
2638
869
|
return genEditSciConfigData(opts);
|
|
2639
870
|
// Policy
|
|
2640
|
-
case
|
|
871
|
+
case "CREATE_POLICY":
|
|
2641
872
|
return genCreatePolicyData(opts);
|
|
2642
|
-
case
|
|
873
|
+
case "EDIT_POLICY":
|
|
2643
874
|
return genEditPolicyData(opts);
|
|
2644
875
|
// Tradelink...
|
|
2645
|
-
case
|
|
2646
|
-
return
|
|
2647
|
-
case
|
|
2648
|
-
return
|
|
2649
|
-
case
|
|
2650
|
-
return
|
|
2651
|
-
case
|
|
876
|
+
case "TRADELINK_ADJUST_PLEDGE":
|
|
877
|
+
return genTradelinkAdjustPledgeData(opts);
|
|
878
|
+
case "TRADELINK_CREATE_SETTLEMENT":
|
|
879
|
+
return genTradelinkCreateSettlementData(opts);
|
|
880
|
+
case "TRADELINK_FORCE_UNPLEDGE":
|
|
881
|
+
return genTradelinkForceUnpledgeData(opts);
|
|
882
|
+
case "TRADELINK_WITHDRAW":
|
|
2652
883
|
return genTradelinkWithdrawData(opts);
|
|
2653
|
-
case
|
|
2654
|
-
return
|
|
2655
|
-
case
|
|
884
|
+
case "TRADELINK_REPLEDGE":
|
|
885
|
+
return genTradelinkRepledgeData(opts);
|
|
886
|
+
case "TRADELINK_ARBITRATE":
|
|
2656
887
|
return genTradelinkArbitrationData(opts);
|
|
2657
|
-
default:
|
|
2658
|
-
|
|
2659
|
-
throw new Error(`Unknown request type: ${unknownType}`);
|
|
2660
|
-
}
|
|
888
|
+
default:
|
|
889
|
+
return unreachable(type);
|
|
2661
890
|
}
|
|
2662
891
|
};
|
|
2663
|
-
var
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
};
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
signature = fakePsdSignature();
|
|
2705
|
-
break;
|
|
2706
|
-
case ChallengeType.API:
|
|
2707
|
-
signature = fakeJws();
|
|
2708
|
-
break;
|
|
2709
|
-
case ChallengeType.SOFT:
|
|
2710
|
-
signature = "";
|
|
2711
|
-
break;
|
|
2712
|
-
}
|
|
892
|
+
var ACCOUNT_TYPES = [
|
|
893
|
+
"BITCOIN_LIKE",
|
|
894
|
+
"CANTON_LIKE",
|
|
895
|
+
"CARDANO_LIKE",
|
|
896
|
+
"ETHEREUM_LIKE",
|
|
897
|
+
"GENERIC_LIKE",
|
|
898
|
+
"HEDERA_LIKE",
|
|
899
|
+
"POLKADOT_LIKE",
|
|
900
|
+
"RAW_SIGNING",
|
|
901
|
+
"RIPPLE_LIKE",
|
|
902
|
+
"SOLANA_LIKE",
|
|
903
|
+
"STELLAR_LIKE",
|
|
904
|
+
"SUI_LIKE",
|
|
905
|
+
"TEZOS_LIKE",
|
|
906
|
+
"TRON_LIKE"
|
|
907
|
+
];
|
|
908
|
+
var genAssetFields = (type) => {
|
|
909
|
+
switch (type) {
|
|
910
|
+
case "RAW_SIGNING":
|
|
911
|
+
case "GENERIC_LIKE":
|
|
912
|
+
return { type };
|
|
913
|
+
case "BITCOIN_LIKE":
|
|
914
|
+
return { type, xpub: genHexString(120, "lower") };
|
|
915
|
+
case "CANTON_LIKE":
|
|
916
|
+
case "CARDANO_LIKE":
|
|
917
|
+
case "POLKADOT_LIKE":
|
|
918
|
+
case "RIPPLE_LIKE":
|
|
919
|
+
case "STELLAR_LIKE":
|
|
920
|
+
case "SUI_LIKE":
|
|
921
|
+
case "TEZOS_LIKE":
|
|
922
|
+
return { type, address: faker.string.alphanumeric({ length: 34 }) };
|
|
923
|
+
case "ETHEREUM_LIKE":
|
|
924
|
+
case "SOLANA_LIKE":
|
|
925
|
+
case "TRON_LIKE":
|
|
926
|
+
return { type, address: faker.string.alphanumeric({ length: 42 }) };
|
|
927
|
+
case "HEDERA_LIKE":
|
|
928
|
+
return {
|
|
929
|
+
type,
|
|
930
|
+
address: `0.0.${faker.number.int({ min: 1e7, max: 99999999 })}`,
|
|
931
|
+
isActivated: faker.datatype.boolean()
|
|
932
|
+
};
|
|
2713
933
|
}
|
|
934
|
+
};
|
|
935
|
+
var genAccountResponse = (opts) => {
|
|
936
|
+
const type = opts?.type ?? faker.helpers.arrayElement(ACCOUNT_TYPES);
|
|
937
|
+
const governanceType = opts?.governanceType ?? "CLASSIC";
|
|
938
|
+
const currency = ACCOUNT_TYPE_DEFAULT_CURRENCY[type];
|
|
939
|
+
const id = faker.string.uuid();
|
|
940
|
+
const governance = governanceType === "TRADELINK" ? {
|
|
941
|
+
type: governanceType,
|
|
942
|
+
assetManagerId: faker.string.uuid(),
|
|
943
|
+
exchangeConfigs: []
|
|
944
|
+
} : {
|
|
945
|
+
type: governanceType,
|
|
946
|
+
policyId: faker.string.uuid()
|
|
947
|
+
};
|
|
2714
948
|
return {
|
|
2715
|
-
id
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
signature,
|
|
2726
|
-
status,
|
|
949
|
+
id,
|
|
950
|
+
legacyId: faker.number.int({ min: 1, max: 2e9 }),
|
|
951
|
+
name: genUniqueName(),
|
|
952
|
+
currency,
|
|
953
|
+
network: currency,
|
|
954
|
+
contractAddress: null,
|
|
955
|
+
tokenIdentifier: null,
|
|
956
|
+
index: faker.number.int({ min: 0, max: 10 }),
|
|
957
|
+
derivationPath: "m/44'/0'/0'",
|
|
958
|
+
status: "ACTIVE",
|
|
2727
959
|
createdAt: faker.date.past(),
|
|
2728
960
|
updatedAt: faker.date.past(),
|
|
2729
|
-
|
|
961
|
+
asset: genAssetFields(type),
|
|
962
|
+
governance
|
|
2730
963
|
};
|
|
2731
964
|
};
|
|
2732
|
-
var
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
return {
|
|
2737
|
-
deviceType,
|
|
2738
|
-
deviceUserId: fakeDeviceUserId(),
|
|
2739
|
-
hsmId: null
|
|
2740
|
-
};
|
|
2741
|
-
case UserDeviceType.API:
|
|
2742
|
-
return {
|
|
2743
|
-
deviceType,
|
|
2744
|
-
deviceUserId: null,
|
|
2745
|
-
hsmId: faker.string.uuid()
|
|
2746
|
-
};
|
|
2747
|
-
}
|
|
2748
|
-
};
|
|
2749
|
-
var genUser = (opts) => {
|
|
2750
|
-
const role = opts?.role ?? faker.helpers.arrayElement([UserRole.ADMIN, UserRole.OPERATOR]);
|
|
2751
|
-
const deviceType = opts?.deviceType ?? UserDeviceType.PSD;
|
|
2752
|
-
const userFieldsForDeviceType = genUserFieldsForDeviceType(deviceType);
|
|
2753
|
-
const gateType = role === UserRole.READ_ONLY_API_KEY ? GateUserType.VaultApiKey : GateUserType.Person;
|
|
2754
|
-
return injectSyncId({
|
|
965
|
+
var genUserResponse = (opts) => {
|
|
966
|
+
const role = opts?.role ?? faker.helpers.arrayElement(["ADMIN", "OPERATOR"]);
|
|
967
|
+
const deviceType = opts?.deviceType ?? (role === "READ_ONLY_API_KEY" ? "API" : "PSD");
|
|
968
|
+
return {
|
|
2755
969
|
id: faker.string.uuid(),
|
|
2756
|
-
|
|
2757
|
-
...userFieldsForDeviceType,
|
|
2758
|
-
authUserId: genAuthUserId(),
|
|
2759
|
-
pubKey: fakePubKey(),
|
|
2760
|
-
workspaceName: fakeWorkspaceName(),
|
|
2761
|
-
u2fKeyHandle: fakePubKey(),
|
|
2762
|
-
u2fPubKey: fakePubKey(),
|
|
970
|
+
legacyId: faker.number.int({ min: 1, max: 2e9 }),
|
|
2763
971
|
legacyViewAll: false,
|
|
972
|
+
workspaceName: faker.string.alphanumeric({ length: 16, casing: "lower" }),
|
|
973
|
+
name: faker.person.fullName(),
|
|
974
|
+
deviceUserId: deviceType === "API" ? null : genHexString(16, "lower"),
|
|
975
|
+
deviceType,
|
|
2764
976
|
role,
|
|
2765
|
-
|
|
977
|
+
pubKey: genPubKey(),
|
|
978
|
+
status: "ACTIVE",
|
|
2766
979
|
isSuspended: false,
|
|
2767
|
-
gateType,
|
|
2768
|
-
gateId: fakeGateId(),
|
|
2769
980
|
createdAt: faker.date.past(),
|
|
2770
981
|
updatedAt: faker.date.past(),
|
|
2771
982
|
...opts
|
|
2772
|
-
}
|
|
983
|
+
};
|
|
2773
984
|
};
|
|
2774
|
-
var
|
|
985
|
+
var genGroupResponse = (opts) => ({
|
|
986
|
+
id: faker.string.uuid(),
|
|
987
|
+
legacyId: faker.number.int({ min: 1, max: 2e9 }),
|
|
988
|
+
name: faker.word.noun({ length: { min: 5, max: 19 } }),
|
|
989
|
+
description: faker.lorem.sentence(),
|
|
990
|
+
status: "ACTIVE",
|
|
991
|
+
members: [],
|
|
992
|
+
createdAt: faker.date.past(),
|
|
993
|
+
updatedAt: faker.date.past(),
|
|
994
|
+
...opts
|
|
995
|
+
});
|
|
996
|
+
var genWhitelistResponse = (opts) => ({
|
|
2775
997
|
id: faker.string.uuid(),
|
|
2776
|
-
|
|
2777
|
-
name: faker.
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
998
|
+
legacyId: faker.number.int({ min: 1, max: 2e9 }),
|
|
999
|
+
name: faker.lorem.words(3),
|
|
1000
|
+
status: "ACTIVE",
|
|
1001
|
+
addresses: [
|
|
1002
|
+
{
|
|
1003
|
+
name: faker.lorem.words(3),
|
|
1004
|
+
currency: "bitcoin",
|
|
1005
|
+
address: faker.finance.bitcoinAddress(),
|
|
1006
|
+
destinationTags: []
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
name: faker.lorem.words(3),
|
|
1010
|
+
currency: "ethereum",
|
|
1011
|
+
address: faker.finance.ethereumAddress(),
|
|
1012
|
+
destinationTags: []
|
|
1013
|
+
}
|
|
1014
|
+
],
|
|
2783
1015
|
createdAt: faker.date.past(),
|
|
2784
1016
|
updatedAt: faker.date.past(),
|
|
1017
|
+
description: faker.lorem.sentence(),
|
|
2785
1018
|
...opts
|
|
2786
1019
|
});
|
|
2787
|
-
var
|
|
2788
|
-
|
|
1020
|
+
var TYPES_WITH_TARGET_ID = [
|
|
1021
|
+
"EDIT_ACCOUNT",
|
|
1022
|
+
"EDIT_TOKEN_RULE",
|
|
1023
|
+
"EDIT_GROUP",
|
|
1024
|
+
"REVOKE_GROUP",
|
|
1025
|
+
"EDIT_WHITELIST",
|
|
1026
|
+
"EDIT_ENTITY",
|
|
1027
|
+
"REVOKE_ENTITY",
|
|
1028
|
+
"REVOKE_USER",
|
|
1029
|
+
"EDIT_POLICY",
|
|
1030
|
+
"REVOKE_API_KEY"
|
|
1031
|
+
];
|
|
1032
|
+
var genVaultRequestResponse = (opts) => {
|
|
1033
|
+
const { type, data: dataOpts } = opts;
|
|
1034
|
+
const data = genRequestData(type, dataOpts);
|
|
1035
|
+
const targetId = TYPES_WITH_TARGET_ID.includes(type) ? faker.string.uuid() : null;
|
|
2789
1036
|
return {
|
|
2790
|
-
...group,
|
|
2791
|
-
members: opts?.members ?? []
|
|
2792
|
-
};
|
|
2793
|
-
};
|
|
2794
|
-
var genWhitelist = (opts) => {
|
|
2795
|
-
return injectSyncId({
|
|
2796
1037
|
id: faker.string.uuid(),
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
},
|
|
2807
|
-
{
|
|
2808
|
-
name: faker.lorem.words(3),
|
|
2809
|
-
currency: "ethereum",
|
|
2810
|
-
address: faker.finance.ethereumAddress(),
|
|
2811
|
-
destinationTags: []
|
|
2812
|
-
}
|
|
2813
|
-
],
|
|
2814
|
-
hsmId: fakeHsmObjectId(),
|
|
2815
|
-
type: faker.helpers.arrayElement(Object.values(WhitelistType)),
|
|
2816
|
-
status: faker.helpers.arrayElement(Object.values(ActivationStatus)),
|
|
2817
|
-
gateId: fakeGateId(),
|
|
2818
|
-
gateType: "Whitelist",
|
|
1038
|
+
legacyId: faker.number.int({ min: 1, max: 2e9 }),
|
|
1039
|
+
type,
|
|
1040
|
+
state: "PENDING_APPROVAL",
|
|
1041
|
+
reviewSteps: [{ stageName: "default", quorum: 2 }],
|
|
1042
|
+
currentStepIndex: 0,
|
|
1043
|
+
expiresAt: faker.date.future(),
|
|
1044
|
+
targetId,
|
|
1045
|
+
note: null,
|
|
1046
|
+
reviews: [],
|
|
2819
1047
|
createdAt: faker.date.past(),
|
|
2820
1048
|
updatedAt: faker.date.past(),
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
};
|
|
2824
|
-
var zPubKey = zHexString.meta({ description: "Public key" });
|
|
2825
|
-
var zHsmCertificate = z.object({
|
|
2826
|
-
codeHash: z.base64().meta({ description: "Hash of the executable that generated this certificate" }),
|
|
2827
|
-
attestationPub: z.base64().meta({ description: "Attestation public key" }),
|
|
2828
|
-
certificate: z.base64().meta({ description: "Certificate bytes" }),
|
|
2829
|
-
signature: z.base64().meta({ description: "Certificate signature" })
|
|
2830
|
-
});
|
|
2831
|
-
var zBlob = z.string();
|
|
2832
|
-
var zPsdChallenge = z.object({
|
|
2833
|
-
challengeType: z.literal(ChallengeType.PSD),
|
|
2834
|
-
wActions: z.array(z.string()).meta({ description: "Wrapped blobs that describe the screens to display" }),
|
|
2835
|
-
handshake: z.string().meta({ description: "Handshake for the HSM <-> PSD communication" }),
|
|
2836
|
-
handshakeAttestation: zHsmCertificate.meta({
|
|
2837
|
-
description: "Handshake attestation to verify secure channel between HSM & PSD"
|
|
2838
|
-
}),
|
|
2839
|
-
partitionId: z.string().meta({ description: "HSM partition id (maybe not useful)" })
|
|
2840
|
-
});
|
|
2841
|
-
var zApiChallenge = z.object({
|
|
2842
|
-
challengeType: z.literal(ChallengeType.API),
|
|
2843
|
-
payload: z.object({
|
|
2844
|
-
approve: z.string().meta({ description: "JSON payload to sign (as JWS) to approve" }),
|
|
2845
|
-
reject: z.string().meta({ description: "JSON payload to sign (as JWS) to reject" })
|
|
2846
|
-
}).meta({ description: "JSON payload to approve and to reject" })
|
|
2847
|
-
});
|
|
2848
|
-
var zHsmChallenge = z.discriminatedUnion("challengeType", [
|
|
2849
|
-
zPsdChallenge.meta({ description: "Necessary data to approve on a PSD" }),
|
|
2850
|
-
zApiChallenge.meta({ description: "Necessary data for approval by an API user" })
|
|
2851
|
-
]);
|
|
2852
|
-
var zHsmChallengeGroup = z.record(zPubKey, zHsmChallenge);
|
|
2853
|
-
var zHsmChallengeSteps = z.array(zHsmChallengeGroup);
|
|
2854
|
-
var zPsdSignature = z.string().min(1).meta({ description: "Signature from PSD" });
|
|
2855
|
-
var zApiSignature = z.string().min(1).meta({ description: "Signature from API (JWS)" });
|
|
2856
|
-
var zHsmProof = z.discriminatedUnion("challengeType", [
|
|
2857
|
-
z.object({
|
|
2858
|
-
challengeType: z.literal(ChallengeType.PSD),
|
|
2859
|
-
signature: zPsdSignature
|
|
2860
|
-
}),
|
|
2861
|
-
z.object({
|
|
2862
|
-
challengeType: z.literal(ChallengeType.API),
|
|
2863
|
-
signature: zApiSignature
|
|
2864
|
-
})
|
|
2865
|
-
]);
|
|
2866
|
-
var zHsmApprovalGroup = z.record(zPubKey, zHsmProof);
|
|
2867
|
-
z.array(zHsmApprovalGroup);
|
|
2868
|
-
z.object({
|
|
2869
|
-
stageName: z.string(),
|
|
2870
|
-
steps: zHsmChallengeSteps
|
|
2871
|
-
});
|
|
2872
|
-
z.object({
|
|
2873
|
-
name: z.string().meta({ description: "Name of the user to register" }),
|
|
2874
|
-
psdModel: z.enum(PsdModel).meta({ description: "Device model" }),
|
|
2875
|
-
pubKey: zPubKey.meta({ description: "Device public key" }),
|
|
2876
|
-
confidentialityKey: zPubKey,
|
|
2877
|
-
psdEphemeralKey: zPubKey,
|
|
2878
|
-
psdEphemeralKeyAttestation: zHsmCertificate
|
|
2879
|
-
}).meta({ description: "Data generated by the PSD to register on HSM" });
|
|
2880
|
-
z.object({
|
|
2881
|
-
challenge: z.string(),
|
|
2882
|
-
ephemeralPublicKey: zPubKey,
|
|
2883
|
-
ephemeralPublicKeyAttestation: zHsmCertificate,
|
|
2884
|
-
handshake: zHexString,
|
|
2885
|
-
handshakeAttestation: zHsmCertificate,
|
|
2886
|
-
u2fRegisterData: z.string(),
|
|
2887
|
-
ciphertext: z.string(),
|
|
2888
|
-
requestId: z.string()
|
|
2889
|
-
}).meta({ description: "Challenge generated by HSM\xA0using the PSD registration data" });
|
|
2890
|
-
z.object({
|
|
2891
|
-
certificate: zHsmCertificate,
|
|
2892
|
-
u2fRegister: zHexString,
|
|
2893
|
-
u2fKeyHandle: zHexString,
|
|
2894
|
-
registerData: z.string(),
|
|
2895
|
-
validationKey: zPubKey,
|
|
2896
|
-
pairingPayload: z.string()
|
|
2897
|
-
}).meta({ description: "Final registration response from PSD to HSM" });
|
|
2898
|
-
z.object({
|
|
2899
|
-
confidentialityKeyCurve25519: z.string(),
|
|
2900
|
-
confidentialityKeySignature: z.string()
|
|
2901
|
-
});
|
|
2902
|
-
z.object({
|
|
2903
|
-
pairing: z.object({
|
|
2904
|
-
workspaceName: z.string(),
|
|
2905
|
-
partitionKey: z.string(),
|
|
2906
|
-
// TODO: Is this `zPubKey`?
|
|
2907
|
-
bootstrapEnabled: z.boolean()
|
|
2908
|
-
}),
|
|
2909
|
-
// TODO: Is this `zHsmCertificate`?
|
|
2910
|
-
partitionKeyAttestation: z.object({
|
|
2911
|
-
codeHash: z.string(),
|
|
2912
|
-
attestationPub: z.string(),
|
|
2913
|
-
certificate: z.string(),
|
|
2914
|
-
signature: z.string()
|
|
2915
|
-
}),
|
|
2916
|
-
blob: zBlob
|
|
2917
|
-
});
|
|
2918
|
-
var zHsmSignature = z.object({
|
|
2919
|
-
digest: z.string().nullable().meta({ description: "Signed digest" }),
|
|
2920
|
-
derivationPath: z.string().nullable().meta({ description: "Derivation path used to sign the digest" }),
|
|
2921
|
-
r: z.base64().meta({ description: "Base64 encoded signature r coordinate" }),
|
|
2922
|
-
s: z.base64().meta({ description: "Base64 encoded signature s coordinate" }),
|
|
2923
|
-
v: z.union([z.literal(0), z.literal(1)]).nullable().meta({ description: "Ecdsa only, signature recovery value" }),
|
|
2924
|
-
der: zHexString.meta({
|
|
2925
|
-
description: "Hex string encoded DER signature format (for eddsa, concatenation of r & s)"
|
|
2926
|
-
}),
|
|
2927
|
-
pubkey: zHexString.nullable().meta({ description: "Public key for signature verification, 32 or 33 bytes" })
|
|
2928
|
-
});
|
|
2929
|
-
var zWorkspaceName = z14.string().min(1).max(20).regex(/^[a-z0-9]+$/);
|
|
2930
|
-
var zUserName = z.string().min(1).max(19).meta({ description: "User name" });
|
|
2931
|
-
var zUserRegistrationCreateInput = z.object({
|
|
2932
|
-
name: zUserName,
|
|
2933
|
-
role: z.enum([UserRole.ADMIN, UserRole.OPERATOR]).meta({ description: "User role" }),
|
|
2934
|
-
psdModel: z.enum(PsdModel).meta({ description: "PSD model" }),
|
|
2935
|
-
deviceUserId: z.string().meta({ description: "Device user ID" })
|
|
2936
|
-
});
|
|
2937
|
-
zUserRegistrationCreateInput.extend({
|
|
2938
|
-
id: z.string().meta({ description: "User registration ID" }),
|
|
2939
|
-
workspaceName: z.string().meta({ description: "Workspace name" }),
|
|
2940
|
-
state: z.enum(UserRegistrationState).meta({ description: "User registration state" })
|
|
2941
|
-
});
|
|
2942
|
-
|
|
2943
|
-
// src/users/request-data.ts
|
|
2944
|
-
var zCreatePsdUserRequestData = z14.object({
|
|
2945
|
-
registrationId: z14.string().meta({ description: "User registration ID" })
|
|
2946
|
-
});
|
|
2947
|
-
var zCreateApiUserRequestData = z14.object({
|
|
2948
|
-
name: zUserName,
|
|
2949
|
-
pubKey: z14.string().regex(/^04[0-9a-fA-F]{128}$/).meta({ description: "Public key, uncompressed secp256r1 format" }),
|
|
2950
|
-
role: z14.enum(["ADMIN", "OPERATOR"]).meta({ description: "User role" }),
|
|
2951
|
-
viewAll: z14.boolean().meta({ description: "View all data" }).optional()
|
|
2952
|
-
}).meta({ description: "Create API user request data" });
|
|
2953
|
-
var zCreateApiUserAccessRequestData = z14.object({
|
|
2954
|
-
name: zUserName
|
|
2955
|
-
}).meta({ description: "Create API user credential request data" });
|
|
2956
|
-
z14.object({
|
|
2957
|
-
authUserId: z14.string().meta({ description: "Authentication broker ID" })
|
|
2958
|
-
}).meta({ description: "Managed data for API user" });
|
|
2959
|
-
var zRevokeUserRequestData = z14.object({});
|
|
2960
|
-
var zReviewStepWithUsers = z.object({
|
|
2961
|
-
quorum: z.number().min(0).meta({ description: "Number of required approvals for the step" }),
|
|
2962
|
-
userIds: z.array(z.string().min(1)).meta({ description: "User ids in the step" })
|
|
2963
|
-
// PKs to `User` model
|
|
2964
|
-
}).meta({ description: "Review step with users" });
|
|
2965
|
-
var zReviewStepWithUsersArray = z.array(zReviewStepWithUsers);
|
|
2966
|
-
var zReviewStepData = z.union([
|
|
2967
|
-
zReviewStepWithUsers,
|
|
2968
|
-
z.object({
|
|
2969
|
-
quorum: z.number().min(0).meta({ description: "Number of required approvals for the step" }),
|
|
2970
|
-
groupId: z.string().min(1).meta({ description: "Group id in the step" })
|
|
2971
|
-
// PKs to `Group` model
|
|
2972
|
-
}).meta({ description: "Review step with group" })
|
|
2973
|
-
]);
|
|
2974
|
-
var zReviewStepsArray = z.array(zReviewStepData).min(1).meta({ description: "Review steps" });
|
|
2975
|
-
|
|
2976
|
-
// src/prisma-utils/policy.ts
|
|
2977
|
-
var policy_exports = {};
|
|
2978
|
-
__export(policy_exports, {
|
|
2979
|
-
parseFields: () => parseFields,
|
|
2980
|
-
zGovRuleJsonObject: () => zGovRuleJsonObject,
|
|
2981
|
-
zGovRulesJsonArray: () => zGovRulesJsonArray,
|
|
2982
|
-
zThreshold: () => zThreshold,
|
|
2983
|
-
zWhitelistIds: () => zWhitelistIds
|
|
2984
|
-
});
|
|
2985
|
-
var zNote = z14.object({
|
|
2986
|
-
title: z14.string().meta({ description: "Note title" }),
|
|
2987
|
-
content: z14.string().meta({ description: "Note content" })
|
|
2988
|
-
});
|
|
2989
|
-
var zValueTransactionAction = z.enum([
|
|
2990
|
-
AllowedAction.SEND,
|
|
2991
|
-
AllowedAction.DEPLOY_CONTRACT,
|
|
2992
|
-
AllowedAction.EXECUTE_CONTRACT,
|
|
2993
|
-
AllowedAction.ACTIVATE_TOKEN
|
|
2994
|
-
]);
|
|
2995
|
-
var zValueTransactionIntent = z.object({
|
|
2996
|
-
type: zValueTransactionAction,
|
|
2997
|
-
currency: zCurrencyString,
|
|
2998
|
-
recipient: z.string().nonempty(),
|
|
2999
|
-
destinationTag: z.string().nonempty().optional(),
|
|
3000
|
-
value: zUnsignedIntString
|
|
3001
|
-
});
|
|
3002
|
-
var zReceiveAction = z.enum([AllowedAction.RECEIVE]);
|
|
3003
|
-
var zReceiveIntent = z.object({
|
|
3004
|
-
type: zReceiveAction,
|
|
3005
|
-
currency: zCurrencyString,
|
|
3006
|
-
sender: z.string().nonempty(),
|
|
3007
|
-
value: zUnsignedIntString.nullable(),
|
|
3008
|
-
// null means "any value"
|
|
3009
|
-
verdict: z.enum(["ACCEPT", "REJECT"])
|
|
3010
|
-
});
|
|
3011
|
-
var zStakeAction = z.enum([AllowedAction.STAKE]);
|
|
3012
|
-
var zStakeIntent = z.object({
|
|
3013
|
-
type: zStakeAction
|
|
3014
|
-
});
|
|
3015
|
-
var zSigningAction = z.enum([AllowedAction.SIGN_MESSAGE, AllowedAction.SIGN_DIGESTS]);
|
|
3016
|
-
var zSigningIntent = z.object({
|
|
3017
|
-
type: zSigningAction
|
|
3018
|
-
});
|
|
3019
|
-
var zClassicAction = z.enum([
|
|
3020
|
-
AllowedAction.SEND,
|
|
3021
|
-
AllowedAction.STAKE,
|
|
3022
|
-
AllowedAction.DEPLOY_CONTRACT,
|
|
3023
|
-
AllowedAction.EXECUTE_CONTRACT,
|
|
3024
|
-
AllowedAction.SIGN_MESSAGE,
|
|
3025
|
-
AllowedAction.ACTIVATE_TOKEN,
|
|
3026
|
-
AllowedAction.RECEIVE
|
|
3027
|
-
]);
|
|
3028
|
-
z.enum([AllowedAction.SIGN_DIGESTS]);
|
|
3029
|
-
var zGovernableAction = z.enum([
|
|
3030
|
-
...zValueTransactionAction.options,
|
|
3031
|
-
...zReceiveAction.options,
|
|
3032
|
-
...zStakeAction.options,
|
|
3033
|
-
...zSigningAction.options
|
|
3034
|
-
]);
|
|
3035
|
-
z.discriminatedUnion("type", [
|
|
3036
|
-
zValueTransactionIntent,
|
|
3037
|
-
zReceiveIntent,
|
|
3038
|
-
zStakeIntent,
|
|
3039
|
-
zSigningIntent
|
|
3040
|
-
]);
|
|
3041
|
-
|
|
3042
|
-
// src/prisma-utils/policy.ts
|
|
3043
|
-
var zThreshold = z.object({
|
|
3044
|
-
min: zUnsignedIntString.nullable().meta({ description: "Minimum transaction amount" }),
|
|
3045
|
-
max: zUnsignedIntString.nullable().meta({ description: "Maximum transaction amount" })
|
|
3046
|
-
}).meta({ description: "Threshold for the transaction value" });
|
|
3047
|
-
var zWhitelistIds = z.array(z.string().min(1)).meta({ description: "IDs of whitelists for the recipient address" });
|
|
3048
|
-
var zGovRuleJsonObject = z.object({
|
|
3049
|
-
// Required. TODO: Rename to `action`
|
|
3050
|
-
operationType: zGovernableAction.meta({ description: "Allowed action" }),
|
|
3051
|
-
// Optional threshold on transaction value: null `min` = 0, null `max` = +inf
|
|
3052
|
-
threshold: zThreshold,
|
|
3053
|
-
// Optional whitelist on transaction recipient: Empty list means no whitelist.
|
|
3054
|
-
whitelistIds: zWhitelistIds,
|
|
3055
|
-
reviewConfigId: z.string().min(1).meta({ description: "Id of ReviewConfig" }),
|
|
3056
|
-
// HSM id for the rule
|
|
3057
|
-
hsmId: zHsmObjectId
|
|
3058
|
-
}).meta({ description: "INTERNAL: Governance rule JSON representation in DB" });
|
|
3059
|
-
var zGovRulesJsonArray = z.array(zGovRuleJsonObject);
|
|
3060
|
-
var parseFields = (policy) => {
|
|
3061
|
-
const rulesJsonArray = zGovRulesJsonArray.parse(policy.rulesJsonArray);
|
|
3062
|
-
return { ...policy, rulesJsonArray };
|
|
3063
|
-
};
|
|
3064
|
-
|
|
3065
|
-
// src/prisma-utils/review-config.ts
|
|
3066
|
-
var review_config_exports = {};
|
|
3067
|
-
__export(review_config_exports, {
|
|
3068
|
-
INCLUDE_MEMBERS: () => INCLUDE_MEMBERS
|
|
3069
|
-
});
|
|
3070
|
-
var INCLUDE_MEMBERS = {
|
|
3071
|
-
users: true,
|
|
3072
|
-
groups: {
|
|
3073
|
-
include: { members: true }
|
|
3074
|
-
}
|
|
1049
|
+
createdById: faker.string.uuid(),
|
|
1050
|
+
data
|
|
1051
|
+
};
|
|
3075
1052
|
};
|
|
3076
|
-
var
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
)
|
|
3089
|
-
);
|
|
3090
|
-
|
|
3091
|
-
// src/accounts/les-wallet/canton-extras.ts
|
|
3092
|
-
var canton_extras_exports = {};
|
|
3093
|
-
__export(canton_extras_exports, {
|
|
3094
|
-
zPreApprovalState: () => zPreApprovalState,
|
|
3095
|
-
zTransferProposal: () => zTransferProposal
|
|
3096
|
-
});
|
|
3097
|
-
var zPreApprovalState = z14.discriminatedUnion("enabled", [
|
|
3098
|
-
z14.object({
|
|
3099
|
-
enabled: z14.literal(true).meta({ description: "Pre-approval is enabled" }),
|
|
3100
|
-
contractId: z14.string().meta({ description: "ID of the pre-approval contract" }),
|
|
3101
|
-
expiresAt: z14.coerce.date().meta({ description: "Timestamp when the pre-approval expires and becomes invalid" }),
|
|
3102
|
-
lastRenewedAt: z14.coerce.date().meta({ description: "Timestamp of the most recent renewal of the pre-approval" }),
|
|
3103
|
-
provider: z14.string().meta({ description: "Validator that issued and manages the pre-approval" }),
|
|
3104
|
-
recipient: z14.string().meta({ description: "Party that authorizes the pre-approval to receive transfers" }),
|
|
3105
|
-
validFrom: z14.coerce.date().meta({ description: "Timestamp when the pre-approval becomes effective" })
|
|
3106
|
-
}),
|
|
3107
|
-
z14.object({
|
|
3108
|
-
enabled: z14.literal(false).meta({ description: "Pre-approval is not enabled" })
|
|
3109
|
-
})
|
|
3110
|
-
]).meta({
|
|
3111
|
-
description: "Pre-approval state of the account"
|
|
3112
|
-
});
|
|
3113
|
-
var zTransferProposal = zCantonTransferProposal;
|
|
3114
|
-
var zTradelinkWhitelistAddress = z14.object({
|
|
3115
|
-
name: z14.string().min(1),
|
|
3116
|
-
currency: zCurrencyString,
|
|
3117
|
-
address: z14.string().min(1)
|
|
3118
|
-
});
|
|
3119
|
-
z14.array(zTradelinkWhitelistAddress);
|
|
3120
|
-
var zTradelinkId = z14.string().meta({ description: "Unique identifier in Tradelink service" });
|
|
3121
|
-
var zTradelinkOrgEntityResponse = z14.object({
|
|
3122
|
-
tradelinkId: zTradelinkId,
|
|
3123
|
-
name: z14.string().meta({ description: "Name" }),
|
|
3124
|
-
code: z14.string().meta({ description: "Code" }),
|
|
3125
|
-
logoUrl: z14.string().meta({ description: "Logo URL" })
|
|
3126
|
-
});
|
|
3127
|
-
zTradelinkOrgEntityResponse.omit({
|
|
3128
|
-
tradelinkId: true
|
|
3129
|
-
});
|
|
3130
|
-
z14.object({
|
|
3131
|
-
tradelinkId: zTradelinkId
|
|
3132
|
-
});
|
|
3133
|
-
var zTradelinkExchangeConfig = z14.object({
|
|
3134
|
-
exchangeId: z14.string().meta({ description: "Tradelink exchange id" }),
|
|
3135
|
-
repledgeAuthorized: z14.boolean().meta({
|
|
3136
|
-
description: "Determines whether this exchange is authorized to repledge on this account"
|
|
3137
|
-
}),
|
|
3138
|
-
needsAssetManagerApprovalForSettlements: z14.boolean().meta({
|
|
3139
|
-
description: 'Determines whether asset manager will "pre-approve" the settlement requests on this account'
|
|
3140
|
-
})
|
|
3141
|
-
});
|
|
3142
|
-
var zTradelinkExchangeConfigs = z14.array(zTradelinkExchangeConfig);
|
|
3143
|
-
z14.object({
|
|
3144
|
-
workspaceName: zWorkspaceName,
|
|
3145
|
-
custodian: z14.object({ name: z14.string() }),
|
|
3146
|
-
assetManagers: z14.array(z14.object({ name: z14.string() })),
|
|
3147
|
-
exchanges: z14.array(z14.object({ name: z14.string() }))
|
|
3148
|
-
});
|
|
3149
|
-
z14.object({
|
|
3150
|
-
tradelinkId: z14.string(),
|
|
3151
|
-
workspaceName: zWorkspaceName,
|
|
3152
|
-
custodian: zTradelinkOrgEntityResponse,
|
|
3153
|
-
assetManagers: z14.array(zTradelinkOrgEntityResponse),
|
|
3154
|
-
exchanges: z14.array(zTradelinkOrgEntityResponse)
|
|
3155
|
-
});
|
|
3156
|
-
var zTradelinkAsset = z14.object({
|
|
3157
|
-
name: z14.string(),
|
|
3158
|
-
magnitude: z14.number().int().nonnegative()
|
|
3159
|
-
});
|
|
3160
|
-
z14.object({
|
|
3161
|
-
tradelinkId: zTradelinkId,
|
|
3162
|
-
asset: zTradelinkAsset,
|
|
3163
|
-
state: z14.enum([
|
|
3164
|
-
"PLEDGE_READY",
|
|
3165
|
-
"PLEDGE_INCREMENT_PENDING_APPROVAL",
|
|
3166
|
-
"PLEDGE_APPROVED",
|
|
3167
|
-
"PLEDGE_REJECTED",
|
|
3168
|
-
"UNPLEDGE_PENDING_APPROVAL",
|
|
3169
|
-
"UNPLEDGE_APPROVED",
|
|
3170
|
-
"UNPLEDGE_REJECTED",
|
|
3171
|
-
"REPLEDGE_PENDING_APPROVAL",
|
|
3172
|
-
"REPLEDGE_APPROVED",
|
|
3173
|
-
"REPLEDGE_REJECTED",
|
|
3174
|
-
"ASSIGNED_TO_SETTLEMENT",
|
|
3175
|
-
"OUTBOUND_TRANSACTION_CONFIRMED",
|
|
3176
|
-
"OUTBOUND_TRANSACTION_FAILED",
|
|
3177
|
-
"RECOVERING_FROM_FAILURE",
|
|
3178
|
-
"PLEDGE_CONSUMED"
|
|
3179
|
-
]),
|
|
3180
|
-
isLocked: z14.boolean(),
|
|
3181
|
-
amount: z14.string().meta({ description: "Currently pledged amount" }),
|
|
3182
|
-
pending: z14.string().meta({ description: "Requested pledge increment, not yet approved" }),
|
|
3183
|
-
repledge: z14.string().meta({ description: "TODO: describe this field" }),
|
|
3184
|
-
exchangeTradelinkId: z14.string(),
|
|
3185
|
-
accountId: z14.string()
|
|
3186
|
-
});
|
|
3187
|
-
z14.object({
|
|
3188
|
-
workspaceName: z14.string(),
|
|
3189
|
-
clientAccountId: z14.string().meta({ description: "Account ID from the client side" }),
|
|
3190
|
-
exchangeTradelinkId: zTradelinkId,
|
|
3191
|
-
asset: zTradelinkAsset
|
|
3192
|
-
});
|
|
3193
|
-
z14.object({
|
|
3194
|
-
pledgeTradelinkId: zTradelinkId,
|
|
3195
|
-
amount: zUnsignedIntString,
|
|
3196
|
-
asset: zTradelinkAsset
|
|
3197
|
-
});
|
|
3198
|
-
z14.object({
|
|
3199
|
-
tradelinkId: z14.string(),
|
|
3200
|
-
pledgeTradelinkId: z14.string(),
|
|
3201
|
-
state: z14.enum([
|
|
3202
|
-
"REGISTERED",
|
|
3203
|
-
"PENDING_REPLEDGE_CREATION_APPROVAL",
|
|
3204
|
-
"PENDING_REPLEDGE_APPROVAL",
|
|
3205
|
-
"PENDING_CREATION_APPROVAL",
|
|
3206
|
-
"PENDING_PRE_APPROVAL",
|
|
3207
|
-
"PRE_APPROVED",
|
|
3208
|
-
"APPROVED",
|
|
3209
|
-
"REJECTED",
|
|
3210
|
-
"CONFIRMED",
|
|
3211
|
-
"FAILED",
|
|
3212
|
-
"CANCELED"
|
|
1053
|
+
var genWebhookResponse = (opts) => ({
|
|
1054
|
+
id: faker.string.uuid(),
|
|
1055
|
+
actions: faker.helpers.arrayElements([
|
|
1056
|
+
"REQUEST_CREATED",
|
|
1057
|
+
"REQUEST_RECEIVED_APPROVAL",
|
|
1058
|
+
"REQUEST_RECEIVED_REJECTION",
|
|
1059
|
+
"REQUEST_ACTIVATED_REVIEWS",
|
|
1060
|
+
"REQUEST_EXECUTING",
|
|
1061
|
+
"REQUEST_EXECUTED",
|
|
1062
|
+
"REQUEST_ABORTED",
|
|
1063
|
+
"REQUEST_FAILED",
|
|
1064
|
+
"REQUEST_EXPIRED"
|
|
3213
1065
|
]),
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
var zTradelinkActivateAccountRequestData = z14.null();
|
|
3218
|
-
var zTradelinkCustodianRequestData = z14.object({
|
|
3219
|
-
settlement: zReviewStepWithUsersArray.meta({ description: "List of settlement review steps" }),
|
|
3220
|
-
withdraw: zReviewStepWithUsersArray.meta({ description: "List of withdraw review steps" }),
|
|
3221
|
-
arbitration: zReviewStepWithUsersArray.meta({ description: "List of arbitration review steps" })
|
|
3222
|
-
});
|
|
3223
|
-
var zTradelinkEntityRequestData = z14.object({
|
|
3224
|
-
tradelinkId: z14.string().min(1),
|
|
3225
|
-
groups: zReviewStepWithUsersArray.meta({ description: "List of asset manager review groups" }),
|
|
3226
|
-
whitelist: z14.array(zTradelinkWhitelistAddress).meta({ description: "List of asset manager whitelisted addresses" })
|
|
3227
|
-
});
|
|
3228
|
-
var zTradelinkAdjustPledgeRequestData = z14.object({
|
|
3229
|
-
accountId: z14.string().meta({ description: "Account id" }),
|
|
3230
|
-
exchangeId: z14.string().meta({ description: "Exchange id" }),
|
|
3231
|
-
amount: zIntString.meta({ description: "Amount to add to pledge" })
|
|
3232
|
-
});
|
|
3233
|
-
var zTradelinkRepledgeRequestData = z14.object({
|
|
3234
|
-
accountId: z14.string().meta({ description: "Account id" }),
|
|
3235
|
-
exchangeId: z14.string().meta({ description: "Exchange id" }),
|
|
3236
|
-
amount: zIntString.meta({ description: "Amount to add to pledge" })
|
|
3237
|
-
});
|
|
3238
|
-
var zTradelinkCreateSettlementRequestData = z14.object({
|
|
3239
|
-
accountId: z14.string().meta({ description: "Account id" }),
|
|
3240
|
-
exchangeId: z14.string().meta({ description: "Exchange id" }),
|
|
3241
|
-
transaction: zSendOnlyTransactionData
|
|
3242
|
-
});
|
|
3243
|
-
var zTradelinkForceUnpledgeRequestData = z14.object({
|
|
3244
|
-
accountId: z14.string().meta({ description: "Account id" }),
|
|
3245
|
-
exchangeId: z14.string().meta({ description: "Exchange id" })
|
|
3246
|
-
});
|
|
3247
|
-
var zTradelinkWithdrawRequestData = z14.object({
|
|
3248
|
-
accountId: z14.string().meta({ description: "Account id" }),
|
|
3249
|
-
transaction: zSendOnlyTransactionData
|
|
3250
|
-
});
|
|
3251
|
-
var zTradelinkArbitrationRequestData = z14.object({
|
|
3252
|
-
accountId: z14.string().meta({ description: "Account id" }),
|
|
3253
|
-
transaction: zSendOnlyTransactionData
|
|
3254
|
-
});
|
|
3255
|
-
var zTradelinkRequestMixinsByType = {
|
|
3256
|
-
[RequestType.TRADELINK_ACTIVATE_ACCOUNT]: z14.object({
|
|
3257
|
-
type: z14.literal(RequestType.TRADELINK_ACTIVATE_ACCOUNT),
|
|
3258
|
-
targetId: z14.string(),
|
|
3259
|
-
data: zTradelinkActivateAccountRequestData
|
|
3260
|
-
}),
|
|
3261
|
-
[RequestType.TRADELINK_CREATE_CUSTODIAN]: z14.object({
|
|
3262
|
-
type: z14.literal(RequestType.TRADELINK_CREATE_CUSTODIAN),
|
|
3263
|
-
data: zTradelinkCustodianRequestData
|
|
3264
|
-
}),
|
|
3265
|
-
[RequestType.TRADELINK_EDIT_CUSTODIAN]: z14.object({
|
|
3266
|
-
type: z14.literal(RequestType.TRADELINK_EDIT_CUSTODIAN),
|
|
3267
|
-
targetId: z14.string(),
|
|
3268
|
-
data: zTradelinkCustodianRequestData
|
|
3269
|
-
}),
|
|
3270
|
-
[RequestType.TRADELINK_CREATE_EXCHANGE]: z14.object({
|
|
3271
|
-
type: z14.literal(RequestType.TRADELINK_CREATE_EXCHANGE),
|
|
3272
|
-
data: zTradelinkEntityRequestData
|
|
3273
|
-
}),
|
|
3274
|
-
[RequestType.TRADELINK_EDIT_EXCHANGE]: z14.object({
|
|
3275
|
-
type: z14.literal(RequestType.TRADELINK_EDIT_EXCHANGE),
|
|
3276
|
-
targetId: z14.string(),
|
|
3277
|
-
data: zTradelinkEntityRequestData
|
|
3278
|
-
}),
|
|
3279
|
-
[RequestType.TRADELINK_CREATE_ASSET_MANAGER]: z14.object({
|
|
3280
|
-
type: z14.literal(RequestType.TRADELINK_CREATE_ASSET_MANAGER),
|
|
3281
|
-
data: zTradelinkEntityRequestData
|
|
3282
|
-
}),
|
|
3283
|
-
[RequestType.TRADELINK_EDIT_ASSET_MANAGER]: z14.object({
|
|
3284
|
-
type: z14.literal(RequestType.TRADELINK_EDIT_ASSET_MANAGER),
|
|
3285
|
-
targetId: z14.string(),
|
|
3286
|
-
data: zTradelinkEntityRequestData
|
|
3287
|
-
}),
|
|
3288
|
-
[RequestType.TRADELINK_ADJUST_PLEDGE]: z14.object({
|
|
3289
|
-
type: z14.literal(RequestType.TRADELINK_ADJUST_PLEDGE),
|
|
3290
|
-
data: zTradelinkAdjustPledgeRequestData
|
|
3291
|
-
}),
|
|
3292
|
-
[RequestType.TRADELINK_REPLEDGE]: z14.object({
|
|
3293
|
-
type: z14.literal(RequestType.TRADELINK_REPLEDGE),
|
|
3294
|
-
data: zTradelinkRepledgeRequestData
|
|
3295
|
-
}),
|
|
3296
|
-
[RequestType.TRADELINK_CREATE_SETTLEMENT]: z14.object({
|
|
3297
|
-
type: z14.literal(RequestType.TRADELINK_CREATE_SETTLEMENT),
|
|
3298
|
-
data: zTradelinkCreateSettlementRequestData
|
|
3299
|
-
}),
|
|
3300
|
-
[RequestType.TRADELINK_FORCE_UNPLEDGE]: z14.object({
|
|
3301
|
-
type: z14.literal(RequestType.TRADELINK_FORCE_UNPLEDGE),
|
|
3302
|
-
data: zTradelinkForceUnpledgeRequestData
|
|
3303
|
-
}),
|
|
3304
|
-
[RequestType.TRADELINK_WITHDRAW]: z14.object({
|
|
3305
|
-
type: z14.literal(RequestType.TRADELINK_WITHDRAW),
|
|
3306
|
-
data: zTradelinkWithdrawRequestData
|
|
3307
|
-
}),
|
|
3308
|
-
[RequestType.TRADELINK_ARBITRATE]: z14.object({
|
|
3309
|
-
type: z14.literal(RequestType.TRADELINK_ARBITRATE),
|
|
3310
|
-
data: zTradelinkArbitrationRequestData
|
|
3311
|
-
})
|
|
3312
|
-
};
|
|
3313
|
-
|
|
3314
|
-
// src/accounts/account-governance-fields.ts
|
|
3315
|
-
var zClassicAccountGovernanceFields = z.object({
|
|
3316
|
-
type: z.literal(AccountGovernanceType.CLASSIC).meta({ description: "Classic account governance" }),
|
|
3317
|
-
policyId: z.string().meta({ description: "Identifier of corresponding governance policy" })
|
|
3318
|
-
}).meta({ description: "Classic" });
|
|
3319
|
-
var zRawSigningAccountGovernanceFields = z.object({
|
|
3320
|
-
type: z.literal(AccountGovernanceType.RAW_SIGNING).meta({ description: "Raw signing account governance" }),
|
|
3321
|
-
policyId: z.string().meta({ description: "Identifier of corresponding governance policy" })
|
|
3322
|
-
}).meta({ description: "Raw Signing" });
|
|
3323
|
-
var zTradelinkAccountGovernanceFields = z.object({
|
|
3324
|
-
type: z.literal(AccountGovernanceType.TRADELINK).meta({ description: "Tradelink account governance" }),
|
|
3325
|
-
assetManagerId: z.string().meta({ description: "Identifier of corresponding asset manager" }),
|
|
3326
|
-
exchangeConfigs: zTradelinkExchangeConfigs.meta({
|
|
3327
|
-
description: "Tradelink exchange configurations"
|
|
3328
|
-
})
|
|
3329
|
-
}).meta({ description: "Tradelink" });
|
|
3330
|
-
var zAccountGovernanceFields = z.discriminatedUnion("type", [
|
|
3331
|
-
zClassicAccountGovernanceFields,
|
|
3332
|
-
zRawSigningAccountGovernanceFields,
|
|
3333
|
-
zTradelinkAccountGovernanceFields
|
|
3334
|
-
]).meta({ description: "Governance fields" });
|
|
3335
|
-
|
|
3336
|
-
// src/accounts/types.ts
|
|
3337
|
-
var zAccountCommonFields = z14.object({
|
|
3338
|
-
id: z14.string().meta({ description: "Internal unique identifier" }),
|
|
3339
|
-
legacyId: z14.number().meta({ description: "Legacy internal unique identifier (for retro-compatibility)" }),
|
|
3340
|
-
name: z14.string().meta({ description: "Name" }),
|
|
3341
|
-
currency: zCurrencyString,
|
|
3342
|
-
network: zNetwork,
|
|
3343
|
-
contractAddress: z14.string().nullable().meta({ description: "Token contract address for Token account" }),
|
|
3344
|
-
tokenIdentifier: z14.string().nullable().meta({ description: "Token identifier for Token account" }),
|
|
3345
|
-
index: z14.number().gte(0).meta({ description: "BIP44 account index" }),
|
|
3346
|
-
derivationPath: z14.string().meta({ description: "Derivation path" }),
|
|
3347
|
-
status: z14.enum(ActivationStatus).meta({ description: "Status" }),
|
|
3348
|
-
createdAt: z14.coerce.date().meta({ description: "Creation timestamp" }),
|
|
3349
|
-
updatedAt: z14.coerce.date().meta({ description: "Last modification timestamp" })
|
|
3350
|
-
});
|
|
3351
|
-
var zRawSigningAssetFields = z14.object({ type: z14.literal(AccountType.RAW_SIGNING).meta({ description: "Account type" }) }).meta({ description: "Raw signing account" });
|
|
3352
|
-
var zAccountAssetFields = z14.discriminatedUnion("type", [zRawSigningAssetFields, ...zNetworkAssetFields.options]).meta({ description: "Account asset fields" });
|
|
3353
|
-
var zAccountResponse = zAccountCommonFields.extend({
|
|
3354
|
-
asset: zAccountAssetFields,
|
|
3355
|
-
governance: zAccountGovernanceFields
|
|
3356
|
-
});
|
|
3357
|
-
z14.enum([
|
|
3358
|
-
"name",
|
|
3359
|
-
"currency",
|
|
3360
|
-
"index",
|
|
3361
|
-
"createdAt",
|
|
3362
|
-
"updatedAt"
|
|
3363
|
-
]).default("createdAt");
|
|
3364
|
-
var zRawSigningLiveData = zCommonLiveData.extend({
|
|
3365
|
-
type: z14.literal(AccountType.RAW_SIGNING).meta({ description: "Account type" })
|
|
3366
|
-
}).meta({ description: "Raw signing account" });
|
|
3367
|
-
z14.discriminatedUnion("type", [zRawSigningLiveData, ...zAccountLiveData.options]).meta({ description: "Account live data", id: "AccountLiveDataResponse" });
|
|
3368
|
-
z14.object({
|
|
3369
|
-
address: z14.string().meta({ description: "Address" }),
|
|
3370
|
-
derivationPath: z14.string().nullable().meta({ description: "Derivation path" })
|
|
3371
|
-
});
|
|
3372
|
-
z14.object({
|
|
3373
|
-
amount: zIntString.meta({ description: "Amount in the smallest unit of the currency" }),
|
|
3374
|
-
currency: zCurrency
|
|
3375
|
-
});
|
|
3376
|
-
z14.object({
|
|
3377
|
-
id: z14.string().nonempty().meta({ description: "Staking position ID (if applicable)" }),
|
|
3378
|
-
validator: z14.string().nonempty().meta({ description: "Validator address" }),
|
|
3379
|
-
state: z14.enum(["ACTIVE", "INACTIVE", "ACTIVATING", "DEACTIVATING", "UNKNOWN"]).meta({ description: "Stake state" }),
|
|
3380
|
-
staked: z14.string().meta({ description: "Staked amount" }),
|
|
3381
|
-
rewards: z14.object({
|
|
3382
|
-
total: z14.string().meta({ description: "Total rewards" })
|
|
3383
|
-
})
|
|
3384
|
-
});
|
|
3385
|
-
z14.enum(["staked", "rewards", "total"]).default("total");
|
|
3386
|
-
var zBaseStakingValidator = z14.object({
|
|
3387
|
-
address: z14.string().meta({ description: "Validator address" }),
|
|
3388
|
-
apy: z14.string().nullable().meta({ description: "Validator APY" }),
|
|
3389
|
-
balance: z14.string().nullable().meta({ description: "Validator balance" }),
|
|
3390
|
-
commissionRate: z14.string().nullable().meta({ description: "Validator commission rate" }),
|
|
3391
|
-
description: z14.string().nullable().meta({ description: "Description" }),
|
|
3392
|
-
logo: z14.string().nullable().meta({ description: "Logo URL" }),
|
|
3393
|
-
name: z14.string().nullable().meta({ description: "Validator name" }),
|
|
3394
|
-
url: z14.string().nullable().meta({ description: "Validator URL" })
|
|
3395
|
-
});
|
|
3396
|
-
var zSuiStakingValidator = zBaseStakingValidator.extend({
|
|
3397
|
-
type: z14.literal(AccountType.SUI_LIKE).meta({ description: "Account type" })
|
|
3398
|
-
});
|
|
3399
|
-
var zHederaStakingValidator = zBaseStakingValidator.extend({
|
|
3400
|
-
type: z14.literal(AccountType.HEDERA_LIKE).meta({ description: "Account type" }),
|
|
3401
|
-
nodeId: zIntString.nullable().meta({ description: "Validator node ID" })
|
|
3402
|
-
});
|
|
3403
|
-
z14.discriminatedUnion("type", [
|
|
3404
|
-
zSuiStakingValidator,
|
|
3405
|
-
zHederaStakingValidator
|
|
3406
|
-
]);
|
|
3407
|
-
z14.enum(["balance"]).default("balance");
|
|
3408
|
-
z14.enum(MessageType).meta({ description: "Type of the message to sign" });
|
|
3409
|
-
var zMessageHexData = zHexString.nonempty().meta({
|
|
3410
|
-
description: "Hex data string to sign",
|
|
3411
|
-
id: "MessageHexData"
|
|
3412
|
-
});
|
|
3413
|
-
var zEip712Data = z14.object({
|
|
3414
|
-
types: z14.record(z14.string(), z14.array(z14.object({ name: z14.string(), type: z14.string() }))).meta({ description: "EIP-712 types" }),
|
|
3415
|
-
primaryType: z14.string().meta({ description: "EIP-712 primary type" }),
|
|
3416
|
-
domain: z14.record(z14.string(), z14.any()).meta({ description: "EIP-712 domain" }),
|
|
3417
|
-
message: z14.record(z14.string(), z14.any()).meta({ description: "EIP-712 message" })
|
|
3418
|
-
}).meta({
|
|
3419
|
-
description: "EIP-712 data to sign",
|
|
3420
|
-
id: "Eip712Data"
|
|
3421
|
-
});
|
|
3422
|
-
var zMessage = z14.discriminatedUnion("type", [
|
|
3423
|
-
z14.object({
|
|
3424
|
-
type: z14.literal("EIP191"),
|
|
3425
|
-
data: zMessageHexData
|
|
3426
|
-
}),
|
|
3427
|
-
z14.object({
|
|
3428
|
-
type: z14.literal("EIP712"),
|
|
3429
|
-
data: zEip712Data
|
|
3430
|
-
}),
|
|
3431
|
-
z14.object({
|
|
3432
|
-
type: z14.literal("CIP8"),
|
|
3433
|
-
data: zMessageHexData,
|
|
3434
|
-
signingKey: z14.enum(["PAYMENT", "STAKE"]).meta({ description: "CIP-8 signing key" })
|
|
3435
|
-
}),
|
|
3436
|
-
z14.object({
|
|
3437
|
-
type: z14.literal("BIP137"),
|
|
3438
|
-
data: zMessageHexData
|
|
3439
|
-
})
|
|
3440
|
-
]);
|
|
3441
|
-
z14.object({
|
|
3442
|
-
id: z14.string().meta({ description: "Unique identifier" }),
|
|
3443
|
-
address: z14.string().meta({ description: "Address of the signing key" }),
|
|
3444
|
-
derivationPath: z14.string().meta({ description: "Derivation path of the signing key" }),
|
|
3445
|
-
signature: zHsmSignature.meta({ description: "Signature of the message" }),
|
|
3446
|
-
createdById: z14.string().meta({ description: "ID of the creator" }),
|
|
3447
|
-
createdAt: z14.coerce.date().meta({ description: "Creation timestamp" })
|
|
3448
|
-
}).and(zMessage).meta({ description: "Signed message", id: "SignedMessageResponse" });
|
|
3449
|
-
var zDigest = z14.object({
|
|
3450
|
-
digest: zHexString.meta({ description: "The hex string digest to sign" }),
|
|
3451
|
-
derivationPath: z14.string().nonempty().meta({ description: "The derivation path with which to sign the digest" })
|
|
3452
|
-
});
|
|
3453
|
-
zDigest.extend({
|
|
3454
|
-
signature: zHsmSignature.meta({ description: "Signature of the digest" })
|
|
3455
|
-
});
|
|
3456
|
-
var zCreateTransactionRequestData = z14.object({
|
|
3457
|
-
accountId: z14.string().min(1).meta({ description: "Target account id" }),
|
|
3458
|
-
transaction: zTransactionData
|
|
3459
|
-
}).meta({
|
|
3460
|
-
description: "Create transaction request data",
|
|
3461
|
-
id: "CreateTransactionRequestData"
|
|
3462
|
-
});
|
|
3463
|
-
var zSignMessageRequestData = z14.object({
|
|
3464
|
-
message: zMessage.meta({ description: "Message to sign" }),
|
|
3465
|
-
accountId: z14.string().min(1).meta({ description: "Target account id" }),
|
|
3466
|
-
address: z14.string().nonempty().meta({ description: "Address with which to sign the message" }),
|
|
3467
|
-
derivationPath: z14.string().nonempty().meta({ description: "Derivation path of the signing address" })
|
|
3468
|
-
});
|
|
3469
|
-
var zSignMessageUserInputData = zSignMessageRequestData.partial({
|
|
3470
|
-
address: true,
|
|
3471
|
-
derivationPath: true
|
|
3472
|
-
});
|
|
3473
|
-
var zSignDigestsRequestData = z14.object({
|
|
3474
|
-
accountId: z14.string().min(1).meta({ description: "Target account id" }),
|
|
3475
|
-
digests: z14.array(zDigest).meta({ description: "The digests to sign" })
|
|
3476
|
-
});
|
|
3477
|
-
z14.object({
|
|
3478
|
-
// Populated after input data is validated.
|
|
3479
|
-
govRuleHsmId: zHsmObjectId.optional(),
|
|
3480
|
-
// Populated after request is executed -- it holds the digests-signing result.
|
|
3481
|
-
signatures: z14.array(zHsmSignature).optional()
|
|
3482
|
-
});
|
|
3483
|
-
|
|
3484
|
-
// src/accounts/app-types.ts
|
|
3485
|
-
z14.discriminatedUnion(
|
|
3486
|
-
zTransactionResponse._zod.def.discriminator,
|
|
3487
|
-
ensureNonEmptyArray(
|
|
3488
|
-
zTransactionResponse.options.map(
|
|
3489
|
-
(_) => _.extend({
|
|
3490
|
-
note: zNote.nullable().meta({ description: "Optional transaction note" }),
|
|
3491
|
-
requestId: z14.string().nullable().meta({ description: "Request ID associated with the transaction, if available" })
|
|
3492
|
-
})
|
|
3493
|
-
)
|
|
3494
|
-
)
|
|
3495
|
-
);
|
|
3496
|
-
canton_extras_exports.zPreApprovalState;
|
|
3497
|
-
canton_extras_exports.zTransferProposal;
|
|
3498
|
-
var zWhitelistAddress = z14.object({
|
|
3499
|
-
name: z14.string().min(1).max(50),
|
|
3500
|
-
currency: zCurrencyString,
|
|
3501
|
-
address: z14.string().min(1).max(200),
|
|
3502
|
-
// Destination tags are numeric-only or alpha-numeric.
|
|
3503
|
-
// Empty array (or undefined) means no check on destination tag.
|
|
3504
|
-
destinationTags: z14.array(z14.string().min(1).regex(/^\w+$/)).optional()
|
|
3505
|
-
});
|
|
3506
|
-
var zWhitelistAddresses = z14.array(zWhitelistAddress);
|
|
3507
|
-
var zWhitelistName = z14.string().min(1).max(45).meta({ description: "Whitelist name" });
|
|
3508
|
-
var zCreateWhitelistRequestData = z14.object({
|
|
3509
|
-
name: zWhitelistName,
|
|
3510
|
-
description: z14.string().nullable(),
|
|
3511
|
-
addresses: zWhitelistAddresses,
|
|
3512
|
-
type: z14.enum(WhitelistType)
|
|
3513
|
-
});
|
|
3514
|
-
var zEditWhitelistRequestData = z14.object({
|
|
3515
|
-
name: zWhitelistName,
|
|
3516
|
-
addresses: zWhitelistAddresses
|
|
3517
|
-
});
|
|
3518
|
-
|
|
3519
|
-
// src/policies/db-utils.ts
|
|
3520
|
-
var zBaseGovRuleData = z14.object({
|
|
3521
|
-
// Steps of users that will need to review operations
|
|
3522
|
-
reviewSteps: zReviewStepsArray,
|
|
3523
|
-
// Optional threshold on transaction value: null `min` = 0, null `max` = +inf
|
|
3524
|
-
threshold: policy_exports.zThreshold.optional(),
|
|
3525
|
-
// Optional whitelist on transaction recipient: Empty list means no whitelist.
|
|
3526
|
-
whitelistIds: policy_exports.zWhitelistIds.optional()
|
|
3527
|
-
});
|
|
3528
|
-
var zClassicGovRuleData = zBaseGovRuleData.extend({
|
|
3529
|
-
operationType: zClassicAction.meta({ description: "Allowed action" })
|
|
3530
|
-
}).meta({ description: "Account governance rule", id: "ClassicGovRuleData" });
|
|
3531
|
-
zBaseGovRuleData.extend({
|
|
3532
|
-
operationType: zGovernableAction.meta({ description: "Allowed action" })
|
|
3533
|
-
}).meta({ description: "Governance rule", id: "GovRuleResponse" });
|
|
3534
|
-
({
|
|
3535
|
-
reviewConfigs: { include: review_config_exports.INCLUDE_MEMBERS }
|
|
3536
|
-
});
|
|
3537
|
-
var zPolicyName = z14.string().min(1).max(19).meta({ description: "Policy name" });
|
|
3538
|
-
var zCurrency2 = z14.string().min(1).max(40).regex(/^\w+$/).meta({ description: "Currency" });
|
|
3539
|
-
var zCreatePublicPolicyRequestData = z14.object({
|
|
3540
|
-
name: zPolicyName,
|
|
3541
|
-
description: z14.string().nullable().meta({ description: "Description" }),
|
|
3542
|
-
currency: zCurrency2.nullable(),
|
|
3543
|
-
govRules: z14.array(zClassicGovRuleData).meta({ description: "Governance rules" })
|
|
3544
|
-
});
|
|
3545
|
-
var zEditPublicPolicyRequestData = z14.object({
|
|
3546
|
-
name: zPolicyName,
|
|
3547
|
-
description: z14.string().nullable().meta({ description: "Description" }),
|
|
3548
|
-
govRules: z14.array(zClassicGovRuleData).meta({ description: "Governance rules" })
|
|
3549
|
-
});
|
|
3550
|
-
var zAccountName = z14.string().min(1).max(40).meta({ description: "Account name" });
|
|
3551
|
-
z14.enum(["standalone", "legacy"]);
|
|
3552
|
-
var zSignDigestsGovRuleData = z14.object({
|
|
3553
|
-
operationType: z14.literal("SIGN_DIGESTS"),
|
|
3554
|
-
reviewSteps: zReviewStepWithUsersArray
|
|
3555
|
-
// we need to control for API users only
|
|
3556
|
-
}).meta({ description: "Digest signing rule" });
|
|
3557
|
-
var zAccountPolicyRequestData = z14.union([
|
|
3558
|
-
z14.object({ policyId: z14.string().min(1) }).meta({ description: "Account policy" }),
|
|
3559
|
-
z14.object({ rules: z14.array(zClassicGovRuleData) }).meta({ description: "Account governance rules" })
|
|
3560
|
-
]).meta({ description: "Account policy or governance rules" });
|
|
3561
|
-
var zCreateAccountGovernanceData = z14.discriminatedUnion("type", [
|
|
3562
|
-
z14.object({
|
|
3563
|
-
type: z14.literal(AccountGovernanceType.CLASSIC),
|
|
3564
|
-
policy: zAccountPolicyRequestData
|
|
3565
|
-
}).meta({ description: "Classic governance" }),
|
|
3566
|
-
z14.object({
|
|
3567
|
-
type: z14.literal(AccountGovernanceType.TRADELINK),
|
|
3568
|
-
assetManagerId: z14.string(),
|
|
3569
|
-
exchangeConfigs: zTradelinkExchangeConfigs
|
|
3570
|
-
}).meta({ description: "Tradelink governance" }),
|
|
3571
|
-
z14.object({
|
|
3572
|
-
type: z14.literal(AccountGovernanceType.RAW_SIGNING),
|
|
3573
|
-
policy: z14.object({ rules: z14.array(zSignDigestsGovRuleData) })
|
|
3574
|
-
}).meta({ description: "Raw signing governance" })
|
|
3575
|
-
]).meta({ description: "Governance fields" });
|
|
3576
|
-
var zCreateAccountUserInputData = z14.object({
|
|
3577
|
-
name: zAccountName,
|
|
3578
|
-
currency: zCurrencyString,
|
|
3579
|
-
// "bitcoin"
|
|
3580
|
-
index: z14.number().nonnegative().optional().meta({ description: "Account index" }),
|
|
3581
|
-
contractAddress: z14.string().nonempty().nullable().meta({ description: "Token issuer" }),
|
|
3582
|
-
tokenIdentifier: z14.string().nonempty().nullable().meta({ description: "Token identifier" }),
|
|
3583
|
-
governance: zCreateAccountGovernanceData
|
|
3584
|
-
});
|
|
3585
|
-
var zCreateAccountRequestData = zCreateAccountUserInputData.omit({ index: true }).extend({
|
|
3586
|
-
index: z14.number().nonnegative().meta({ description: "Account index" }),
|
|
3587
|
-
derivationPath: z14.string().meta({ description: "Account bip44 derivation path" }),
|
|
3588
|
-
type: z14.enum(AccountType)
|
|
3589
|
-
// "BITCOIN_LIKE"
|
|
3590
|
-
}).meta({
|
|
3591
|
-
description: "Create account request data",
|
|
3592
|
-
id: "CreateAccountRequestData"
|
|
3593
|
-
});
|
|
3594
|
-
zCreateAccountUserInputData.omit({
|
|
3595
|
-
governance: true
|
|
3596
|
-
}).extend({ policyId: z14.string().min(1).meta({ description: "Account policy" }) }).meta({
|
|
3597
|
-
description: "Create account request data (for API admin only)",
|
|
3598
|
-
id: "CreateClassicAccountWithPolicyIdUserInput"
|
|
3599
|
-
});
|
|
3600
|
-
var zEditAccountGovernanceData = z14.discriminatedUnion("type", [
|
|
3601
|
-
z14.object({
|
|
3602
|
-
type: z14.literal(AccountGovernanceType.CLASSIC),
|
|
3603
|
-
policy: zAccountPolicyRequestData
|
|
3604
|
-
}).meta({ description: "Classic governance" }),
|
|
3605
|
-
z14.object({
|
|
3606
|
-
type: z14.literal(AccountGovernanceType.TRADELINK),
|
|
3607
|
-
exchangeConfigs: zTradelinkExchangeConfigs
|
|
3608
|
-
}).meta({ description: "Tradelink governance" }),
|
|
3609
|
-
z14.object({
|
|
3610
|
-
type: z14.literal(AccountGovernanceType.RAW_SIGNING),
|
|
3611
|
-
policy: z14.object({ rules: z14.array(zSignDigestsGovRuleData) })
|
|
3612
|
-
}).meta({ description: "Raw signing governance" })
|
|
3613
|
-
]).meta({ description: "Governance fields" });
|
|
3614
|
-
var zEditAccountRequestData = z14.object({
|
|
3615
|
-
name: zAccountName,
|
|
3616
|
-
governance: zEditAccountGovernanceData
|
|
3617
|
-
}).meta({
|
|
3618
|
-
description: "Edit account request data",
|
|
3619
|
-
id: "EditAccountRequestData"
|
|
3620
|
-
});
|
|
3621
|
-
var zEditTokenRuleRequestData = z14.object({
|
|
3622
|
-
parentAccountId: z14.string().min(1).meta({ description: "Parent account unique ID" }),
|
|
3623
|
-
contractAddress: z14.string().min(1).meta({ description: "Token contract address" }),
|
|
3624
|
-
rules: z14.array(zClassicGovRuleData).meta({ description: "Account governance rules" })
|
|
1066
|
+
url: faker.internet.url(),
|
|
1067
|
+
createdAt: faker.date.past(),
|
|
1068
|
+
...opts
|
|
3625
1069
|
});
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
case
|
|
3636
|
-
return {
|
|
3637
|
-
type: account.type,
|
|
3638
|
-
address: account.address,
|
|
3639
|
-
contractAddress: account.contractAddress
|
|
3640
|
-
};
|
|
3641
|
-
case AccountType.CARDANO_LIKE:
|
|
3642
|
-
return {
|
|
3643
|
-
type: account.type,
|
|
3644
|
-
address: account.address
|
|
3645
|
-
};
|
|
3646
|
-
case AccountType.SOLANA_LIKE:
|
|
3647
|
-
return {
|
|
3648
|
-
type: account.type,
|
|
3649
|
-
address: account.address,
|
|
3650
|
-
contractAddress: account.contractAddress
|
|
3651
|
-
};
|
|
3652
|
-
case AccountType.TEZOS_LIKE:
|
|
3653
|
-
return {
|
|
3654
|
-
type: account.type,
|
|
3655
|
-
address: account.address
|
|
3656
|
-
};
|
|
3657
|
-
case AccountType.STELLAR_LIKE:
|
|
3658
|
-
return {
|
|
3659
|
-
type: account.type,
|
|
3660
|
-
address: account.address
|
|
3661
|
-
};
|
|
3662
|
-
case AccountType.SUI_LIKE:
|
|
3663
|
-
return {
|
|
3664
|
-
type: account.type,
|
|
3665
|
-
address: account.address
|
|
3666
|
-
};
|
|
3667
|
-
case AccountType.RIPPLE_LIKE:
|
|
3668
|
-
return {
|
|
3669
|
-
type: account.type,
|
|
3670
|
-
address: account.address
|
|
3671
|
-
};
|
|
3672
|
-
case AccountType.POLKADOT_LIKE:
|
|
3673
|
-
return {
|
|
3674
|
-
type: account.type,
|
|
3675
|
-
address: account.address
|
|
3676
|
-
};
|
|
3677
|
-
case AccountType.TRON_LIKE:
|
|
3678
|
-
return {
|
|
3679
|
-
type: account.type,
|
|
3680
|
-
address: account.address,
|
|
3681
|
-
contractAddress: account.contractAddress
|
|
3682
|
-
};
|
|
3683
|
-
case AccountType.GENERIC_LIKE:
|
|
3684
|
-
case AccountType.RAW_SIGNING:
|
|
1070
|
+
var genAccountStakingFields = (opts) => {
|
|
1071
|
+
if (opts.contractAddress !== null) {
|
|
1072
|
+
return null;
|
|
1073
|
+
}
|
|
1074
|
+
switch (opts.type) {
|
|
1075
|
+
case "BITCOIN_LIKE":
|
|
1076
|
+
return null;
|
|
1077
|
+
case "CANTON_LIKE":
|
|
1078
|
+
return null;
|
|
1079
|
+
case "CARDANO_LIKE":
|
|
3685
1080
|
return {
|
|
3686
|
-
type:
|
|
1081
|
+
type: "CARDANO_LIKE",
|
|
1082
|
+
staking: {
|
|
1083
|
+
staked: faker.number.int().toString()
|
|
1084
|
+
}
|
|
3687
1085
|
};
|
|
3688
|
-
case
|
|
1086
|
+
case "ETHEREUM_LIKE":
|
|
3689
1087
|
return {
|
|
3690
|
-
type:
|
|
3691
|
-
|
|
1088
|
+
type: "ETHEREUM_LIKE",
|
|
1089
|
+
staking: {
|
|
1090
|
+
totalStaking: faker.number.int().toString(),
|
|
1091
|
+
totalRewards: faker.number.int().toString(),
|
|
1092
|
+
availableRewards: faker.number.int().toString(),
|
|
1093
|
+
networkApy: faker.number.float({ min: 0, max: 1 })
|
|
1094
|
+
}
|
|
3692
1095
|
};
|
|
3693
|
-
case
|
|
1096
|
+
case "GENERIC_LIKE":
|
|
1097
|
+
return null;
|
|
1098
|
+
case "POLKADOT_LIKE":
|
|
3694
1099
|
return {
|
|
3695
|
-
type:
|
|
3696
|
-
|
|
3697
|
-
|
|
1100
|
+
type: "POLKADOT_LIKE",
|
|
1101
|
+
staking: {
|
|
1102
|
+
info: {
|
|
1103
|
+
controllerAddress: "<fake-controller-address>",
|
|
1104
|
+
rewardsDestination: "<fake-rewards-destination>",
|
|
1105
|
+
proxies: ["<fake-proxy>"],
|
|
1106
|
+
legacyStaking: false,
|
|
1107
|
+
isNominator: false
|
|
1108
|
+
},
|
|
1109
|
+
balances: {
|
|
1110
|
+
free: faker.number.int().toString(),
|
|
1111
|
+
reserved: faker.number.int().toString(),
|
|
1112
|
+
frozen: faker.number.int().toString(),
|
|
1113
|
+
bonded: faker.number.int().toString(),
|
|
1114
|
+
available: faker.number.int().toString(),
|
|
1115
|
+
unbonding: [
|
|
1116
|
+
{ amount: faker.number.int().toString(), waiting_time: "<fake-waiting-time>" }
|
|
1117
|
+
],
|
|
1118
|
+
unbonded: [
|
|
1119
|
+
{ amount: faker.number.int().toString(), waiting_time: "<fake-waiting-time>" }
|
|
1120
|
+
],
|
|
1121
|
+
totalUnbonding: faker.number.int().toString(),
|
|
1122
|
+
totalUnbonded: faker.number.int().toString()
|
|
1123
|
+
},
|
|
1124
|
+
anonymousProxy: {
|
|
1125
|
+
address: "<fake-anonymous-proxy-address>",
|
|
1126
|
+
createdAt: faker.date.past().toISOString(),
|
|
1127
|
+
isController: false,
|
|
1128
|
+
isMain: false,
|
|
1129
|
+
balances: {
|
|
1130
|
+
free: faker.number.int().toString(),
|
|
1131
|
+
reserved: faker.number.int().toString(),
|
|
1132
|
+
frozen: faker.number.int().toString(),
|
|
1133
|
+
bonded: faker.number.int().toString(),
|
|
1134
|
+
available: faker.number.int().toString(),
|
|
1135
|
+
total: faker.number.int().toString()
|
|
1136
|
+
},
|
|
1137
|
+
blockHeight: faker.number.int().toString(),
|
|
1138
|
+
extIndex: faker.number.int().toString(),
|
|
1139
|
+
index: faker.number.int().toString(),
|
|
1140
|
+
kind: "<fake-kind>"
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
3698
1143
|
};
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
var getAccountGovernanceFields = (account) => {
|
|
3705
|
-
switch (account.governanceType) {
|
|
3706
|
-
case AccountGovernanceType.CLASSIC:
|
|
1144
|
+
case "RAW_SIGNING":
|
|
1145
|
+
return null;
|
|
1146
|
+
case "RIPPLE_LIKE":
|
|
1147
|
+
return null;
|
|
1148
|
+
case "SOLANA_LIKE":
|
|
3707
1149
|
return {
|
|
3708
|
-
type:
|
|
3709
|
-
|
|
1150
|
+
type: "SOLANA_LIKE",
|
|
1151
|
+
staking: {
|
|
1152
|
+
staked: faker.number.int().toString(),
|
|
1153
|
+
rewards: {
|
|
1154
|
+
total: faker.number.int().toString(),
|
|
1155
|
+
last7: faker.number.int().toString(),
|
|
1156
|
+
last30: faker.number.int().toString()
|
|
1157
|
+
},
|
|
1158
|
+
stakes: [
|
|
1159
|
+
{
|
|
1160
|
+
uid: "<fake-stake-uid>",
|
|
1161
|
+
baseAccountUid: "<fake-base-account-uid>",
|
|
1162
|
+
pubKey: "<fake-pub-key>",
|
|
1163
|
+
validatorPubKey: "<fake-validator-pub-key>",
|
|
1164
|
+
initialAmount: faker.number.int().toString(),
|
|
1165
|
+
activeAmount: faker.number.int().toString(),
|
|
1166
|
+
inactiveAmount: faker.number.int().toString(),
|
|
1167
|
+
totalBalance: faker.number.int().toString(),
|
|
1168
|
+
creationDate: faker.date.past().toISOString(),
|
|
1169
|
+
activationEpoch: faker.date.past().toISOString(),
|
|
1170
|
+
activationDate: faker.date.past().toISOString(),
|
|
1171
|
+
deactivationEpoch: "<fake-deactivation-epoch>",
|
|
1172
|
+
deactivationDate: faker.date.past().toISOString(),
|
|
1173
|
+
status: "activated",
|
|
1174
|
+
rentExemptReserve: faker.number.int().toString(),
|
|
1175
|
+
withdrawableAmount: faker.number.int().toString(),
|
|
1176
|
+
totalRewards: faker.number.int().toString(),
|
|
1177
|
+
creationTxHash: "<fake-creation-tx-hash>",
|
|
1178
|
+
actionsTxHashes: ["<fake-action-tx-hash>"]
|
|
1179
|
+
}
|
|
1180
|
+
]
|
|
1181
|
+
}
|
|
3710
1182
|
};
|
|
3711
|
-
case
|
|
1183
|
+
case "STELLAR_LIKE":
|
|
1184
|
+
return null;
|
|
1185
|
+
case "SUI_LIKE":
|
|
3712
1186
|
return {
|
|
3713
|
-
type:
|
|
3714
|
-
|
|
1187
|
+
type: "SUI_LIKE",
|
|
1188
|
+
staking: {
|
|
1189
|
+
totalStaked: faker.number.int().toString(),
|
|
1190
|
+
totalRewards: faker.number.int().toString()
|
|
1191
|
+
}
|
|
3715
1192
|
};
|
|
3716
|
-
case
|
|
1193
|
+
case "TEZOS_LIKE":
|
|
3717
1194
|
return {
|
|
3718
|
-
type:
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
)
|
|
1195
|
+
type: "TEZOS_LIKE",
|
|
1196
|
+
staking: {
|
|
1197
|
+
delegations: [{ address: faker.string.alpha({ length: 10 }) }]
|
|
1198
|
+
}
|
|
3723
1199
|
};
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
};
|
|
3729
|
-
var serializeAccount = (account) => {
|
|
3730
|
-
const asset = getAccountAssetFields(account);
|
|
3731
|
-
const governance = getAccountGovernanceFields(account);
|
|
3732
|
-
const response = {
|
|
3733
|
-
...account,
|
|
3734
|
-
network: account.currency,
|
|
3735
|
-
legacyId: account.gateId,
|
|
3736
|
-
governance,
|
|
3737
|
-
asset
|
|
3738
|
-
};
|
|
3739
|
-
return zAccountResponse.parse(response);
|
|
3740
|
-
};
|
|
3741
|
-
var zUserResponse = z14.object({
|
|
3742
|
-
id: z14.string().meta({ description: "Internal unique identifier" }),
|
|
3743
|
-
legacyId: z14.number().meta({ description: "Legacy internal unique identifier (for retro-compatibility)" }),
|
|
3744
|
-
legacyViewAll: z14.boolean().meta({ description: "If true, user can read all resources on the workspace" }),
|
|
3745
|
-
workspaceName: z14.string().meta({ description: "User's workspace name" }),
|
|
3746
|
-
name: z14.string().meta({ description: "User name" }),
|
|
3747
|
-
deviceUserId: z14.string().nullable().meta({ description: "User's device ID (for non-API users)" }),
|
|
3748
|
-
deviceType: z14.enum(UserDeviceType).meta({ description: "User's device type" }),
|
|
3749
|
-
role: z14.enum(UserRole).meta({ description: "User role" }),
|
|
3750
|
-
pubKey: z14.string().meta({ description: "User public key" }),
|
|
3751
|
-
status: z14.enum(ActivationStatus).meta({ description: "User status" }),
|
|
3752
|
-
isSuspended: z14.boolean().meta({ description: "Whether the user is suspended" }),
|
|
3753
|
-
createdAt: z14.coerce.date().meta({ description: "Creation timestamp" }),
|
|
3754
|
-
updatedAt: z14.coerce.date().meta({ description: "Last modification timestamp" })
|
|
3755
|
-
});
|
|
3756
|
-
zUserResponse.extend({
|
|
3757
|
-
role: z14.literal(UserRole.ADMIN).meta({ description: "Should always be ADMIN" })
|
|
3758
|
-
});
|
|
3759
|
-
z14.enum([
|
|
3760
|
-
"name",
|
|
3761
|
-
"role",
|
|
3762
|
-
"status",
|
|
3763
|
-
"createdAt",
|
|
3764
|
-
"updatedAt"
|
|
3765
|
-
]).default("createdAt");
|
|
3766
|
-
|
|
3767
|
-
// src/users/app-utils.ts
|
|
3768
|
-
function serializeUser(user) {
|
|
3769
|
-
const serialized = {
|
|
3770
|
-
...user,
|
|
3771
|
-
legacyId: user.gateId
|
|
3772
|
-
};
|
|
3773
|
-
return zUserResponse.parse(serialized);
|
|
3774
|
-
}
|
|
3775
|
-
|
|
3776
|
-
// src/groups/app-types.ts
|
|
3777
|
-
var zGroupResponse = z14.object({
|
|
3778
|
-
id: z14.string().meta({ description: "Internal unique identifier" }),
|
|
3779
|
-
legacyId: z14.number().meta({ description: "Legacy internal unique identifier (for retro-compatibility)" }),
|
|
3780
|
-
name: z14.string().meta({ description: "Group name" }),
|
|
3781
|
-
description: z14.string().nullable().meta({ description: "Group description" }),
|
|
3782
|
-
status: z14.enum(ActivationStatus).meta({ description: "Group status" }),
|
|
3783
|
-
members: z14.array(zUserResponse).meta({ description: "Group members" }),
|
|
3784
|
-
createdAt: z14.coerce.date().meta({ description: "Creation timestamp" }),
|
|
3785
|
-
updatedAt: z14.coerce.date().meta({ description: "Last modification timestamp" })
|
|
3786
|
-
});
|
|
3787
|
-
z14.enum(["name", "status", "createdAt", "updatedAt"]).default("createdAt");
|
|
3788
|
-
|
|
3789
|
-
// src/groups/app-utils.ts
|
|
3790
|
-
function serializeGroup(group) {
|
|
3791
|
-
const serialized = {
|
|
3792
|
-
...group,
|
|
3793
|
-
legacyId: group.gateId,
|
|
3794
|
-
members: group.members.map(serializeUser)
|
|
3795
|
-
};
|
|
3796
|
-
return zGroupResponse.parse(serialized);
|
|
3797
|
-
}
|
|
3798
|
-
|
|
3799
|
-
// src/compat/patch-request-expired-at.ts
|
|
3800
|
-
var patchRequestExpiredAt = (data) => ({
|
|
3801
|
-
...data,
|
|
3802
|
-
expiredAt: data.expiresAt
|
|
3803
|
-
});
|
|
3804
|
-
var patchTezosRequestData = (data) => {
|
|
3805
|
-
if (data.type !== RequestType.CREATE_TRANSACTION) {
|
|
3806
|
-
return data;
|
|
3807
|
-
}
|
|
3808
|
-
const transaction = get(data, ["data", "transaction"]);
|
|
3809
|
-
if (!isRecord(transaction)) {
|
|
3810
|
-
return data;
|
|
3811
|
-
}
|
|
3812
|
-
if (transaction.type === "TEZOS_LIKE_DELEGATE") {
|
|
3813
|
-
transaction.amount = transaction.amount ?? "0";
|
|
3814
|
-
} else if (transaction.type === "TEZOS_LIKE_UNDELEGATE") {
|
|
3815
|
-
transaction.amount = transaction.amount ?? "0";
|
|
3816
|
-
transaction.recipient = transaction.recipient ?? "0";
|
|
3817
|
-
}
|
|
3818
|
-
return data;
|
|
3819
|
-
};
|
|
3820
|
-
var zSoftChallenge = z.object({
|
|
3821
|
-
challengeType: z.literal(ChallengeType.SOFT)
|
|
3822
|
-
// soft approval with no challenge to sign
|
|
3823
|
-
});
|
|
3824
|
-
var zChallenge = z.discriminatedUnion("challengeType", [
|
|
3825
|
-
zPsdChallenge,
|
|
3826
|
-
zApiChallenge,
|
|
3827
|
-
zSoftChallenge
|
|
3828
|
-
]);
|
|
3829
|
-
var zSoftChallengeGroup = z.record(zPubKey, zSoftChallenge);
|
|
3830
|
-
var zSoftChallengeSteps = z.array(zSoftChallengeGroup);
|
|
3831
|
-
z.object({
|
|
3832
|
-
stageName: z.string(),
|
|
3833
|
-
steps: zSoftChallengeSteps
|
|
3834
|
-
});
|
|
3835
|
-
var zRequestReviewStep = z.object({
|
|
3836
|
-
stageName: z.string().regex(/^\w+$/).meta({ description: "The review stage name" }),
|
|
3837
|
-
quorum: z.int().min(1).meta({ description: "Quorum for the review step" })
|
|
3838
|
-
});
|
|
3839
|
-
var zRequestReviewSteps = z.array(zRequestReviewStep);
|
|
3840
|
-
z.object({
|
|
3841
|
-
available: z.boolean().meta({ description: "Whether the name is available" }),
|
|
3842
|
-
reason: z.string().optional().meta({ description: "Reason the name is unavailable" })
|
|
3843
|
-
});
|
|
3844
|
-
var zSciConfigData = z14.object({
|
|
3845
|
-
dapps: z14.array(z14.string()).nullable().meta({ description: "Allowed DApps, null allows all" }),
|
|
3846
|
-
customContractCallEnabled: z14.boolean().meta({ description: "Allow non-DApp SCI" })
|
|
3847
|
-
});
|
|
3848
|
-
var zCreateSciConfigRequestData = z14.object({
|
|
3849
|
-
account: z14.string().meta({ description: "Account UUID" }),
|
|
3850
|
-
config: zSciConfigData
|
|
3851
|
-
});
|
|
3852
|
-
var zEditSciConfigRequestData = z14.object({
|
|
3853
|
-
config: zSciConfigData
|
|
3854
|
-
});
|
|
3855
|
-
var zGroupName = z14.string().min(1).max(19).meta({ description: "Group name" });
|
|
3856
|
-
var zCreateGroupRequestData = z14.object({
|
|
3857
|
-
name: zGroupName,
|
|
3858
|
-
description: z14.string().nullable().meta({ description: "Group description" }),
|
|
3859
|
-
members: z14.array(z14.string()).meta({ description: "List of group members ids" })
|
|
3860
|
-
});
|
|
3861
|
-
var zEditGroupRequestData = z14.object({
|
|
3862
|
-
name: zGroupName,
|
|
3863
|
-
description: z14.string().nullable().meta({ description: "Group description" }),
|
|
3864
|
-
members: z14.array(z14.string()).meta({ description: "List of group members ids" })
|
|
3865
|
-
});
|
|
3866
|
-
var zEntityName = z14.string().min(1).max(19).meta({ description: "Entity name" });
|
|
3867
|
-
var zCreateEntityRequestData = z14.object({
|
|
3868
|
-
name: zEntityName,
|
|
3869
|
-
accountIds: z14.array(z14.string()).meta({ description: "List of Account IDs" }),
|
|
3870
|
-
memberIds: z14.array(z14.string()).meta({ description: "List of User IDs" })
|
|
3871
|
-
});
|
|
3872
|
-
var zEditEntityRequestData = zCreateEntityRequestData;
|
|
3873
|
-
var zRevokeEntityRequestData = z14.object({});
|
|
3874
|
-
var zApiKeyName = z14.string().min(1).max(19).meta({ description: "API key name" });
|
|
3875
|
-
var zCreateApiKeyRequestData = z14.object({
|
|
3876
|
-
name: zApiKeyName,
|
|
3877
|
-
entities: z14.array(z14.string()).meta({ description: "List of related entities ids" }),
|
|
3878
|
-
scopes: z14.object({}).meta({ description: "FIXME to be precised" })
|
|
3879
|
-
}).meta({ description: "Create read-only API key request data" });
|
|
3880
|
-
var zEditApiKeyRequestData = zCreateApiKeyRequestData.meta({
|
|
3881
|
-
description: "Edit read-only API key request data"
|
|
3882
|
-
});
|
|
3883
|
-
|
|
3884
|
-
// src/requests/request-data.ts
|
|
3885
|
-
var zVaultRequestMixinsByType = {
|
|
3886
|
-
// Workspaces
|
|
3887
|
-
[RequestType.UPDATE_QUORUM]: z14.object({
|
|
3888
|
-
type: z14.literal(RequestType.UPDATE_QUORUM),
|
|
3889
|
-
data: zUpdateQuorumRequestData
|
|
3890
|
-
}),
|
|
3891
|
-
// Operator requests
|
|
3892
|
-
[RequestType.CREATE_TRANSACTION]: z14.object({
|
|
3893
|
-
type: z14.literal(RequestType.CREATE_TRANSACTION),
|
|
3894
|
-
data: zCreateTransactionRequestData
|
|
3895
|
-
}),
|
|
3896
|
-
[RequestType.SIGN_MESSAGE]: z14.object({
|
|
3897
|
-
type: z14.literal(RequestType.SIGN_MESSAGE),
|
|
3898
|
-
data: zSignMessageRequestData
|
|
3899
|
-
}),
|
|
3900
|
-
[RequestType.SIGN_DIGESTS]: z14.object({
|
|
3901
|
-
type: z14.literal(RequestType.SIGN_DIGESTS),
|
|
3902
|
-
data: zSignDigestsRequestData
|
|
3903
|
-
}),
|
|
3904
|
-
// Accounts
|
|
3905
|
-
[RequestType.CREATE_ACCOUNT]: z14.object({
|
|
3906
|
-
type: z14.literal(RequestType.CREATE_ACCOUNT),
|
|
3907
|
-
data: zCreateAccountRequestData
|
|
3908
|
-
}),
|
|
3909
|
-
[RequestType.EDIT_ACCOUNT]: z14.object({
|
|
3910
|
-
type: z14.literal(RequestType.EDIT_ACCOUNT),
|
|
3911
|
-
targetId: z14.string(),
|
|
3912
|
-
data: zEditAccountRequestData
|
|
3913
|
-
}),
|
|
3914
|
-
[RequestType.EDIT_TOKEN_RULE]: z14.object({
|
|
3915
|
-
type: z14.literal(RequestType.EDIT_TOKEN_RULE),
|
|
3916
|
-
targetId: z14.string(),
|
|
3917
|
-
data: zEditTokenRuleRequestData
|
|
3918
|
-
}),
|
|
3919
|
-
// Groups
|
|
3920
|
-
[RequestType.CREATE_GROUP]: z14.object({
|
|
3921
|
-
type: z14.literal(RequestType.CREATE_GROUP),
|
|
3922
|
-
data: zCreateGroupRequestData
|
|
3923
|
-
}),
|
|
3924
|
-
[RequestType.EDIT_GROUP]: z14.object({
|
|
3925
|
-
type: z14.literal(RequestType.EDIT_GROUP),
|
|
3926
|
-
targetId: z14.string(),
|
|
3927
|
-
data: zEditGroupRequestData
|
|
3928
|
-
}),
|
|
3929
|
-
[RequestType.REVOKE_GROUP]: z14.object({
|
|
3930
|
-
type: z14.literal(RequestType.REVOKE_GROUP),
|
|
3931
|
-
targetId: z14.string(),
|
|
3932
|
-
data: zRevokeUserRequestData
|
|
3933
|
-
}),
|
|
3934
|
-
// Whitelists
|
|
3935
|
-
[RequestType.CREATE_WHITELIST]: z14.object({
|
|
3936
|
-
type: z14.literal(RequestType.CREATE_WHITELIST),
|
|
3937
|
-
data: zCreateWhitelistRequestData
|
|
3938
|
-
}),
|
|
3939
|
-
[RequestType.EDIT_WHITELIST]: z14.object({
|
|
3940
|
-
type: z14.literal(RequestType.EDIT_WHITELIST),
|
|
3941
|
-
targetId: z14.string(),
|
|
3942
|
-
data: zEditWhitelistRequestData
|
|
3943
|
-
}),
|
|
3944
|
-
// Entities
|
|
3945
|
-
[RequestType.CREATE_ENTITY]: z14.object({
|
|
3946
|
-
type: z14.literal(RequestType.CREATE_ENTITY),
|
|
3947
|
-
data: zCreateEntityRequestData
|
|
3948
|
-
}),
|
|
3949
|
-
[RequestType.EDIT_ENTITY]: z14.object({
|
|
3950
|
-
type: z14.literal(RequestType.EDIT_ENTITY),
|
|
3951
|
-
targetId: z14.string(),
|
|
3952
|
-
data: zEditEntityRequestData
|
|
3953
|
-
}),
|
|
3954
|
-
[RequestType.REVOKE_ENTITY]: z14.object({
|
|
3955
|
-
type: z14.literal(RequestType.REVOKE_ENTITY),
|
|
3956
|
-
targetId: z14.string(),
|
|
3957
|
-
data: zRevokeEntityRequestData
|
|
3958
|
-
}),
|
|
3959
|
-
// Users
|
|
3960
|
-
[RequestType.CREATE_PSD_USER]: z14.object({
|
|
3961
|
-
type: z14.literal(RequestType.CREATE_PSD_USER),
|
|
3962
|
-
data: zCreatePsdUserRequestData
|
|
3963
|
-
}),
|
|
3964
|
-
[RequestType.CREATE_API_USER]: z14.object({
|
|
3965
|
-
type: z14.literal(RequestType.CREATE_API_USER),
|
|
3966
|
-
data: zCreateApiUserRequestData
|
|
3967
|
-
}),
|
|
3968
|
-
[RequestType.CREATE_API_USER_ACCESS]: z14.object({
|
|
3969
|
-
type: z14.literal(RequestType.CREATE_API_USER_ACCESS),
|
|
3970
|
-
data: zCreateApiUserAccessRequestData
|
|
3971
|
-
}),
|
|
3972
|
-
[RequestType.REVOKE_USER]: z14.object({
|
|
3973
|
-
type: z14.literal(RequestType.REVOKE_USER),
|
|
3974
|
-
targetId: z14.string(),
|
|
3975
|
-
data: zRevokeUserRequestData
|
|
3976
|
-
}),
|
|
3977
|
-
// Admin gov rules
|
|
3978
|
-
[RequestType.EDIT_WORKSPACE_RULE]: z14.object({
|
|
3979
|
-
type: z14.literal(RequestType.EDIT_WORKSPACE_RULE),
|
|
3980
|
-
data: zWorkspaceRuleRequestData
|
|
3981
|
-
}),
|
|
3982
|
-
// SCI configs
|
|
3983
|
-
[RequestType.CREATE_SCICONFIG]: z14.object({
|
|
3984
|
-
type: z14.literal(RequestType.CREATE_SCICONFIG),
|
|
3985
|
-
data: zCreateSciConfigRequestData
|
|
3986
|
-
}),
|
|
3987
|
-
[RequestType.EDIT_SCICONFIG]: z14.object({
|
|
3988
|
-
type: z14.literal(RequestType.EDIT_SCICONFIG),
|
|
3989
|
-
data: zEditSciConfigRequestData
|
|
3990
|
-
}),
|
|
3991
|
-
// API keys
|
|
3992
|
-
[RequestType.CREATE_API_KEY]: z14.object({
|
|
3993
|
-
type: z14.literal(RequestType.CREATE_API_KEY),
|
|
3994
|
-
data: zCreateApiKeyRequestData
|
|
3995
|
-
}),
|
|
3996
|
-
[RequestType.EDIT_API_KEY]: z14.object({
|
|
3997
|
-
type: z14.literal(RequestType.EDIT_API_KEY),
|
|
3998
|
-
data: zEditApiKeyRequestData
|
|
3999
|
-
}),
|
|
4000
|
-
[RequestType.REVOKE_API_KEY]: z14.object({
|
|
4001
|
-
type: z14.literal(RequestType.REVOKE_API_KEY),
|
|
4002
|
-
data: z14.object({})
|
|
4003
|
-
}),
|
|
4004
|
-
// Policies
|
|
4005
|
-
[RequestType.CREATE_POLICY]: z14.object({
|
|
4006
|
-
type: z14.literal(RequestType.CREATE_POLICY),
|
|
4007
|
-
data: zCreatePublicPolicyRequestData
|
|
4008
|
-
}),
|
|
4009
|
-
[RequestType.EDIT_POLICY]: z14.object({
|
|
4010
|
-
type: z14.literal(RequestType.EDIT_POLICY),
|
|
4011
|
-
targetId: z14.string(),
|
|
4012
|
-
data: zEditPublicPolicyRequestData
|
|
4013
|
-
}),
|
|
4014
|
-
// Tradelink-related requests
|
|
4015
|
-
...zTradelinkRequestMixinsByType
|
|
4016
|
-
};
|
|
4017
|
-
|
|
4018
|
-
// src/requests/app-types.ts
|
|
4019
|
-
var zRequestReviewResponse = z14.object({
|
|
4020
|
-
// Note: Do NOT include `quorum` as it is already available in the request's `reviewSteps` field.
|
|
4021
|
-
stepIndex: z14.number().int().meta({ description: "Index of the governance step in the request workflow" }),
|
|
4022
|
-
userId: z14.string().meta({ description: "Reviewer id" }),
|
|
4023
|
-
groupName: z14.string().nullable().meta({ description: "Group name if the reviewer was part of an operator group" }),
|
|
4024
|
-
status: z14.enum(RequestReviewStatus).meta({ description: "Review status" }),
|
|
4025
|
-
createdAt: z14.coerce.date().meta({ description: "Created date" }),
|
|
4026
|
-
updatedAt: z14.coerce.date().meta({ description: "Updated date" })
|
|
4027
|
-
});
|
|
4028
|
-
var zVaultRequestCommonMixin = z14.object({
|
|
4029
|
-
id: z14.string().meta({ description: "Request unique identifier" }),
|
|
4030
|
-
legacyId: z14.number().meta({ description: "Legacy internal unique identifier (for retro-compatibility)" }),
|
|
4031
|
-
state: z14.enum(RequestState).meta({ description: "Request state" }),
|
|
4032
|
-
reviewSteps: zRequestReviewSteps.meta({ description: "Request review steps" }),
|
|
4033
|
-
currentStepIndex: z14.number().int().min(0).meta({ description: "Index of the current approval step" }),
|
|
4034
|
-
expiresAt: z14.coerce.date().meta({ description: "Request expiration date" }),
|
|
4035
|
-
expiredAt: z14.coerce.date().optional().meta({ description: "Deprecated: use expiresAt" }),
|
|
4036
|
-
targetId: z14.string().nullable().meta({ description: "Optional ID of the target object" }),
|
|
4037
|
-
note: zNote.nullable().meta({ description: "Optional request note" }),
|
|
4038
|
-
reviews: z14.array(zRequestReviewResponse).meta({ description: "Requests reviews" }),
|
|
4039
|
-
// `type` and `data` are correlated -- See `zVaultRequestMixinsByType`
|
|
4040
|
-
createdAt: z14.coerce.date().meta({ description: "Creation timestamp" }),
|
|
4041
|
-
updatedAt: z14.coerce.date().meta({ description: "Last modification timestamp" }),
|
|
4042
|
-
createdById: z14.string().meta({ description: "ID of the user who created the request" }),
|
|
4043
|
-
// `inflight` is fetched from ONGOING RequestSaga
|
|
4044
|
-
inflight: z14.object({
|
|
4045
|
-
completionState: z14.enum(RequestState).nullable().meta({ description: "Target state after execution is complete" }),
|
|
4046
|
-
retryAfter: z14.coerce.date().meta({ description: "Date after which next retry is scheduled" })
|
|
4047
|
-
}).optional().meta({ description: "Extra information if the request is currently being processed" })
|
|
4048
|
-
});
|
|
4049
|
-
var allowedRequestCreationInputByType = {
|
|
4050
|
-
[RequestType.UPDATE_QUORUM]: zVaultRequestMixinsByType[RequestType.UPDATE_QUORUM],
|
|
4051
|
-
[RequestType.CREATE_PSD_USER]: zVaultRequestMixinsByType[RequestType.CREATE_PSD_USER],
|
|
4052
|
-
[RequestType.CREATE_API_USER]: zVaultRequestMixinsByType[RequestType.CREATE_API_USER],
|
|
4053
|
-
[RequestType.CREATE_GROUP]: zVaultRequestMixinsByType[RequestType.CREATE_GROUP],
|
|
4054
|
-
[RequestType.EDIT_GROUP]: zVaultRequestMixinsByType[RequestType.EDIT_GROUP],
|
|
4055
|
-
[RequestType.CREATE_WHITELIST]: zVaultRequestMixinsByType[RequestType.CREATE_WHITELIST],
|
|
4056
|
-
[RequestType.EDIT_WHITELIST]: zVaultRequestMixinsByType[RequestType.EDIT_WHITELIST],
|
|
4057
|
-
[RequestType.CREATE_TRANSACTION]: zVaultRequestMixinsByType[RequestType.CREATE_TRANSACTION],
|
|
4058
|
-
[RequestType.SIGN_MESSAGE]: z14.object({
|
|
4059
|
-
type: z14.literal(RequestType.SIGN_MESSAGE),
|
|
4060
|
-
data: zSignMessageUserInputData
|
|
4061
|
-
}),
|
|
4062
|
-
[RequestType.SIGN_DIGESTS]: zVaultRequestMixinsByType[RequestType.SIGN_DIGESTS],
|
|
4063
|
-
[RequestType.CREATE_POLICY]: zVaultRequestMixinsByType[RequestType.CREATE_POLICY],
|
|
4064
|
-
[RequestType.EDIT_POLICY]: zVaultRequestMixinsByType[RequestType.EDIT_POLICY],
|
|
4065
|
-
[RequestType.CREATE_ACCOUNT]: z14.object({
|
|
4066
|
-
type: z14.literal(RequestType.CREATE_ACCOUNT),
|
|
4067
|
-
data: zCreateAccountUserInputData
|
|
4068
|
-
}),
|
|
4069
|
-
[RequestType.EDIT_ACCOUNT]: zVaultRequestMixinsByType[RequestType.EDIT_ACCOUNT],
|
|
4070
|
-
[RequestType.TRADELINK_ACTIVATE_ACCOUNT]: zVaultRequestMixinsByType[RequestType.TRADELINK_ACTIVATE_ACCOUNT],
|
|
4071
|
-
[RequestType.TRADELINK_CREATE_CUSTODIAN]: zVaultRequestMixinsByType[RequestType.TRADELINK_CREATE_CUSTODIAN],
|
|
4072
|
-
[RequestType.TRADELINK_EDIT_CUSTODIAN]: zVaultRequestMixinsByType[RequestType.TRADELINK_EDIT_CUSTODIAN],
|
|
4073
|
-
[RequestType.TRADELINK_CREATE_EXCHANGE]: zVaultRequestMixinsByType[RequestType.TRADELINK_CREATE_EXCHANGE],
|
|
4074
|
-
[RequestType.TRADELINK_EDIT_EXCHANGE]: zVaultRequestMixinsByType[RequestType.TRADELINK_EDIT_EXCHANGE],
|
|
4075
|
-
[RequestType.TRADELINK_CREATE_ASSET_MANAGER]: zVaultRequestMixinsByType[RequestType.TRADELINK_CREATE_ASSET_MANAGER],
|
|
4076
|
-
[RequestType.TRADELINK_EDIT_ASSET_MANAGER]: zVaultRequestMixinsByType[RequestType.TRADELINK_EDIT_ASSET_MANAGER],
|
|
4077
|
-
[RequestType.TRADELINK_ADJUST_PLEDGE]: zVaultRequestMixinsByType[RequestType.TRADELINK_ADJUST_PLEDGE],
|
|
4078
|
-
[RequestType.TRADELINK_REPLEDGE]: zVaultRequestMixinsByType[RequestType.TRADELINK_REPLEDGE],
|
|
4079
|
-
[RequestType.TRADELINK_FORCE_UNPLEDGE]: zVaultRequestMixinsByType[RequestType.TRADELINK_FORCE_UNPLEDGE],
|
|
4080
|
-
[RequestType.TRADELINK_CREATE_SETTLEMENT]: zVaultRequestMixinsByType[RequestType.TRADELINK_CREATE_SETTLEMENT],
|
|
4081
|
-
[RequestType.TRADELINK_WITHDRAW]: zVaultRequestMixinsByType[RequestType.TRADELINK_WITHDRAW],
|
|
4082
|
-
[RequestType.TRADELINK_ARBITRATE]: zVaultRequestMixinsByType[RequestType.TRADELINK_ARBITRATE],
|
|
4083
|
-
[RequestType.REVOKE_USER]: zVaultRequestMixinsByType[RequestType.REVOKE_USER],
|
|
4084
|
-
[RequestType.EDIT_WORKSPACE_RULE]: zVaultRequestMixinsByType[RequestType.EDIT_WORKSPACE_RULE],
|
|
4085
|
-
[RequestType.CREATE_ENTITY]: zVaultRequestMixinsByType[RequestType.CREATE_ENTITY],
|
|
4086
|
-
[RequestType.EDIT_ENTITY]: zVaultRequestMixinsByType[RequestType.EDIT_ENTITY],
|
|
4087
|
-
[RequestType.REVOKE_ENTITY]: zVaultRequestMixinsByType[RequestType.REVOKE_ENTITY]
|
|
4088
|
-
};
|
|
4089
|
-
var zRequestCreationInputCommonMixin = z14.object({
|
|
4090
|
-
note: zNote.optional().meta({ description: "Optional request note" })
|
|
4091
|
-
});
|
|
4092
|
-
z14.object({
|
|
4093
|
-
request: z14.discriminatedUnion(
|
|
4094
|
-
"type",
|
|
4095
|
-
ensureNonEmptyArray(
|
|
4096
|
-
Object.values(allowedRequestCreationInputByType).map((_) => {
|
|
4097
|
-
const requestType = _.shape.type.value;
|
|
4098
|
-
return _.extend(zRequestCreationInputCommonMixin.shape).meta({
|
|
4099
|
-
description: `${requestType} request data`
|
|
4100
|
-
});
|
|
4101
|
-
})
|
|
4102
|
-
)
|
|
4103
|
-
)
|
|
4104
|
-
});
|
|
4105
|
-
var zVaultRequestResponse = z14.discriminatedUnion(
|
|
4106
|
-
"type",
|
|
4107
|
-
ensureNonEmptyArray(
|
|
4108
|
-
Object.values(zVaultRequestMixinsByType).map((_) => {
|
|
4109
|
-
const requestType = _.shape.type.value;
|
|
4110
|
-
return _.extend(zVaultRequestCommonMixin.shape).meta({
|
|
4111
|
-
description: `${requestType} request`
|
|
4112
|
-
});
|
|
4113
|
-
})
|
|
4114
|
-
)
|
|
4115
|
-
).meta({
|
|
4116
|
-
description: "Vault request response data",
|
|
4117
|
-
id: "VaultRequestResponse"
|
|
4118
|
-
});
|
|
4119
|
-
z14.enum([
|
|
4120
|
-
"state",
|
|
4121
|
-
"expiresAt",
|
|
4122
|
-
"createdAt",
|
|
4123
|
-
"updatedAt"
|
|
4124
|
-
]).default("createdAt");
|
|
4125
|
-
z14.object({
|
|
4126
|
-
pubKey: z14.string().meta({ description: "Public key of the current user" }),
|
|
4127
|
-
challenge: zChallenge.meta({
|
|
4128
|
-
description: "Challenge data to sign with the user's private key"
|
|
4129
|
-
})
|
|
4130
|
-
});
|
|
4131
|
-
z14.object({
|
|
4132
|
-
id: z14.string().meta({ description: "ID of the request to approve" }),
|
|
4133
|
-
data: z14.discriminatedUnion("challengeType", [
|
|
4134
|
-
z14.object({
|
|
4135
|
-
challengeType: z14.enum([ChallengeType.PSD, ChallengeType.API]).meta({ description: "Challenge type" }),
|
|
4136
|
-
signature: z14.string().min(1).meta({ description: "Challenge signature" })
|
|
4137
|
-
}),
|
|
4138
|
-
z14.object({
|
|
4139
|
-
challengeType: z14.enum([ChallengeType.SOFT]).meta({ description: "Challenge type" })
|
|
4140
|
-
})
|
|
4141
|
-
])
|
|
4142
|
-
});
|
|
4143
|
-
z14.object({
|
|
4144
|
-
taskId: z14.string().meta({ description: "Task ID" })
|
|
4145
|
-
});
|
|
4146
|
-
var zObjectType = z14.enum(["Account", "Group", "Whitelist", "Policy"]);
|
|
4147
|
-
z14.object({
|
|
4148
|
-
objectType: zObjectType.meta({ description: "Type of object to check name for" }),
|
|
4149
|
-
name: z14.string().min(1).meta({ description: "Name to check availability for" }),
|
|
4150
|
-
excludeId: z14.string().optional().meta({ description: "Optional ID to exclude (for edit scenarios)" })
|
|
4151
|
-
});
|
|
4152
|
-
|
|
4153
|
-
// src/requests/app-utils/index.ts
|
|
4154
|
-
var serializeVaultRequest = (request) => {
|
|
4155
|
-
let inflight;
|
|
4156
|
-
if (request.sagas.length > 0) {
|
|
4157
|
-
invariant5(request.sagas.length === 1, "Request should have at most 1 ongoing Saga");
|
|
4158
|
-
const ongoingSaga = request.sagas[0];
|
|
4159
|
-
invariant5(ongoingSaga.status === RequestSagaStatus.ONGOING, "RequestSaga must be ONGOING");
|
|
4160
|
-
inflight = pick(ongoingSaga, ["completionState", "retryAfter"]);
|
|
4161
|
-
} else {
|
|
4162
|
-
inflight = void 0;
|
|
1200
|
+
case "TRON_LIKE":
|
|
1201
|
+
return null;
|
|
1202
|
+
case "HEDERA_LIKE":
|
|
1203
|
+
return null;
|
|
4163
1204
|
}
|
|
4164
|
-
const serialized = {
|
|
4165
|
-
...omit(request, ["sagas"]),
|
|
4166
|
-
legacyId: request.gateId,
|
|
4167
|
-
inflight
|
|
4168
|
-
};
|
|
4169
|
-
let patched = zVaultRequestResponse.parse(serialized);
|
|
4170
|
-
patched = patchRequestExpiredAt(patched);
|
|
4171
|
-
patched = patchTezosRequestData(patched);
|
|
4172
|
-
return patched;
|
|
4173
1205
|
};
|
|
4174
|
-
var zWhitelistAddressResponse = z14.object({
|
|
4175
|
-
name: z14.string().min(1).max(50).meta({ description: "Address name" }),
|
|
4176
|
-
currency: zCurrencyString.meta({ description: "Address currency" }),
|
|
4177
|
-
address: z14.string().min(1).max(200).meta({ description: "Address value" }),
|
|
4178
|
-
destinationTags: z14.array(z14.string().min(1).regex(/^\w+$/)).optional().meta({ description: "List of destination tags (applicable for Ripple currency)" })
|
|
4179
|
-
});
|
|
4180
|
-
var zWhitelistResponse = z14.object({
|
|
4181
|
-
id: z14.string().meta({ description: "Internal unique identifier" }),
|
|
4182
|
-
legacyId: z14.number().meta({ description: "Legacy internal unique identifier (for retro-compatibility)" }),
|
|
4183
|
-
name: z14.string().meta({ description: "Whitelist name" }),
|
|
4184
|
-
status: z14.enum(ActivationStatus).meta({ description: "Whitelist status" }),
|
|
4185
|
-
addresses: z14.array(zWhitelistAddressResponse),
|
|
4186
|
-
createdAt: z14.coerce.date().meta({ description: "Creation timestamp" }),
|
|
4187
|
-
updatedAt: z14.coerce.date().meta({ description: "Last modification timestamp" }),
|
|
4188
|
-
description: z14.string().nullable().meta({ description: "Whitelist description" })
|
|
4189
|
-
}).meta({ description: "Whitelist", id: "WhitelistResponse" });
|
|
4190
|
-
z14.enum(["name", "status", "createdAt", "updatedAt"]).default("createdAt");
|
|
4191
|
-
var serializeWhitelist = (whitelist) => {
|
|
4192
|
-
const serialized = {
|
|
4193
|
-
...whitelist,
|
|
4194
|
-
legacyId: whitelist.gateId,
|
|
4195
|
-
addresses: z.array(zWhitelistAddressResponse).parse(whitelist.addresses)
|
|
4196
|
-
};
|
|
4197
|
-
return zWhitelistResponse.parse(serialized);
|
|
4198
|
-
};
|
|
4199
|
-
|
|
4200
|
-
// src/__fakes__/responses.ts
|
|
4201
|
-
function genVaultRequestResponse(opts, reviews = []) {
|
|
4202
|
-
const request = genVaultRequest(opts);
|
|
4203
|
-
return serializeVaultRequest({ ...request, reviews, sagas: [] });
|
|
4204
|
-
}
|
|
4205
|
-
function genAccountResponse(overrides) {
|
|
4206
|
-
const dbAccount = genAccount(overrides);
|
|
4207
|
-
const account = serializeAccount(dbAccount);
|
|
4208
|
-
return zAccountResponse.parse(account);
|
|
4209
|
-
}
|
|
4210
|
-
function genUserResponse(overrides) {
|
|
4211
|
-
const dbUser = genUser(overrides);
|
|
4212
|
-
const user = serializeUser(dbUser);
|
|
4213
|
-
return zUserResponse.parse(user);
|
|
4214
|
-
}
|
|
4215
|
-
function genGroupResponse(overrides) {
|
|
4216
|
-
const dbGroup = genGroupWithMembers(overrides);
|
|
4217
|
-
const group = serializeGroup(dbGroup);
|
|
4218
|
-
return zGroupResponse.parse(group);
|
|
4219
|
-
}
|
|
4220
|
-
function genWhitelistResponse(overrides) {
|
|
4221
|
-
const dbWhitelist = genWhitelist(overrides);
|
|
4222
|
-
const whitelist = serializeWhitelist(dbWhitelist);
|
|
4223
|
-
return zWhitelistResponse.parse(whitelist);
|
|
4224
|
-
}
|
|
4225
|
-
/* v8 ignore next -- @preserve */
|
|
4226
1206
|
|
|
4227
|
-
export { genAccountResponse, genCreateTransactionData, genGroupResponse, genRequestData, genUserResponse, genVaultRequestResponse,
|
|
1207
|
+
export { ACCOUNT_TYPE_DEFAULT_CURRENCY, genAccountResponse, genAccountStakingFields, genCreateAccountData, genCreateApiKeyData, genCreateApiUserAccessData, genCreateApiUserData, genCreateEntityData, genCreateGroupData, genCreatePolicyData, genCreatePsdUserData, genCreateSciConfigData, genCreateTransactionData, genCreateWhitelistData, genEditAccountData, genEditApiKeyData, genEditEntityData, genEditGroupData, genEditPolicyData, genEditSciConfigData, genEditTokenRuleData, genEditWhitelistData, genGroupResponse, genOutgoingTxData, genRequestData, genSignDigestsData, genSignMessageData, genSignMessageInputData, genTradelinkAdjustPledgeData, genTradelinkArbitrationData, genTradelinkCreateSettlementData, genTradelinkForceUnpledgeData, genTradelinkRepledgeData, genTradelinkWithdrawData, genUserResponse, genVaultRequestResponse, genWebhookResponse, genWhitelistResponse, genWorkspaceRuleData };
|
|
4228
1208
|
//# sourceMappingURL=fakes.mjs.map
|
|
4229
1209
|
//# sourceMappingURL=fakes.mjs.map
|