@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/fakes.mjs CHANGED
@@ -1,1759 +1,306 @@
1
- import { __export } from './chunk-J5LGTIGS.mjs';
2
1
  import { faker } from '@faker-js/faker';
3
- import { ChallengeType, PsdModel, UserRole, UserRegistrationState, AllowedAction, AdminPermission, RequestType, AccountGovernanceType, ActivationStatus, AccountType, MessageType, WhitelistType, UserDeviceType, RequestReviewStatus, RequestState, RequestSagaStatus, GateAccountType, GateUserType } from '@prisma/client';
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
- var zHexString = z.string().regex(/^[0-9a-fA-F]+$/);
12
- var zIntString = z.string().nonempty().regex(/^(-?[1-9]\d*|0)$/);
13
- var zUnsignedIntString = z.string().nonempty().regex(/^([1-9]\d*|0)$/);
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 zHexDataString = z14.codec(z14.string().regex(/^(?:0x|0X)?[a-fA-F0-9]+$/), z14.string(), {
47
- decode: (hex) => `0x${hex.toLowerCase().replace("0x", "")}`,
48
- encode: (hex) => hex
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/networks/bitcoin/index.ts
116
- var BITCOIN_SPEC = {
117
- zAssetFields: zBitcoinLikeAssetFields,
118
- zLiveData: zBitcoinLikeLiveData,
119
- zTransactionType: zBitcoinLikeTransactionType,
120
- zTransactionData: zBitcoinLikeTransactionData,
121
- zSendTransactionData: zBitcoinLikeSendData,
122
- zEstimatedFees: zBitcoinLikeEstimatedFees,
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 zCardanoStakingWithdrawData = z14.object({
293
- type: z14.literal(zCardanoLikeTransactionType.enum.CARDANO_LIKE_STAKING_WITHDRAW),
294
- currency: zCurrencyString.meta({ description: "Transaction currency" }),
295
- // TODO: strict literal or enum?
296
- maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
297
- feeStrategy: zFeeStrategy.meta({ description: "Cardano-like fee strategy" }),
298
- // WITHDRAW doesn't have a recipient
299
- amount: zUnsignedIntString.meta({ description: "Amount to withdraw" })
300
- }).meta({
301
- description: "Cardano-like staking withdraw data",
302
- id: "CardanoStakingWithdrawData"
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 zCardanoLikeTransactionData = z14.discriminatedUnion("type", [
305
- zCardanoLikeSendData,
306
- zCardanoStakingDelegateData,
307
- zCardanoStakingDeregisterData,
308
- zCardanoStakingRegisterData,
309
- zCardanoStakingWithdrawData
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 zEthereumLikeLiveData = zCommonLiveData.extend(zEthereumLikeStakingFields.shape).meta({ description: "Ethereum-like" });
343
- var zEthereumLikeEstimatedFees = z14.object({
344
- type: z14.literal(NetworkFamily.ETHEREUM_LIKE),
345
- baseFees: zIntString,
346
- gasLimit: zIntString,
347
- nonce: z14.string(),
348
- priorityFees: zIntString
349
- }).meta({ description: "Ethereum-like fees" });
350
- var zEthereumLikeTransferTransactionType = z14.enum(["ETHEREUM_LIKE_SEND", "ETHEREUM_LIKE_RECEIVE"]).meta({ description: "Ethereum-like transaction type" });
351
- var zEthereumLikeContractTransactionType = z14.enum(["ETHEREUM_LIKE_EXECUTE_CONTRACT", "ETHEREUM_LIKE_DEPLOY_CONTRACT"]).meta({ description: "Ethereum-like transaction type" });
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 zEthereumLikeLegacyFeeStrategy = zFeeStrategyCustom.extend({
359
- gasPrice: zUnsignedIntString.meta({ description: "Gas price" }),
360
- gasLimit: zUnsignedIntString.meta({ description: "Gas limit" })
361
- }).meta({ description: "Ethereum-like legacy fee strategy" });
362
- var zEthereumLikeEip1559FeeStrategy = zFeeStrategyCustom.extend({
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 zEthereumLikeDeployContractData = zCommonTransactionData.extend({
372
- type: z14.literal(zEthereumLikeContractTransactionType.enum.ETHEREUM_LIKE_DEPLOY_CONTRACT),
373
- // force the recipient to be the zero address
374
- recipient: z14.literal("0x0000000000000000000000000000000000000000"),
375
- contractData: zHexDataString.meta({ description: "Contract data in hexadecimal format" }),
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 zEthereumLikeExecuteContractData = zCommonTransactionData.extend({
382
- type: z14.literal(zEthereumLikeContractTransactionType.enum.ETHEREUM_LIKE_EXECUTE_CONTRACT),
383
- contractData: zHexDataString.meta({ description: "Contract call data in hexadecimal format" }),
384
- feeStrategy: zEthereumLikeFeeStrategy
385
- }).meta({
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 zEthereumLikeSendData = zCommonTransactionData.extend({
390
- type: z14.literal(zEthereumLikeTransferTransactionType.enum.ETHEREUM_LIKE_SEND),
391
- feeStrategy: zEthereumLikeFeeStrategy
392
- }).meta({
393
- description: "Ethereum-like send data",
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 zEthereumLikeTransactionData = z14.discriminatedUnion("type", [
397
- zEthereumLikeDeployContractData,
398
- zEthereumLikeExecuteContractData,
399
- zEthereumLikeSendData
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 zEthereumLikeContractCoinFields = zEthereumLikeTransferCoinFields.extend({
408
- type: zEthereumLikeContractTransactionType,
409
- contractData: z14.string().meta({ description: "Contract deployment or contract execution data" })
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 zEthereumLikeTransactionResponse = z14.discriminatedUnion("type", [
412
- zCommonTransactionResponse.extend(zEthereumLikeTransferCoinFields.shape).meta({ description: "Ethereum-like transfer transaction" }),
413
- zCommonTransactionResponse.extend(zEthereumLikeContractCoinFields.shape).meta({ description: "Ethereum-like contract transaction" })
414
- ]).meta({ description: "Ethereum-like contract transaction" });
415
-
416
- // src/networks/ethereum/index.ts
417
- var ETHEREUM_SPEC = {
418
- zAssetFields: zEthereumLikeAssetFields,
419
- zLiveData: zEthereumLikeLiveData,
420
- zTransactionType: zEthereumLikeTransactionType,
421
- zTransactionData: zEthereumLikeTransactionData,
422
- zSendTransactionData: zEthereumLikeSendData,
423
- zEstimatedFees: zEthereumLikeEstimatedFees,
424
- zTransactionResponse: zEthereumLikeTransactionResponse,
425
- zStakingFields: zEthereumLikeStakingFields};
426
- var zGenericAssetFields = z14.object({ type: z14.literal(NetworkFamily.GENERIC_LIKE).meta({ description: "Account type" }) }).meta({ description: "Generic-like" });
427
- var zGenericLiveData = zCommonLiveData.extend({
428
- type: z14.literal(NetworkFamily.GENERIC_LIKE).meta({ description: "Account type" })
429
- }).meta({ description: "Generic-like" });
430
- var zGenericTransactionType = z14.enum(["GENERIC_TRANSACTION"]).meta({ description: "Generic transaction type" });
431
- var zGenericTransactionData = z14.discriminatedUnion("type", [
432
- z14.object({
433
- type: z14.literal(zGenericTransactionType.enum.GENERIC_TRANSACTION),
434
- currency: zCurrencyString.meta({ description: "Transaction currency" }),
435
- rawTx: z14.string().meta({ description: "Raw tx" })
436
- }).meta({
437
- description: "Generic transaction data",
438
- id: "GenericTransactionData"
439
- })
440
- ]);
441
- var zGenericTransactionResponse = z14.discriminatedUnion("type", [
442
- zCommonTransactionResponse.extend({ type: zGenericTransactionType }).meta({ description: "Generic transaction" })
443
- ]);
444
-
445
- // src/networks/generic/index.ts
446
- var GENERIC_SPEC = {
447
- zAssetFields: zGenericAssetFields,
448
- zLiveData: zGenericLiveData,
449
- zTransactionType: zGenericTransactionType,
450
- zTransactionData: zGenericTransactionData,
451
- zSendTransactionData: z14.never(),
452
- zEstimatedFees: z14.never(),
453
- zTransactionResponse: zGenericTransactionResponse,
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 `${GATE_SYNC_ID_PREFIX}${workspaceName}/${gateType}/${gateId}`;
467
- };
468
-
469
- // src/utils.ts
470
- var isRecord = (value) => isPlainObject(value);
471
- var randomHex = (length) => {
472
- const hexBytes = times(length, () => {
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
- function unreachable(value) {
487
- throw new Error(`Un-covered: ${value}`);
488
- }
489
- var zHederaLikeAssetFields = z14.object({
490
- type: z14.literal(NetworkFamily.HEDERA_LIKE).meta({ description: "Account type" }),
491
- address: z14.string().nullable().meta({ description: "Account address" }),
492
- isActivated: z14.boolean().meta({ description: "Indicates if the account is activated" })
493
- }).meta({ description: "Hedera-like" });
494
- var zHederaLikeEstimatedFees = z14.object({
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 zSuiLikeTransferTokenData = zCommonTransactionData.extend({
1077
- type: z14.literal(zSuiLikeTransactionType.enum.SUI_LIKE_SEND_TOKEN),
1078
- feeStrategy: zFeeStrategy.meta({ description: "Sui-like fee strategy" })
1079
- }).meta({
1080
- description: "Sui-like transfer token data",
1081
- id: "SuiLikeTransferTokenData"
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 zSuiLikeStakeData = z14.object({
1084
- type: z14.literal(zSuiLikeTransactionType.enum.SUI_LIKE_STAKE),
1085
- feeStrategy: zFeeStrategy.meta({ description: "Sui-like fee strategy" }),
1086
- amount: zUnsignedIntString.meta({ description: "Transaction amount" }),
1087
- currency: zCurrencyString.meta({
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 zSuiLikeUnstakeData = z14.object({
1098
- type: z14.literal(zSuiLikeTransactionType.enum.SUI_LIKE_UNSTAKE),
1099
- feeStrategy: zFeeStrategy.meta({ description: "Sui-like fee strategy" }),
1100
- currency: zCurrencyString.meta({
1101
- description: "Will be deprecated soon, use Account.network. Transaction currency"
1102
- }),
1103
- maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
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 zSuiLikeTransactionData = z14.discriminatedUnion("type", [
1114
- zSuiLikeSendData,
1115
- zSuiLikeTransferTokenData,
1116
- zSuiLikeStakeData,
1117
- zSuiLikeUnstakeData
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 zTezosLikeLiveData = zCommonLiveData.extend(zTezosLikeStakingFields.shape).meta({ description: "Tezos-like" });
1149
- var zTezosLikeEstimatedFees = z14.object({
1150
- type: z14.literal(NetworkFamily.TEZOS_LIKE),
1151
- fee: zIntString
1152
- }).describe("Tezos-like fees");
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 zTezosLikeDelegateData = z14.object({
1169
- type: z14.literal(zTezosLikeTransactionType.enum.TEZOS_LIKE_DELEGATE),
1170
- amount: zUnsignedIntString.optional().meta({ description: "Deprecated: DO NOT USE!" }),
1171
- currency: zCurrencyString.meta({ description: "Transaction currency" }),
1172
- maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
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 zTezosLikeUndelegateData = z14.object({
1180
- type: z14.literal(zTezosLikeTransactionType.enum.TEZOS_LIKE_UNDELEGATE),
1181
- amount: zUnsignedIntString.optional().meta({ description: "Deprecated: DO NOT USE!" }),
1182
- currency: zCurrencyString.meta({ description: "Transaction currency" }),
1183
- maxFee: zUnsignedIntString.nullable().meta({ description: "Transaction max fee" }),
1184
- recipient: z14.string().nonempty().optional().meta({ description: "Deprecated: DO NOT USE!" }),
1185
- feeStrategy: zTezosLikeFeeStrategy
1186
- }).meta({
1187
- description: "Tezos-like undelegate data",
1188
- id: "TezosLikeUndelegateData"
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 zTezosLikeTransactionData = z14.discriminatedUnion("type", [
1191
- zTezosLikeSendData,
1192
- zTezosLikeDelegateData,
1193
- zTezosLikeUndelegateData
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 zTronLikeSendTokenData = zCommonTransactionData.extend({
1232
- type: z14.literal(zTronLikeTransactionType.enum.TRON_LIKE_SEND_TOKEN),
1233
- feeStrategy: zFeeStrategy.meta({ description: "Tron-like fee strategy" })
1234
- }).meta({
1235
- description: "Tron-like send token data",
1236
- id: "TronLikeSendTokenData"
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 zTronLikeTransactionData = z14.discriminatedUnion("type", [
1239
- zTronLikeSendData,
1240
- zTronLikeSendTokenData
1241
- ]);
1242
- var zTronLikeTransactionResponse = z14.discriminatedUnion("type", [
1243
- zCommonTransactionResponse.extend({ type: zTronLikeTransactionType }).meta({ description: "Tron-like transaction" })
1244
- ]);
1245
-
1246
- // src/networks/tron/index.ts
1247
- var TRON_SPEC = {
1248
- zAssetFields: zTronLikeAssetFields,
1249
- zLiveData: zTronLikeLiveData,
1250
- zTransactionType: zTronLikeTransactionType,
1251
- zTransactionData: zTronLikeTransactionData,
1252
- zSendTransactionData: z14.never(),
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 zTransactionData = z14.discriminatedUnion("type", [
1338
- ...BITCOIN_SPEC.zTransactionData.options,
1339
- ...CANTON_SPEC.zTransactionData.options,
1340
- ...CARDANO_SPEC.zTransactionData.options,
1341
- ...ETHEREUM_SPEC.zTransactionData.options,
1342
- ...GENERIC_SPEC.zTransactionData.options,
1343
- ...HEDERA_SPEC.zTransactionData.options,
1344
- ...POLKADOT_SPEC.zTransactionData.options,
1345
- ...RIPPLE_SPEC.zTransactionData.options,
1346
- ...SOLANA_SPEC.zTransactionData.options,
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 fakePsdChallenge = () => ({
1398
- challengeType: "PSD",
1399
- wActions: [fakeBase64String(50), fakeBase64String(50), fakeBase64String(50)],
1400
- handshake: fakeBase64String(100),
1401
- handshakeAttestation: fakeHsmCertificate(),
1402
- partitionId: fakeBase64String(20)
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 fakeWorkspaceName = () => faker.string.alphanumeric({ length: 16, casing: "lower" });
1405
-
1406
- // src/__fakes__/canton.ts
1407
- var fakeCantonAddress = (role) => `${role}-${faker.lorem.word()}::${fakeHexString(68, "lower")}`;
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
- derivationPath: "44'/118'/0'",
1623
- address: faker.string.alphanumeric({ length: 34, casing: "mixed" }),
1624
- contractAddress: null,
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 "RAW_SIGNING":
277
+ case "CANTON_LIKE_WITHDRAW":
1631
278
  return {
1632
- type,
1633
- currency,
1634
- derivationPath: "44'/118'/0'",
1635
- address: null,
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
- governanceType,
1654
- classicGovernanceMixin: {
1655
- id: faker.number.int(),
1656
- policyId: policyId ?? faker.string.uuid(),
1657
- accountId
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 AccountGovernanceType.TRADELINK:
292
+ case "CANTON_LIKE_PRE_APPROVAL":
1662
293
  return {
1663
- governanceType,
1664
- classicGovernanceMixin: null,
1665
- tradelinkGovernanceMixin: {
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 = (opts) => {
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.bitcoinAddress(),
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 genHederaLikeSendData = (txType) => {
362
+ var genEthereumLikeExecuteContractData = () => {
363
+ const sendData = genEthereumLikeSendData();
1839
364
  return {
1840
- type: txType,
1841
- currency: "hedera",
1842
- amount: faker.number.bigInt({ min: 0 }).toString(),
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 genHederaLikeStakeData = (txType) => {
370
+ var genEthereumLikeDeployContractData = () => {
371
+ const sendData = genEthereumLikeSendData();
1851
372
  return {
1852
- type: txType,
1853
- currency: "hedera",
1854
- maxFee: faker.number.bigInt({ min: 1 }).toString(),
1855
- nodeId: faker.number.int({ min: 10, max: 99999999 }).toString(),
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
- type: txType,
1915
- currency: "polkadot"
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
- var genStellarLikeSendData = (txType) => {
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
- return {
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 "CANTON_LIKE_SEND":
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
- currency: "canton_network",
2089
- transferProposal: fakeCantonTransferProposal(),
2090
- reason: faker.lorem.sentence()
583
+ validator: faker.string.alphanumeric({ length: 30 })
2091
584
  };
2092
- case "CANTON_LIKE_RECEIVE":
585
+ case "SUI_LIKE_UNSTAKE":
2093
586
  return {
587
+ ...base,
2094
588
  type: txType,
2095
- currency: "canton_network",
2096
- transferProposal: fakeCantonTransferProposal(),
2097
- verdict: "ACCEPT",
2098
- reason: faker.lorem.sentence()
589
+ stakedSuiId: faker.string.alphanumeric({ length: 30 }),
590
+ useAllAmount: faker.datatype.boolean()
2099
591
  };
2100
- case "CANTON_LIKE_PRE_APPROVAL":
592
+ case "SUI_LIKE_SEND":
593
+ case "SUI_LIKE_SEND_TOKEN":
2101
594
  return {
595
+ ...base,
2102
596
  type: txType,
2103
- currency: "canton_network",
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 mergeTransactionData = (defaults, custom) => {
2109
- const merged = {
2110
- ...defaults,
2111
- ...custom,
2112
- type: defaults.type
2113
- // make sure `type` comes from `defaults`
2114
- };
2115
- return zTransactionData.parse(merged);
2116
- };
2117
- var genCreateTransactionData = (opts) => {
2118
- const { accountId, transaction } = opts ?? {};
2119
- const transactionType = transaction?.type ?? "ETHEREUM_LIKE_SEND";
2120
- let transactionDefaults;
2121
- switch (transactionType) {
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
- transactionDefaults = genBitcoinLikeSendData();
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
- transactionDefaults = genCantonLikeTxData(transactionType);
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
- transactionDefaults = genCardanoLikeTxData(transactionType);
645
+ txDataDefaults = genCardanoLikeTxData(opts.type);
2138
646
  break;
2139
647
  case "ETHEREUM_LIKE_SEND":
2140
- transactionDefaults = genEthereumLikeSendData();
648
+ txDataDefaults = genEthereumLikeSendData();
2141
649
  break;
2142
650
  case "ETHEREUM_LIKE_EXECUTE_CONTRACT":
2143
- transactionDefaults = genEthereumLikeExecuteContractData();
651
+ txDataDefaults = genEthereumLikeExecuteContractData();
2144
652
  break;
2145
653
  case "ETHEREUM_LIKE_DEPLOY_CONTRACT":
2146
- transactionDefaults = genEthereumLikeDeployContractData();
654
+ txDataDefaults = genEthereumLikeDeployContractData();
2147
655
  break;
2148
656
  case "GENERIC_TRANSACTION":
2149
- transactionDefaults = genGenericTransactionData();
657
+ txDataDefaults = genGenericTransactionData();
2150
658
  break;
2151
659
  case "HEDERA_LIKE_SEND":
2152
660
  case "HEDERA_LIKE_SEND_TOKEN":
2153
- transactionDefaults = genHederaLikeSendData(transactionType);
661
+ txDataDefaults = genHederaLikeSendData(opts.type);
2154
662
  break;
2155
663
  case "HEDERA_LIKE_STAKE":
2156
- transactionDefaults = genHederaLikeStakeData(transactionType);
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
- transactionDefaults = genPolkadotLikeTxData(transactionType);
678
+ txDataDefaults = genPolkadotLikeTxData(opts.type);
2171
679
  break;
2172
680
  case "RIPPLE_LIKE_SEND":
2173
- transactionDefaults = genRippleLikeSendData(transactionType);
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
- transactionDefaults = genSolanaLikeTxData(transactionType);
694
+ txDataDefaults = genSolanaLikeTxData(opts.type);
2187
695
  break;
2188
696
  case "STELLAR_LIKE_SEND":
2189
- transactionDefaults = genStellarLikeSendData(transactionType);
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
- transactionDefaults = genTezosLikeTxData(transactionType);
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
- transactionDefaults = genSuiLikeTxData(transactionType);
708
+ txDataDefaults = genSuiLikeTxData(opts.type);
2201
709
  break;
2202
710
  case "TRON_LIKE_SEND":
2203
711
  case "TRON_LIKE_SEND_TOKEN":
2204
- transactionDefaults = genTronLikeTxData(transactionType);
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
- var genCreateSciConfigData = (opts) => {
2427
- return {
2428
- account: faker.string.uuid(),
2429
- config: {
2430
- dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),
2431
- customContractCallEnabled: faker.datatype.boolean()
2432
- },
2433
- ...opts
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 genEditSciConfigData = (opts) => {
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
- config: {
2439
- dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),
2440
- customContractCallEnabled: faker.datatype.boolean()
2441
- },
2442
- ...opts
742
+ accountId,
743
+ transaction: genOutgoingTxData(txOpts)
2443
744
  };
2444
745
  };
2445
- var genCreatePledgeIncrementData = (opts) => ({
2446
- accountId: faker.string.uuid(),
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 genForceUnpledgeData = (opts) => ({
2471
- accountId: faker.string.uuid(),
2472
- exchangeId: faker.string.uuid(),
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 genTradelinkWithdrawData = (opts) => ({
2476
- accountId: faker.string.uuid(),
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 genTradelinkArbitrationData = (opts) => ({
2492
- accountId: faker.string.uuid(),
2493
- transaction: {
2494
- type: "ETHEREUM_LIKE_SEND",
2495
- recipient: "0xcefd70CFCd7a2FAa0fe956E3d496F9313297CB44",
2496
- amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),
2497
- maxFee: faker.number.bigInt({ min: 1 }).toString(),
2498
- currency: "ethereum",
2499
- feeStrategy: {
2500
- type: "NORMAL",
2501
- gasPrice: "2",
2502
- gasLimit: "10"
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 genCreatePsdUserData = (opts) => ({
2508
- registrationId: faker.string.uuid(),
2509
- ...opts
2510
- });
2511
- var genCreateApiUserData = (opts) => {
2512
- return {
2513
- name: faker.person.firstName(),
2514
- pubKey: fakePubKey(),
2515
- role: UserRole.OPERATOR,
2516
- viewAll: false,
2517
- ...opts
2518
- };
2519
- };
2520
- var genCreateApiUserAccessData = (opts) => {
2521
- return {
2522
- name: faker.person.firstName(),
2523
- ...opts
2524
- };
2525
- };
2526
- var genCreateWhitelistData = (opts) => {
2527
- return {
2528
- name: faker.word.noun({ length: { min: 5, max: 19 } }),
2529
- description: faker.lorem.sentence(),
2530
- type: faker.helpers.arrayElement(Object.values(WhitelistType)),
2531
- addresses: [
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__/models/requests/requests-and-reviews.ts
807
+ // src/__fakes__/trpc/request-data/index.ts
2577
808
  var genRequestData = (type, opts) => {
2578
809
  switch (type) {
2579
810
  // Workspace...
2580
- case RequestType.UPDATE_QUORUM:
811
+ case "UPDATE_QUORUM":
2581
812
  return { quorum: 3, ...opts };
2582
813
  // User...
2583
- case RequestType.CREATE_PSD_USER:
814
+ case "CREATE_PSD_USER":
2584
815
  return genCreatePsdUserData(opts);
2585
- case RequestType.CREATE_API_USER:
816
+ case "CREATE_API_USER":
2586
817
  return genCreateApiUserData(opts);
2587
- case RequestType.CREATE_API_USER_ACCESS:
818
+ case "CREATE_API_USER_ACCESS":
2588
819
  return genCreateApiUserAccessData(opts);
2589
- case RequestType.REVOKE_USER:
820
+ case "REVOKE_USER":
2590
821
  return {};
2591
822
  // Admin gov rule...
2592
- case RequestType.EDIT_WORKSPACE_RULE:
823
+ case "EDIT_WORKSPACE_RULE":
2593
824
  return genWorkspaceRuleData(opts);
2594
825
  // Group...
2595
- case RequestType.CREATE_GROUP:
826
+ case "CREATE_GROUP":
2596
827
  return genCreateGroupData(opts);
2597
- case RequestType.EDIT_GROUP:
828
+ case "EDIT_GROUP":
2598
829
  return genEditGroupData(opts);
2599
- case RequestType.REVOKE_GROUP:
830
+ case "REVOKE_GROUP":
2600
831
  return {};
2601
832
  // ApiKey...
2602
- case RequestType.CREATE_API_KEY:
833
+ case "CREATE_API_KEY":
2603
834
  return genCreateApiKeyData(opts);
2604
- case RequestType.EDIT_API_KEY:
835
+ case "EDIT_API_KEY":
2605
836
  return genEditApiKeyData(opts);
2606
- case RequestType.REVOKE_API_KEY:
837
+ case "REVOKE_API_KEY":
2607
838
  return {};
2608
839
  // Whitelist...
2609
- case RequestType.CREATE_WHITELIST:
840
+ case "CREATE_WHITELIST":
2610
841
  return genCreateWhitelistData(opts);
2611
- case RequestType.EDIT_WHITELIST:
842
+ case "EDIT_WHITELIST":
2612
843
  return genEditWhitelistData(opts);
2613
844
  // Entity...
2614
- case RequestType.CREATE_ENTITY:
845
+ case "CREATE_ENTITY":
2615
846
  return genCreateEntityData(opts);
2616
- case RequestType.EDIT_ENTITY:
847
+ case "EDIT_ENTITY":
2617
848
  return genEditEntityData(opts);
2618
- case RequestType.REVOKE_ENTITY:
849
+ case "REVOKE_ENTITY":
2619
850
  return {};
2620
851
  // Account...
2621
- case RequestType.CREATE_ACCOUNT:
852
+ case "CREATE_ACCOUNT":
2622
853
  return genCreateAccountData(opts);
2623
- case RequestType.EDIT_ACCOUNT:
854
+ case "EDIT_ACCOUNT":
2624
855
  return genEditAccountData(opts);
2625
- case RequestType.EDIT_TOKEN_RULE:
856
+ case "EDIT_TOKEN_RULE":
2626
857
  return genEditTokenRuleData(opts);
2627
858
  // Operator requests...
2628
- case RequestType.CREATE_TRANSACTION:
859
+ case "CREATE_TRANSACTION":
2629
860
  return genCreateTransactionData(opts);
2630
- case RequestType.SIGN_MESSAGE:
861
+ case "SIGN_MESSAGE":
2631
862
  return genSignMessageData(opts);
2632
- case RequestType.SIGN_DIGESTS:
863
+ case "SIGN_DIGESTS":
2633
864
  return genSignDigestsData(opts);
2634
865
  // SCI config...
2635
- case RequestType.CREATE_SCICONFIG:
866
+ case "CREATE_SCICONFIG":
2636
867
  return genCreateSciConfigData(opts);
2637
- case RequestType.EDIT_SCICONFIG:
868
+ case "EDIT_SCICONFIG":
2638
869
  return genEditSciConfigData(opts);
2639
870
  // Policy
2640
- case RequestType.CREATE_POLICY:
871
+ case "CREATE_POLICY":
2641
872
  return genCreatePolicyData(opts);
2642
- case RequestType.EDIT_POLICY:
873
+ case "EDIT_POLICY":
2643
874
  return genEditPolicyData(opts);
2644
875
  // Tradelink...
2645
- case RequestType.TRADELINK_ADJUST_PLEDGE:
2646
- return genCreatePledgeIncrementData(opts);
2647
- case RequestType.TRADELINK_CREATE_SETTLEMENT:
2648
- return genCreateSettlementData(opts);
2649
- case RequestType.TRADELINK_FORCE_UNPLEDGE:
2650
- return genForceUnpledgeData(opts);
2651
- case RequestType.TRADELINK_WITHDRAW:
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 RequestType.TRADELINK_REPLEDGE:
2654
- return genRepledgeRequestData(opts);
2655
- case RequestType.TRADELINK_ARBITRATE:
884
+ case "TRADELINK_REPLEDGE":
885
+ return genTradelinkRepledgeData(opts);
886
+ case "TRADELINK_ARBITRATE":
2656
887
  return genTradelinkArbitrationData(opts);
2657
- default: {
2658
- const unknownType = type;
2659
- throw new Error(`Unknown request type: ${unknownType}`);
2660
- }
888
+ default:
889
+ return unreachable(type);
2661
890
  }
2662
891
  };
2663
- var genRequestReviewSteps = (numSteps) => times(1, () => ({ stageName: "default", quorum: 2 }));
2664
- var genVaultRequest = (opts) => {
2665
- const { type, state = RequestState.PENDING_APPROVAL, data, ...custom } = opts;
2666
- const targetHsmId = shouldHaveTargetHsmId({ type, state }) ? type === RequestType.CREATE_PSD_USER ? fakePubKey() : fakeHsmObjectId() : null;
2667
- const targetId = shouldHaveTargetId(type) ? faker.string.uuid() : null;
2668
- return injectSyncId({
2669
- id: faker.string.uuid(),
2670
- workspaceName: fakeWorkspaceName(),
2671
- type,
2672
- state,
2673
- reviewSteps: genRequestReviewSteps(),
2674
- currentStepIndex: 0,
2675
- expiresAt: faker.date.future(),
2676
- targetHsmId,
2677
- createdById: faker.string.uuid(),
2678
- createdAt: faker.date.past(),
2679
- updatedAt: faker.date.past(),
2680
- note: null,
2681
- managedData: null,
2682
- data,
2683
- targetId,
2684
- gateTargetType: "Whatsoever",
2685
- gateTargetId: 0,
2686
- gateType: "Request",
2687
- gateId: fakeGateId(),
2688
- // Note: Custom properties will overwrite the default ones. It is still possible for caller
2689
- // to overwrite `targetId`. Thus it is not guaranteed that these values will always be
2690
- // consistent with `type` and `state`.
2691
- ...custom
2692
- });
2693
- };
2694
- var genVaultRequestReview = (opts) => {
2695
- const status = opts?.status ?? RequestReviewStatus.PENDING;
2696
- const challenge = opts?.challenge ?? fakePsdChallenge();
2697
- const { challengeType } = challenge;
2698
- let signature;
2699
- if (status !== RequestReviewStatus.APPROVED) {
2700
- signature = null;
2701
- } else {
2702
- switch (challengeType) {
2703
- case ChallengeType.PSD:
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: faker.number.int(),
2716
- requestId: faker.string.uuid(),
2717
- stageName: "default",
2718
- // assume the simple case where there is one single stage
2719
- stepIndex: 0,
2720
- userId: faker.string.uuid(),
2721
- pubKey: fakePubKey(),
2722
- groupName: null,
2723
- challengeType,
2724
- challenge,
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
- ...opts
961
+ asset: genAssetFields(type),
962
+ governance
2730
963
  };
2731
964
  };
2732
- var genUserFieldsForDeviceType = (deviceType) => {
2733
- switch (deviceType) {
2734
- case UserDeviceType.PSD:
2735
- case UserDeviceType.SOFT_PSD:
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
- name: faker.person.fullName(),
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
- status: ActivationStatus.ACTIVE,
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 genGroup = (opts) => injectSyncId({
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
- workspaceName: fakeWorkspaceName(),
2777
- name: faker.person.fullName(),
2778
- description: faker.lorem.sentence(10),
2779
- hsmId: fakeHsmObjectId(),
2780
- status: ActivationStatus.ACTIVE,
2781
- gateId: fakeGateId(),
2782
- gateType: "Group",
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 genGroupWithMembers = (opts) => {
2788
- const group = genGroup(opts);
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
- workspaceName: fakeWorkspaceName(),
2798
- name: faker.lorem.words(3),
2799
- description: faker.lorem.sentence(10),
2800
- addresses: [
2801
- {
2802
- name: faker.lorem.words(3),
2803
- currency: "bitcoin",
2804
- address: faker.finance.bitcoinAddress(),
2805
- destinationTags: []
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
- ...opts
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 zUpdateQuorumRequestData = z14.object({
3077
- quorum: z14.number().int().min(2).meta({ description: "Workspace quorum" })
3078
- });
3079
- var NonRootAdminPermission = omit(AdminPermission, "ROOT");
3080
- var zWorkspaceRuleRequestData = z14.object({
3081
- permission: z14.enum(NonRootAdminPermission).meta({ description: "Granted permissions" }),
3082
- reviewConfig: zReviewStepWithUsersArray.meta({ description: "List of admin review steps" })
3083
- });
3084
- z14.discriminatedUnion(
3085
- zTransactionResponse._zod.def.discriminator,
3086
- ensureNonEmptyArray(
3087
- zTransactionResponse.options.map((_) => _.extend({ note: zNote.nullable() }))
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
- // For now we only consider the outbound settlement
3215
- outboundTransactionHash: z14.string().nullable()
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
- // src/accounts/app-utils.ts
3628
- var getAccountAssetFields = (account) => {
3629
- switch (account.type) {
3630
- case AccountType.BITCOIN_LIKE:
3631
- return {
3632
- type: account.type,
3633
- xpub: account.xpub
3634
- };
3635
- case AccountType.ETHEREUM_LIKE:
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: account.type
1081
+ type: "CARDANO_LIKE",
1082
+ staking: {
1083
+ staked: faker.number.int().toString()
1084
+ }
3687
1085
  };
3688
- case AccountType.CANTON_LIKE:
1086
+ case "ETHEREUM_LIKE":
3689
1087
  return {
3690
- type: account.type,
3691
- address: account.address
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 AccountType.HEDERA_LIKE:
1096
+ case "GENERIC_LIKE":
1097
+ return null;
1098
+ case "POLKADOT_LIKE":
3694
1099
  return {
3695
- type: account.type,
3696
- address: account.address,
3697
- isActivated: account.lesWalletId !== null
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
- /* v8 ignore next -- @preserve */
3700
- default:
3701
- unreachable(account.type);
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: AccountGovernanceType.CLASSIC,
3709
- policyId: account.classicGovernanceMixin.policyId
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 AccountGovernanceType.RAW_SIGNING:
1183
+ case "STELLAR_LIKE":
1184
+ return null;
1185
+ case "SUI_LIKE":
3712
1186
  return {
3713
- type: AccountGovernanceType.RAW_SIGNING,
3714
- policyId: account.classicGovernanceMixin.policyId
1187
+ type: "SUI_LIKE",
1188
+ staking: {
1189
+ totalStaked: faker.number.int().toString(),
1190
+ totalRewards: faker.number.int().toString()
1191
+ }
3715
1192
  };
3716
- case AccountGovernanceType.TRADELINK:
1193
+ case "TEZOS_LIKE":
3717
1194
  return {
3718
- type: AccountGovernanceType.TRADELINK,
3719
- assetManagerId: account.tradelinkGovernanceMixin.assetManagerId,
3720
- exchangeConfigs: zTradelinkExchangeConfigs.parse(
3721
- account.tradelinkGovernanceMixin.exchangeConfigs
3722
- )
1195
+ type: "TEZOS_LIKE",
1196
+ staking: {
1197
+ delegations: [{ address: faker.string.alpha({ length: 10 }) }]
1198
+ }
3723
1199
  };
3724
- /* v8 ignore next -- @preserve */
3725
- default:
3726
- unreachable(account.governanceType);
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, genVaultRequestReview, genWhitelistResponse };
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