@ledgerhq/revault-api 1.55.0 → 1.55.1

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.
@@ -68121,6 +68121,110 @@ declare const zStakingValidatorSortBy: z__default.ZodDefault<z__default.ZodEnum<
68121
68121
  balance: "balance";
68122
68122
  }>>;
68123
68123
 
68124
+ declare const zAssetResponse: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
68125
+ id: z__default.ZodString;
68126
+ name: z__default.ZodString;
68127
+ ticker: z__default.ZodString;
68128
+ family: z__default.ZodString;
68129
+ units: z__default.ZodArray<z__default.ZodObject<{
68130
+ code: z__default.ZodString;
68131
+ name: z__default.ZodString;
68132
+ magnitude: z__default.ZodNumber;
68133
+ }, z__default.core.$strip>>;
68134
+ network: z__default.ZodString;
68135
+ assetType: z__default.ZodLiteral<"NATIVE">;
68136
+ }, z__default.core.$strip>, z__default.ZodObject<{
68137
+ id: z__default.ZodString;
68138
+ name: z__default.ZodString;
68139
+ ticker: z__default.ZodString;
68140
+ family: z__default.ZodString;
68141
+ units: z__default.ZodArray<z__default.ZodObject<{
68142
+ code: z__default.ZodString;
68143
+ name: z__default.ZodString;
68144
+ magnitude: z__default.ZodNumber;
68145
+ }, z__default.core.$strip>>;
68146
+ network: z__default.ZodString;
68147
+ assetType: z__default.ZodLiteral<"TOKEN">;
68148
+ contractAddress: z__default.ZodString;
68149
+ tokenIdentifier: z__default.ZodNullable<z__default.ZodString>;
68150
+ metaCurrencyId: z__default.ZodNullable<z__default.ZodString>;
68151
+ }, z__default.core.$strip>], "assetType">;
68152
+ type AssetResponse = z__default.infer<typeof zAssetResponse>;
68153
+ declare const zAssetCapabilitiesResponse: z__default.ZodObject<{
68154
+ SEND: z__default.ZodBoolean;
68155
+ STAKE: z__default.ZodBoolean;
68156
+ EXECUTE_CONTRACT: z__default.ZodBoolean;
68157
+ SIGN_MESSAGE: z__default.ZodBoolean;
68158
+ DEPLOY_CONTRACT: z__default.ZodBoolean;
68159
+ ACTIVATE_TOKEN: z__default.ZodBoolean;
68160
+ RECEIVE: z__default.ZodBoolean;
68161
+ }, z__default.core.$strip>;
68162
+ declare const zCurrencyResponse: z__default.ZodObject<{
68163
+ id: z__default.ZodString;
68164
+ name: z__default.ZodString;
68165
+ ticker: z__default.ZodString;
68166
+ type: z__default.ZodEnum<{
68167
+ readonly BITCOIN_LIKE: "BITCOIN_LIKE";
68168
+ readonly CANTON_LIKE: "CANTON_LIKE";
68169
+ readonly CARDANO_LIKE: "CARDANO_LIKE";
68170
+ readonly ETHEREUM_LIKE: "ETHEREUM_LIKE";
68171
+ readonly GENERIC_LIKE: "GENERIC_LIKE";
68172
+ readonly HEDERA_LIKE: "HEDERA_LIKE";
68173
+ readonly POLKADOT_LIKE: "POLKADOT_LIKE";
68174
+ readonly RAW_SIGNING: "RAW_SIGNING";
68175
+ readonly RIPPLE_LIKE: "RIPPLE_LIKE";
68176
+ readonly SOLANA_LIKE: "SOLANA_LIKE";
68177
+ readonly STELLAR_LIKE: "STELLAR_LIKE";
68178
+ readonly SUI_LIKE: "SUI_LIKE";
68179
+ readonly TEZOS_LIKE: "TEZOS_LIKE";
68180
+ readonly TRON_LIKE: "TRON_LIKE";
68181
+ }>;
68182
+ units: z__default.ZodArray<z__default.ZodObject<{
68183
+ code: z__default.ZodString;
68184
+ name: z__default.ZodString;
68185
+ magnitude: z__default.ZodNumber;
68186
+ }, z__default.core.$strip>>;
68187
+ }, z__default.core.$strip>;
68188
+ type CurrencyResponse = z__default.infer<typeof zCurrencyResponse>;
68189
+ declare const zTokenResponse: z__default.ZodObject<{
68190
+ id: z__default.ZodString;
68191
+ name: z__default.ZodString;
68192
+ ticker: z__default.ZodString;
68193
+ type: z__default.ZodEnum<{
68194
+ readonly BITCOIN_LIKE: "BITCOIN_LIKE";
68195
+ readonly CANTON_LIKE: "CANTON_LIKE";
68196
+ readonly CARDANO_LIKE: "CARDANO_LIKE";
68197
+ readonly ETHEREUM_LIKE: "ETHEREUM_LIKE";
68198
+ readonly GENERIC_LIKE: "GENERIC_LIKE";
68199
+ readonly HEDERA_LIKE: "HEDERA_LIKE";
68200
+ readonly POLKADOT_LIKE: "POLKADOT_LIKE";
68201
+ readonly RAW_SIGNING: "RAW_SIGNING";
68202
+ readonly RIPPLE_LIKE: "RIPPLE_LIKE";
68203
+ readonly SOLANA_LIKE: "SOLANA_LIKE";
68204
+ readonly STELLAR_LIKE: "STELLAR_LIKE";
68205
+ readonly SUI_LIKE: "SUI_LIKE";
68206
+ readonly TEZOS_LIKE: "TEZOS_LIKE";
68207
+ readonly TRON_LIKE: "TRON_LIKE";
68208
+ }>;
68209
+ units: z__default.ZodArray<z__default.ZodObject<{
68210
+ code: z__default.ZodString;
68211
+ name: z__default.ZodString;
68212
+ magnitude: z__default.ZodNumber;
68213
+ }, z__default.core.$strip>>;
68214
+ contractAddress: z__default.ZodString;
68215
+ currency: z__default.ZodString;
68216
+ }, z__default.core.$strip>;
68217
+ type TokenResponse = z__default.infer<typeof zTokenResponse>;
68218
+
68219
+ type AllAssets = {
68220
+ currencies: AssetResponse[];
68221
+ tokens: AssetResponse[];
68222
+ hash: string;
68223
+ };
68224
+ declare global {
68225
+ var _allAssetsPromise: Promise<AllAssets> | undefined;
68226
+ }
68227
+
68124
68228
  type FindManyAndCountType = typeof findManyAndCount.model.$allModels.findManyAndCount;
68125
68229
  type ModelsWithCustomMethods = {
68126
68230
  [Model in keyof PrismaClient]: PrismaClient[Model] extends {
@@ -79452,6 +79556,10 @@ declare const zWhitelistResponse: z__default.ZodObject<{
79452
79556
  id: z__default.ZodString;
79453
79557
  legacyId: z__default.ZodNumber;
79454
79558
  name: z__default.ZodString;
79559
+ type: z__default.ZodEnum<{
79560
+ readonly TRANSACTION: "TRANSACTION";
79561
+ readonly SMART_CONTRACT: "SMART_CONTRACT";
79562
+ }>;
79455
79563
  status: z__default.ZodEnum<{
79456
79564
  readonly ACTIVE: "ACTIVE";
79457
79565
  readonly INACTIVE: "INACTIVE";
@@ -79475,4 +79583,4 @@ declare const zWhitelistSortBy: z__default.ZodDefault<z__default.ZodEnum<{
79475
79583
  }>>;
79476
79584
  type WhitelistSortBy = z__default.infer<typeof zWhitelistSortBy>;
79477
79585
 
79478
- export { getTxHsmProps as $, type AccountFreshAddress as A, type TransactionDataOf as B, type ChallengeResponse as C, type TransactionResponse as D, type ExtendedPrismaClient as E, TransactionType as F, type GroupResponse as G, type TransactionTypeOf as H, UserDeviceType as I, type UserResponse as J, UserRole as K, type UserSortBy as L, MessageType as M, NetworkFamily as N, OnboardedUserRole as O, PsdModel as P, type VaultRequestResponse as Q, type RequestDataOf as R, type SendOnlyTransactionData as S, type TxHandler as T, type User as U, type VaultRequestCreateInput as V, type WhitelistResponse as W, type WhitelistSortBy as X, WhitelistType as Y, convertTxToGovernableIntent as Z, genTransactionSchemas as _, type UserTask as a, zAccountFreshAddress as a0, zAccountLiveData as a1, zAccountLiveDataResponse as a2, zAccountResponse as a3, zAccountSortBy as a4, zAccountStakingFields as a5, zAdminResponse as a6, zApproveVaultRequestInput as a7, zBalance as a8, zChallengeResponse as a9, zCommonLiveData as aa, zEnsureNameAvailableInput as ab, zEstimatedFees as ac, zGovernableAction as ad, zGroupResponse as ae, zGroupSortBy as af, zNetworkAssetFields as ag, zRequestSortBy as ah, zRequestTaskResponse as ai, zSendOnlyTransactionData as aj, zStake as ak, zStakeSortBy as al, zStakingValidator as am, zStakingValidatorSortBy as an, zTransactionData as ao, zTransactionResponse as ap, zTransactionType as aq, zUserResponse as ar, zUserSortBy as as, zVaultRequestCreateInput as at, zVaultRequestResponse as au, zWhitelistAddressResponse as av, zWhitelistResponse as aw, zWhitelistSortBy as ax, type AccountLiveDataResponse as b, type AccountResponse as c, type AccountSortBy as d, type AccountStakingFields as e, AccountType as f, ActivationStatus as g, AdminPermission as h, type AdminResponse as i, AllowedAction as j, type ApproveVaultRequestInput as k, ChallengeType as l, ClaimedRole as m, type EnsureNameAvailableInput as n, type EstimatedFees as o, type GroupSortBy as p, OnboardingStep as q, RequestReviewStatus as r, type RequestSortBy as s, RequestState as t, RequestType as u, ResourceType as v, RevaultMode as w, ReviewConfigType as x, type StakingDataOf as y, type TransactionData as z };
79586
+ export { WhitelistType as $, type AssetResponse as A, type StakingDataOf as B, type ChallengeResponse as C, type TokenResponse as D, type ExtendedPrismaClient as E, type TransactionData as F, type GroupResponse as G, type TransactionDataOf as H, type TransactionResponse as I, TransactionType as J, type TransactionTypeOf as K, UserDeviceType as L, MessageType as M, NetworkFamily as N, OnboardedUserRole as O, PsdModel as P, type UserResponse as Q, type RequestDataOf as R, type SendOnlyTransactionData as S, type TxHandler as T, type User as U, UserRole as V, type UserSortBy as W, type VaultRequestCreateInput as X, type VaultRequestResponse as Y, type WhitelistResponse as Z, type WhitelistSortBy as _, type UserTask as a, convertTxToGovernableIntent as a0, genTransactionSchemas as a1, getTxHsmProps as a2, zAccountFreshAddress as a3, zAccountLiveData as a4, zAccountLiveDataResponse as a5, zAccountResponse as a6, zAccountSortBy as a7, zAccountStakingFields as a8, zAdminResponse as a9, zVaultRequestCreateInput as aA, zVaultRequestResponse as aB, zWhitelistAddressResponse as aC, zWhitelistResponse as aD, zWhitelistSortBy as aE, zApproveVaultRequestInput as aa, zAssetCapabilitiesResponse as ab, zAssetResponse as ac, zBalance as ad, zChallengeResponse as ae, zCommonLiveData as af, zCurrencyResponse as ag, zEnsureNameAvailableInput as ah, zEstimatedFees as ai, zGovernableAction as aj, zGroupResponse as ak, zGroupSortBy as al, zNetworkAssetFields as am, zRequestSortBy as an, zRequestTaskResponse as ao, zSendOnlyTransactionData as ap, zStake as aq, zStakeSortBy as ar, zStakingValidator as as, zStakingValidatorSortBy as at, zTokenResponse as au, zTransactionData as av, zTransactionResponse as aw, zTransactionType as ax, zUserResponse as ay, zUserSortBy as az, type AccountFreshAddress as b, type AccountLiveDataResponse as c, type AccountResponse as d, type AccountSortBy as e, type AccountStakingFields as f, AccountType as g, ActivationStatus as h, AdminPermission as i, type AdminResponse as j, AllowedAction as k, type ApproveVaultRequestInput as l, ChallengeType as m, ClaimedRole as n, type CurrencyResponse as o, type EnsureNameAvailableInput as p, type EstimatedFees as q, type GroupSortBy as r, OnboardingStep as s, RequestReviewStatus as t, type RequestSortBy as u, RequestState as v, RequestType as w, ResourceType as x, RevaultMode as y, ReviewConfigType as z };
package/lib/fakes.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { V as VaultRequestCreateInput, R as RequestDataOf, M as MessageType, B as TransactionDataOf, f as AccountType, c as AccountResponse, G as GroupResponse, J as UserResponse, Q as VaultRequestResponse, W as WhitelistResponse, e as AccountStakingFields } from './app-types-B0n5TLSm.mjs';
1
+ import { X as VaultRequestCreateInput, R as RequestDataOf, M as MessageType, H as TransactionDataOf, g as AccountType, d as AccountResponse, G as GroupResponse, Q as UserResponse, Y as VaultRequestResponse, Z as WhitelistResponse, f as AccountStakingFields } from './app-types-hrtp6-Ec.mjs';
2
2
  import { WebhookResponse } from '@ledgerhq/revault-notifier-types/webhook';
3
3
  import 'zod';
4
4
  import '@prisma/client/runtime/client';
package/lib/fakes.mjs CHANGED
@@ -997,6 +997,7 @@ var genWhitelistResponse = (opts) => ({
997
997
  id: faker.string.uuid(),
998
998
  legacyId: faker.number.int({ min: 1, max: 2e9 }),
999
999
  name: faker.lorem.words(3),
1000
+ type: "TRANSACTION",
1000
1001
  status: "ACTIVE",
1001
1002
  addresses: [
1002
1003
  {
package/lib/fakes.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/__fakes__/trpc/utils.ts","../src/__fakes__/trpc/inputs.ts","../src/__fakes__/trpc/request-data/account.ts","../src/__fakes__/trpc/request-data/api-key.ts","../src/__fakes__/trpc/request-data/entity.ts","../src/__fakes__/trpc/request-data/group.ts","../src/__fakes__/trpc/request-data/message-signature.ts","../src/__fakes__/trpc/request-data/policy.ts","../src/__fakes__/trpc/request-data/sciconfig.ts","../src/__fakes__/trpc/request-data/tradelink.ts","../src/__fakes__/trpc/transactions/bitcoin.ts","../src/__fakes__/trpc/transactions/canton.ts","../src/__fakes__/trpc/transactions/cardano.ts","../src/__fakes__/trpc/transactions/ethereum.ts","../src/__fakes__/trpc/transactions/generic.ts","../src/__fakes__/trpc/transactions/hedera.ts","../src/__fakes__/trpc/transactions/polkadot.ts","../src/__fakes__/trpc/transactions/ripple.ts","../src/__fakes__/trpc/transactions/solana.ts","../src/__fakes__/trpc/transactions/stellar.ts","../src/__fakes__/trpc/transactions/sui.ts","../src/__fakes__/trpc/transactions/tezos.ts","../src/__fakes__/trpc/transactions/tron.ts","../src/__fakes__/trpc/transactions/index.ts","../src/__fakes__/trpc/request-data/transaction.ts","../src/__fakes__/trpc/request-data/user.ts","../src/__fakes__/trpc/request-data/whitelist.ts","../src/__fakes__/trpc/request-data/workspace-rule.ts","../src/__fakes__/trpc/request-data/index.ts","../src/__fakes__/trpc/responses.ts","../src/__fakes__/trpc/staking.ts"],"names":["faker"],"mappings":"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","file":"fakes.mjs","sourcesContent":["import { faker } from \"@faker-js/faker\";\n\nexport const unreachable = (value: never): never => {\n throw new Error(`Type checker should have prevented you from reaching here: ${value}`);\n};\n\nexport const genPubKey = (): string =>\n `04${faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 128 })}`;\n\nexport const genHexString = (length: number, casing: \"lower\" | \"upper\"): string =>\n faker.string.hexadecimal({ prefix: \"\", casing, length });\n\nexport const genUniqueName = (length = 20): string =>\n faker.string.alphanumeric({ length, casing: \"lower\" });\n","import { faker } from \"@faker-js/faker\";\n\nimport type { VaultRequestCreateInput } from \"@/app-lib\";\n\nimport { genHexString } from \"./utils\";\n\nexport type RequestInputDataOf<T extends VaultRequestCreateInput[\"request\"][\"type\"]> = Extract<\n VaultRequestCreateInput[\"request\"],\n { type: T }\n>[\"data\"];\n\nexport const genSignMessageInputData = (\n opts?: Partial<RequestInputDataOf<\"SIGN_MESSAGE\">>,\n): RequestInputDataOf<\"SIGN_MESSAGE\"> => ({\n message: {\n type: \"EIP191\",\n data: genHexString(10, \"upper\"),\n },\n accountId: faker.string.uuid(),\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nimport { genUniqueName } from \"../utils\";\n\nexport const genCreateAccountData = (\n opts?: Partial<RequestDataOf<\"CREATE_ACCOUNT\">>,\n): RequestDataOf<\"CREATE_ACCOUNT\"> => ({\n name: genUniqueName(),\n type: \"BITCOIN_LIKE\",\n currency: \"bitcoin\",\n contractAddress: null,\n tokenIdentifier: null,\n governance: {\n type: \"CLASSIC\",\n policy: { rules: [] },\n },\n index: 0,\n derivationPath: \"m/84'/0'/0'\",\n ...opts,\n});\n\nexport const genEditAccountData = (\n opts?: Partial<RequestDataOf<\"EDIT_ACCOUNT\">>,\n): RequestDataOf<\"EDIT_ACCOUNT\"> => ({\n name: genUniqueName(),\n governance: {\n type: \"CLASSIC\",\n policy: { rules: [] },\n },\n ...opts,\n});\n\nexport const genEditTokenRuleData = (\n opts?: Partial<RequestDataOf<\"EDIT_TOKEN_RULE\">>,\n): RequestDataOf<\"EDIT_TOKEN_RULE\"> => ({\n parentAccountId: faker.string.uuid(),\n contractAddress: faker.string.alphanumeric({ length: 44 }),\n rules: [\n {\n operationType: \"SEND\",\n reviewSteps: [{ quorum: 1, userIds: [] }],\n },\n ],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateApiKeyData = (\n opts?: Partial<RequestDataOf<\"CREATE_API_KEY\">>,\n): RequestDataOf<\"CREATE_API_KEY\"> => ({\n name: faker.company.name().slice(0, 19),\n entities: [],\n scopes: {},\n ...opts,\n});\n\nexport const genEditApiKeyData = (\n opts?: Partial<RequestDataOf<\"EDIT_API_KEY\">>,\n): RequestDataOf<\"EDIT_API_KEY\"> => ({\n name: faker.company.name().slice(0, 19),\n entities: [],\n scopes: {},\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateEntityData = (\n opts?: Partial<RequestDataOf<\"CREATE_ENTITY\">>,\n): RequestDataOf<\"CREATE_ENTITY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n accountIds: [],\n memberIds: [],\n ...opts,\n});\n\nexport const genEditEntityData = (\n opts?: Partial<RequestDataOf<\"EDIT_ENTITY\">>,\n): RequestDataOf<\"EDIT_ENTITY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n accountIds: [],\n memberIds: [],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateGroupData = (\n opts?: Partial<RequestDataOf<\"CREATE_GROUP\">>,\n): RequestDataOf<\"CREATE_GROUP\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n members: [],\n ...opts,\n});\n\nexport const genEditGroupData = (\n opts?: Partial<RequestDataOf<\"EDIT_GROUP\">>,\n): RequestDataOf<\"EDIT_GROUP\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n members: [],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { MessageType, RequestDataOf } from \"@/app-lib\";\n\nimport { genHexString } from \"../utils\";\n\nexport const genSignMessageData = (\n opts?: Partial<RequestDataOf<\"SIGN_MESSAGE\">> & { messageType?: MessageType },\n): RequestDataOf<\"SIGN_MESSAGE\"> => {\n const messageType = opts?.messageType ?? opts?.message?.type ?? \"EIP191\";\n let message: RequestDataOf<\"SIGN_MESSAGE\">[\"message\"];\n switch (messageType) {\n case \"EIP191\":\n message = {\n type: \"EIP191\",\n data: genHexString(10, \"upper\"),\n };\n break;\n case \"EIP712\":\n message = {\n type: \"EIP712\",\n data: {\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n PrimaryType: [\n { name: \"a\", type: \"int256\" },\n { name: \"b\", type: \"bool\" },\n ],\n },\n primaryType: \"PrimaryType\",\n domain: {\n name: \"Test Domain\",\n version: \"1\",\n chainId: 1,\n verifyingContract: \"0x1234567890123456789012345678901234567890\",\n },\n message: {\n a: faker.number.int({ min: 0, max: 1000 }),\n b: faker.datatype.boolean(),\n },\n },\n };\n break;\n case \"CIP8\":\n case \"BIP137\":\n throw new Error(`Unsupported message type in fakes: ${messageType}`);\n }\n return {\n message,\n accountId: faker.string.uuid(),\n address: faker.finance.ethereumAddress(),\n derivationPath: \"44'/60'/0'/0/0\",\n ...opts,\n };\n};\n\nexport const genSignDigestsData = (\n opts?: Partial<RequestDataOf<\"SIGN_DIGESTS\">>,\n): RequestDataOf<\"SIGN_DIGESTS\"> => ({\n accountId: faker.string.uuid(),\n digests: [\n {\n digest: faker.string.hexadecimal({ prefix: \"\", length: 64 }),\n derivationPath: \"m/44'/60'/0'\",\n },\n ],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreatePolicyData = (\n opts?: Partial<RequestDataOf<\"CREATE_POLICY\">>,\n): RequestDataOf<\"CREATE_POLICY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n currency: \"bitcoin\",\n govRules: [],\n ...opts,\n});\n\nexport const genEditPolicyData = (\n opts?: Partial<RequestDataOf<\"EDIT_POLICY\">>,\n): RequestDataOf<\"EDIT_POLICY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n govRules: [],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\nimport { times } from \"lodash-es\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateSciConfigData = (\n opts?: Partial<RequestDataOf<\"CREATE_SCICONFIG\">>,\n): RequestDataOf<\"CREATE_SCICONFIG\"> => ({\n account: faker.string.uuid(),\n config: {\n dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),\n customContractCallEnabled: faker.datatype.boolean(),\n },\n ...opts,\n});\n\nexport const genEditSciConfigData = (\n opts?: Partial<RequestDataOf<\"EDIT_SCICONFIG\">>,\n): RequestDataOf<\"EDIT_SCICONFIG\"> => ({\n config: {\n dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),\n customContractCallEnabled: faker.datatype.boolean(),\n },\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genTradelinkAdjustPledgeData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_ADJUST_PLEDGE\">>,\n): RequestDataOf<\"TRADELINK_ADJUST_PLEDGE\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n amount: \"42\",\n ...opts,\n});\n\nexport const genTradelinkRepledgeData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_REPLEDGE\">>,\n): RequestDataOf<\"TRADELINK_REPLEDGE\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n amount: \"42\",\n ...opts,\n});\n\nexport const genTradelinkCreateSettlementData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_CREATE_SETTLEMENT\">>,\n): RequestDataOf<\"TRADELINK_CREATE_SETTLEMENT\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n transaction: {\n type: \"BITCOIN_LIKE_SEND\",\n amount: \"42\",\n currency: \"bitcoin\",\n maxFee: \"999\",\n recipient: faker.finance.bitcoinAddress(),\n feeStrategy: { type: \"NORMAL\" },\n },\n ...opts,\n});\n\nexport const genTradelinkForceUnpledgeData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_FORCE_UNPLEDGE\">>,\n): RequestDataOf<\"TRADELINK_FORCE_UNPLEDGE\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n ...opts,\n});\n\nexport const genTradelinkWithdrawData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_WITHDRAW\">>,\n): RequestDataOf<\"TRADELINK_WITHDRAW\"> => ({\n accountId: faker.string.uuid(),\n transaction: {\n type: \"ETHEREUM_LIKE_SEND\",\n recipient: \"0x63e4195AF1509490b430F3f5bCb85A82a24F5C82\",\n amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n currency: \"ethereum\",\n feeStrategy: {\n type: \"NORMAL\",\n gasPrice: \"2\",\n gasLimit: \"10\",\n },\n },\n ...opts,\n});\n\nexport const genTradelinkArbitrationData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_ARBITRATE\">>,\n): RequestDataOf<\"TRADELINK_ARBITRATE\"> => ({\n accountId: faker.string.uuid(),\n transaction: {\n type: \"ETHEREUM_LIKE_SEND\",\n recipient: \"0xcefd70CFCd7a2FAa0fe956E3d496F9313297CB44\",\n amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n currency: \"ethereum\",\n feeStrategy: {\n type: \"NORMAL\",\n gasPrice: \"2\",\n gasLimit: \"10\",\n },\n },\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genBitcoinLikeSendData = (): TransactionDataOf<\"BITCOIN_LIKE_SEND\"> => ({\n type: \"BITCOIN_LIKE_SEND\" as const,\n currency: \"bitcoin\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.finance.bitcoinAddress(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\", \"CUSTOM\"] as const),\n feePerByte: faker.number.bigInt({ min: 1 }).toString(),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype CantonTxType =\n | \"CANTON_LIKE_SEND\"\n | \"CANTON_LIKE_SEND_TOKEN\"\n | \"CANTON_LIKE_WITHDRAW\"\n | \"CANTON_LIKE_RECEIVE\"\n | \"CANTON_LIKE_PRE_APPROVAL\";\n\nconst fakeCantonPartyId = (): string =>\n `party-${faker.lorem.word()}::${faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 68 })}`;\n\nconst fakeCantonContractId = (): string =>\n faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 138 });\n\nconst fakeCantonInstrumentId = (): string =>\n faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 10 });\n\nconst fakeCantonTransferProposal = (): TransactionDataOf<\n \"CANTON_LIKE_WITHDRAW\" | \"CANTON_LIKE_RECEIVE\"\n>[\"transferProposal\"] => ({\n amount: faker.number.bigInt().toString(),\n contractId: fakeCantonContractId(),\n instrumentAdmin: fakeCantonPartyId(),\n instrumentId: fakeCantonInstrumentId(),\n expiresAtMicros: faker.number.int(),\n reason: faker.lorem.sentence(),\n sender: fakeCantonPartyId(),\n recipient: fakeCantonPartyId(),\n});\n\nexport const genCantonLikeTxData = (txType: CantonTxType): TransactionDataOf<CantonTxType> => {\n switch (txType) {\n case \"CANTON_LIKE_SEND\":\n case \"CANTON_LIKE_SEND_TOKEN\":\n return {\n type: txType,\n currency: \"canton_network\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n recipient: fakeCantonPartyId(),\n reason: faker.helpers.arrayElement([null, faker.lorem.word()]),\n };\n case \"CANTON_LIKE_WITHDRAW\":\n return {\n type: txType,\n currency: \"canton_network\",\n transferProposal: fakeCantonTransferProposal(),\n reason: faker.lorem.sentence(),\n };\n case \"CANTON_LIKE_RECEIVE\":\n return {\n type: txType,\n currency: \"canton_network\",\n transferProposal: fakeCantonTransferProposal(),\n verdict: \"ACCEPT\" as const,\n reason: faker.lorem.sentence(),\n };\n case \"CANTON_LIKE_PRE_APPROVAL\":\n return {\n type: txType,\n currency: \"canton_network\",\n recipient: fakeCantonPartyId(),\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown canton transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype CardanoTxType =\n | \"CARDANO_LIKE_SEND\"\n | \"CARDANO_LIKE_STAKING_REGISTER\"\n | \"CARDANO_LIKE_STAKING_DEREGISTER\"\n | \"CARDANO_LIKE_STAKING_DELEGATE\"\n | \"CARDANO_LIKE_STAKING_WITHDRAW\";\n\nexport const genCardanoLikeTxData = (txType: CardanoTxType): TransactionDataOf<CardanoTxType> => {\n switch (txType) {\n case \"CARDANO_LIKE_SEND\":\n return {\n type: txType,\n currency: \"cardano\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"CARDANO_LIKE_STAKING_DELEGATE\":\n return {\n type: txType,\n currency: \"cardano\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n stakePoolId: `pool${faker.string.alphanumeric({ length: 52 })}`,\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"CARDANO_LIKE_STAKING_REGISTER\":\n case \"CARDANO_LIKE_STAKING_DEREGISTER\":\n case \"CARDANO_LIKE_STAKING_WITHDRAW\":\n return {\n type: txType,\n currency: \"cardano\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n amount: faker.number.bigInt({ min: 0 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown cardano transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\nimport { omit } from \"lodash-es\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genEthereumLikeSendData = (): TransactionDataOf<\"ETHEREUM_LIKE_SEND\"> => {\n const gasLimit = faker.number.bigInt({ min: 1 });\n const gasPrice = faker.number.bigInt({ min: 1 });\n const maxFee = gasLimit * gasPrice;\n return {\n type: \"ETHEREUM_LIKE_SEND\" as const,\n currency: \"ethereum\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: maxFee.toString(),\n recipient: faker.finance.ethereumAddress(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\", \"CUSTOM\"] as const),\n gasLimit: gasLimit.toString(),\n gasPrice: gasPrice.toString(),\n },\n };\n};\n\nexport const genEthereumLikeExecuteContractData =\n (): TransactionDataOf<\"ETHEREUM_LIKE_EXECUTE_CONTRACT\"> => {\n const sendData = genEthereumLikeSendData();\n return {\n ...omit(sendData, [\"type\"]),\n type: \"ETHEREUM_LIKE_EXECUTE_CONTRACT\" as const,\n contractData: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 128 }),\n };\n };\n\nexport const genEthereumLikeDeployContractData =\n (): TransactionDataOf<\"ETHEREUM_LIKE_DEPLOY_CONTRACT\"> => {\n const sendData = genEthereumLikeSendData();\n return {\n ...omit(sendData, [\"type\"]),\n type: \"ETHEREUM_LIKE_DEPLOY_CONTRACT\" as const,\n recipient: \"\",\n contractData: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 128 }),\n };\n };\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genGenericTransactionData = (): TransactionDataOf<\"GENERIC_TRANSACTION\"> => ({\n type: \"GENERIC_TRANSACTION\" as const,\n currency: \"tron\",\n rawTx: faker.string.alphanumeric({ length: 100 }),\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype HederaSendTxType = \"HEDERA_LIKE_SEND\" | \"HEDERA_LIKE_SEND_TOKEN\";\n\nexport const genHederaLikeSendData = (\n txType: HederaSendTxType,\n): TransactionDataOf<HederaSendTxType> => ({\n type: txType,\n currency: \"hedera\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: `0.0.${faker.number.int({ min: 10000000, max: 99999999 }).toString()}`,\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n\nexport const genHederaLikeStakeData = (): TransactionDataOf<\"HEDERA_LIKE_STAKE\"> => ({\n type: \"HEDERA_LIKE_STAKE\" as const,\n currency: \"hedera\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n nodeId: faker.number.int({ min: 10, max: 99999999 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype PolkadotTxType =\n | \"POLKADOT_LIKE_SEND\"\n | \"POLKADOT_LIKE_ADDPROXY\"\n | \"POLKADOT_LIKE_REMOVEPROXY\"\n | \"POLKADOT_LIKE_BOND\"\n | \"POLKADOT_LIKE_REBOND\"\n | \"POLKADOT_LIKE_BONDEXTRA\"\n | \"POLKADOT_LIKE_UNBOND\"\n | \"POLKADOT_LIKE_WITHDRAWUNBONDED\"\n | \"POLKADOT_LIKE_SETPAYEE\"\n | \"POLKADOT_LIKE_ANONYMOUSPROXY\"\n | \"POLKADOT_LIKE_KILLANONYMOUS\"\n | \"POLKADOT_LIKE_CHILL\";\n\nexport const genPolkadotLikeTxData = (\n txType: PolkadotTxType,\n): TransactionDataOf<PolkadotTxType> => {\n switch (txType) {\n case \"POLKADOT_LIKE_SEND\":\n return {\n type: txType,\n currency: \"polkadot\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n };\n case \"POLKADOT_LIKE_ADDPROXY\":\n case \"POLKADOT_LIKE_REMOVEPROXY\":\n return {\n type: txType,\n currency: \"polkadot\",\n kind: \"Staking\" as const,\n proxy: faker.string.alphanumeric({ length: 30 }),\n };\n case \"POLKADOT_LIKE_BOND\":\n return {\n type: txType,\n currency: \"polkadot\",\n payee: faker.helpers.arrayElement([\"Staked\", \"Stash\"] as const),\n amount: faker.number.bigInt({ min: 0 }).toString(),\n };\n case \"POLKADOT_LIKE_REBOND\":\n case \"POLKADOT_LIKE_UNBOND\":\n return {\n type: txType,\n currency: \"polkadot\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n };\n case \"POLKADOT_LIKE_BONDEXTRA\":\n return {\n type: txType,\n currency: \"polkadot\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n };\n case \"POLKADOT_LIKE_WITHDRAWUNBONDED\":\n case \"POLKADOT_LIKE_CHILL\":\n return { type: txType, currency: \"polkadot\" };\n case \"POLKADOT_LIKE_SETPAYEE\":\n return {\n type: txType,\n currency: \"polkadot\",\n payee: faker.helpers.arrayElement([\"Staked\", \"Stash\"] as const),\n };\n case \"POLKADOT_LIKE_ANONYMOUSPROXY\":\n case \"POLKADOT_LIKE_KILLANONYMOUS\":\n return { type: txType, currency: \"polkadot\" };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown polkadot transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genRippleLikeSendData = (): TransactionDataOf<\"RIPPLE_LIKE_SEND\"> => ({\n type: \"RIPPLE_LIKE_SEND\" as const,\n currency: \"ripple\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n destinationTag: faker.helpers.arrayElement([faker.number.int().toString(), null]),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype SolanaTxType =\n | \"SOLANA_LIKE_SEND\"\n | \"SOLANA_LIKE_CREATE_DELEGATE_STAKE\"\n | \"SOLANA_LIKE_DELEGATE_STAKE\"\n | \"SOLANA_LIKE_WITHDRAW_STAKE\"\n | \"SOLANA_LIKE_DEACTIVATE_STAKE\"\n | \"SOLANA_LIKE_SPLIT_STAKE\"\n | \"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE\"\n | \"SOLANA_LIKE_MERGE_STAKE\"\n | \"SOLANA_LIKE_SEND_TOKEN\"\n | \"SOLANA_LIKE_FUND_AND_SEND_TOKEN\"\n | \"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT\";\n\nexport const genSolanaLikeTxData = (txType: SolanaTxType): TransactionDataOf<SolanaTxType> => {\n switch (txType) {\n case \"SOLANA_LIKE_SEND\":\n case \"SOLANA_LIKE_CREATE_DELEGATE_STAKE\":\n case \"SOLANA_LIKE_SEND_TOKEN\":\n case \"SOLANA_LIKE_FUND_AND_SEND_TOKEN\":\n return {\n type: txType,\n currency: \"solana\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_DELEGATE_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n stakeAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_DEACTIVATE_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n stakeAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE\":\n case \"SOLANA_LIKE_SPLIT_STAKE\":\n case \"SOLANA_LIKE_WITHDRAW_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n stakeAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_MERGE_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n mergeSrcAccount: faker.string.alphanumeric({ length: 30 }),\n mergeDstAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown solana transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genStellarLikeSendData = (): TransactionDataOf<\"STELLAR_LIKE_SEND\"> => ({\n type: \"STELLAR_LIKE_SEND\" as const,\n currency: \"stellar\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n memo: faker.helpers.arrayElement([\n { type: \"MEMO_ID\" as const, value: faker.number.bigInt({ min: 0 }).toString() },\n { type: \"MEMO_TEXT\" as const, value: faker.word.conjunction(28) },\n {\n type: \"MEMO_HASH\" as const,\n value: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 64 }),\n },\n {\n type: \"MEMO_RETURN\" as const,\n value: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 64 }),\n },\n null,\n ]),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype SuiTxType = \"SUI_LIKE_SEND\" | \"SUI_LIKE_SEND_TOKEN\" | \"SUI_LIKE_STAKE\" | \"SUI_LIKE_UNSTAKE\";\n\nexport const genSuiLikeTxData = (txType: SuiTxType): TransactionDataOf<SuiTxType> => {\n const base = {\n currency: \"sui\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n\n switch (txType) {\n case \"SUI_LIKE_STAKE\":\n return {\n ...base,\n type: txType,\n validator: faker.string.alphanumeric({ length: 30 }),\n };\n case \"SUI_LIKE_UNSTAKE\":\n return {\n ...base,\n type: txType,\n stakedSuiId: faker.string.alphanumeric({ length: 30 }),\n useAllAmount: faker.datatype.boolean(),\n };\n case \"SUI_LIKE_SEND\":\n case \"SUI_LIKE_SEND_TOKEN\":\n return {\n ...base,\n type: txType,\n recipient: faker.string.alphanumeric({ length: 30 }),\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown sui transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype TezosTxType = \"TEZOS_LIKE_SEND\" | \"TEZOS_LIKE_DELEGATE\" | \"TEZOS_LIKE_UNDELEGATE\";\n\nexport const genTezosLikeTxData = (txType: TezosTxType): TransactionDataOf<TezosTxType> => ({\n type: txType,\n currency: \"tezos\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\", \"CUSTOM\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype TronTxType = \"TRON_LIKE_SEND\" | \"TRON_LIKE_SEND_TOKEN\";\n\nexport const genTronLikeTxData = (txType: TronTxType): TransactionDataOf<TronTxType> => ({\n type: txType,\n currency: \"tron\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import type { RequestDataOf, TransactionDataOf } from \"@/app-lib\";\n\nimport { unreachable } from \"../utils\";\nimport { genBitcoinLikeSendData } from \"./bitcoin\";\nimport { genCantonLikeTxData } from \"./canton\";\nimport { genCardanoLikeTxData } from \"./cardano\";\nimport {\n genEthereumLikeDeployContractData,\n genEthereumLikeExecuteContractData,\n genEthereumLikeSendData,\n} from \"./ethereum\";\nimport { genGenericTransactionData } from \"./generic\";\nimport { genHederaLikeSendData, genHederaLikeStakeData } from \"./hedera\";\nimport { genPolkadotLikeTxData } from \"./polkadot\";\nimport { genRippleLikeSendData } from \"./ripple\";\nimport { genSolanaLikeTxData } from \"./solana\";\nimport { genStellarLikeSendData } from \"./stellar\";\nimport { genSuiLikeTxData } from \"./sui\";\nimport { genTezosLikeTxData } from \"./tezos\";\nimport { genTronLikeTxData } from \"./tron\";\n\n/** Outgoing transaction type, which is a subset of `TransactionType`. */\nexport type OutgoingTxType = RequestDataOf<\"CREATE_TRANSACTION\">[\"transaction\"][\"type\"];\n\nexport const genOutgoingTxData = <T extends OutgoingTxType>(\n opts: Partial<TransactionDataOf<T>> & { type: T },\n): TransactionDataOf<T> => {\n let txDataDefaults: TransactionDataOf<OutgoingTxType>;\n switch (opts.type) {\n case \"BITCOIN_LIKE_SEND\":\n txDataDefaults = genBitcoinLikeSendData();\n break;\n case \"CANTON_LIKE_SEND\":\n case \"CANTON_LIKE_SEND_TOKEN\":\n case \"CANTON_LIKE_WITHDRAW\":\n case \"CANTON_LIKE_RECEIVE\":\n case \"CANTON_LIKE_PRE_APPROVAL\":\n txDataDefaults = genCantonLikeTxData(opts.type);\n break;\n case \"CARDANO_LIKE_SEND\":\n case \"CARDANO_LIKE_STAKING_REGISTER\":\n case \"CARDANO_LIKE_STAKING_DEREGISTER\":\n case \"CARDANO_LIKE_STAKING_DELEGATE\":\n case \"CARDANO_LIKE_STAKING_WITHDRAW\":\n txDataDefaults = genCardanoLikeTxData(opts.type);\n break;\n case \"ETHEREUM_LIKE_SEND\":\n txDataDefaults = genEthereumLikeSendData();\n break;\n case \"ETHEREUM_LIKE_EXECUTE_CONTRACT\":\n txDataDefaults = genEthereumLikeExecuteContractData();\n break;\n case \"ETHEREUM_LIKE_DEPLOY_CONTRACT\":\n txDataDefaults = genEthereumLikeDeployContractData();\n break;\n case \"GENERIC_TRANSACTION\":\n txDataDefaults = genGenericTransactionData();\n break;\n case \"HEDERA_LIKE_SEND\":\n case \"HEDERA_LIKE_SEND_TOKEN\":\n txDataDefaults = genHederaLikeSendData(opts.type);\n break;\n case \"HEDERA_LIKE_STAKE\":\n txDataDefaults = genHederaLikeStakeData();\n break;\n case \"POLKADOT_LIKE_SEND\":\n case \"POLKADOT_LIKE_ADDPROXY\":\n case \"POLKADOT_LIKE_REMOVEPROXY\":\n case \"POLKADOT_LIKE_BOND\":\n case \"POLKADOT_LIKE_REBOND\":\n case \"POLKADOT_LIKE_BONDEXTRA\":\n case \"POLKADOT_LIKE_UNBOND\":\n case \"POLKADOT_LIKE_WITHDRAWUNBONDED\":\n case \"POLKADOT_LIKE_SETPAYEE\":\n case \"POLKADOT_LIKE_ANONYMOUSPROXY\":\n case \"POLKADOT_LIKE_KILLANONYMOUS\":\n case \"POLKADOT_LIKE_CHILL\":\n txDataDefaults = genPolkadotLikeTxData(opts.type);\n break;\n case \"RIPPLE_LIKE_SEND\":\n txDataDefaults = genRippleLikeSendData();\n break;\n case \"SOLANA_LIKE_SEND\":\n case \"SOLANA_LIKE_CREATE_DELEGATE_STAKE\":\n case \"SOLANA_LIKE_DELEGATE_STAKE\":\n case \"SOLANA_LIKE_WITHDRAW_STAKE\":\n case \"SOLANA_LIKE_DEACTIVATE_STAKE\":\n case \"SOLANA_LIKE_SPLIT_STAKE\":\n case \"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE\":\n case \"SOLANA_LIKE_MERGE_STAKE\":\n case \"SOLANA_LIKE_SEND_TOKEN\":\n case \"SOLANA_LIKE_FUND_AND_SEND_TOKEN\":\n case \"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT\":\n txDataDefaults = genSolanaLikeTxData(opts.type);\n break;\n case \"STELLAR_LIKE_SEND\":\n txDataDefaults = genStellarLikeSendData();\n break;\n case \"TEZOS_LIKE_SEND\":\n case \"TEZOS_LIKE_DELEGATE\":\n case \"TEZOS_LIKE_UNDELEGATE\":\n txDataDefaults = genTezosLikeTxData(opts.type);\n break;\n case \"SUI_LIKE_SEND\":\n case \"SUI_LIKE_SEND_TOKEN\":\n case \"SUI_LIKE_STAKE\":\n case \"SUI_LIKE_UNSTAKE\":\n txDataDefaults = genSuiLikeTxData(opts.type);\n break;\n case \"TRON_LIKE_SEND\":\n case \"TRON_LIKE_SEND_TOKEN\":\n txDataDefaults = genTronLikeTxData(opts.type);\n break;\n default:\n txDataDefaults = unreachable(opts.type);\n break;\n }\n return { ...txDataDefaults, ...opts } as TransactionDataOf<T>;\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { AccountType, TransactionDataOf } from \"@/app-lib\";\n\nimport { genOutgoingTxData, type OutgoingTxType } from \"../transactions\";\n\nexport const ACCOUNT_TYPE_DEFAULT_CURRENCY: Record<AccountType, string> = {\n BITCOIN_LIKE: \"bitcoin\",\n CANTON_LIKE: \"canton_network\",\n CARDANO_LIKE: \"cardano\",\n ETHEREUM_LIKE: \"ethereum\",\n GENERIC_LIKE: \"tron\",\n HEDERA_LIKE: \"hedera\",\n POLKADOT_LIKE: \"polkadot\",\n RAW_SIGNING: \"bitcoin\",\n RIPPLE_LIKE: \"ripple\",\n SOLANA_LIKE: \"solana\",\n STELLAR_LIKE: \"stellar\",\n SUI_LIKE: \"sui\",\n TEZOS_LIKE: \"tezos\",\n TRON_LIKE: \"tron\",\n};\n\ntype OutgoingTxOptions<T extends OutgoingTxType> = Partial<TransactionDataOf<T>> & { type: T };\n\nexport const genCreateTransactionData = <T extends OutgoingTxType>(opts?: {\n accountId?: string;\n transaction?: OutgoingTxOptions<T>;\n}): { accountId: string; transaction: TransactionDataOf<T> } => {\n const accountId = opts?.accountId ?? faker.string.uuid();\n const txOpts = opts?.transaction ?? ({ type: \"ETHEREUM_LIKE_SEND\" } as OutgoingTxOptions<T>);\n return {\n accountId,\n transaction: genOutgoingTxData(txOpts),\n };\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nimport { genPubKey } from \"../utils\";\n\nexport const genCreatePsdUserData = (\n opts?: Partial<RequestDataOf<\"CREATE_PSD_USER\">>,\n): RequestDataOf<\"CREATE_PSD_USER\"> => ({\n registrationId: faker.string.uuid(),\n ...opts,\n});\n\nexport const genCreateApiUserData = (\n opts?: Partial<RequestDataOf<\"CREATE_API_USER\">>,\n): RequestDataOf<\"CREATE_API_USER\"> => ({\n name: faker.person.firstName(),\n pubKey: genPubKey(),\n role: \"OPERATOR\",\n viewAll: false,\n ...opts,\n});\n\nexport const genCreateApiUserAccessData = (\n opts?: Partial<RequestDataOf<\"CREATE_API_USER_ACCESS\">>,\n): RequestDataOf<\"CREATE_API_USER_ACCESS\"> => ({\n name: faker.person.firstName(),\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateWhitelistData = (\n opts?: Partial<RequestDataOf<\"CREATE_WHITELIST\">>,\n): RequestDataOf<\"CREATE_WHITELIST\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n type: faker.helpers.arrayElement([\"TRANSACTION\", \"SMART_CONTRACT\"] as const),\n addresses: [\n {\n name: faker.lorem.words(3),\n currency: \"bitcoin\",\n address: faker.finance.bitcoinAddress(),\n destinationTags: [],\n },\n {\n name: faker.lorem.words(3),\n currency: \"ethereum\",\n address: faker.finance.ethereumAddress(),\n destinationTags: [],\n },\n ],\n ...opts,\n});\n\nexport const genEditWhitelistData = (\n opts?: Partial<RequestDataOf<\"EDIT_WHITELIST\">>,\n): RequestDataOf<\"EDIT_WHITELIST\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n addresses: [\n {\n name: faker.lorem.words(3),\n currency: \"bitcoin\",\n address: faker.finance.bitcoinAddress(),\n destinationTags: [],\n },\n {\n name: faker.lorem.words(3),\n currency: \"ethereum\",\n address: faker.finance.ethereumAddress(),\n destinationTags: [],\n },\n ],\n ...opts,\n});\n","import type { RequestDataOf } from \"@/app-lib\";\n\nexport const genWorkspaceRuleData = (\n opts?: Partial<RequestDataOf<\"EDIT_WORKSPACE_RULE\">>,\n): RequestDataOf<\"EDIT_WORKSPACE_RULE\"> => ({\n permission: \"CREATE_ACCOUNT_WITH_POLICY\",\n reviewConfig: [{ userIds: [], quorum: 2 }],\n ...opts,\n});\n","import type { RequestDataOf } from \"@/app-lib\";\n\nimport { unreachable } from \"../utils\";\nimport { genCreateAccountData, genEditAccountData, genEditTokenRuleData } from \"./account\";\nimport { genCreateApiKeyData, genEditApiKeyData } from \"./api-key\";\nimport { genCreateEntityData, genEditEntityData } from \"./entity\";\nimport { genCreateGroupData, genEditGroupData } from \"./group\";\nimport { genSignDigestsData, genSignMessageData } from \"./message-signature\";\nimport { genCreatePolicyData, genEditPolicyData } from \"./policy\";\nimport { genCreateSciConfigData, genEditSciConfigData } from \"./sciconfig\";\nimport {\n genTradelinkAdjustPledgeData,\n genTradelinkArbitrationData,\n genTradelinkCreateSettlementData,\n genTradelinkForceUnpledgeData,\n genTradelinkRepledgeData,\n genTradelinkWithdrawData,\n} from \"./tradelink\";\nimport { genCreateTransactionData } from \"./transaction\";\nimport { genCreateApiUserAccessData, genCreateApiUserData, genCreatePsdUserData } from \"./user\";\nimport { genCreateWhitelistData, genEditWhitelistData } from \"./whitelist\";\nimport { genWorkspaceRuleData } from \"./workspace-rule\";\n\n// Re-export all per-domain generators\nexport {\n genCreateAccountData,\n genEditAccountData,\n genEditTokenRuleData,\n genCreateApiKeyData,\n genEditApiKeyData,\n genCreateEntityData,\n genEditEntityData,\n genCreateGroupData,\n genEditGroupData,\n genSignDigestsData,\n genSignMessageData,\n genCreatePolicyData,\n genEditPolicyData,\n genCreateSciConfigData,\n genEditSciConfigData,\n genTradelinkAdjustPledgeData,\n genTradelinkArbitrationData,\n genTradelinkCreateSettlementData,\n genTradelinkForceUnpledgeData,\n genTradelinkRepledgeData,\n genTradelinkWithdrawData,\n genCreateTransactionData,\n genCreateApiUserAccessData,\n genCreateApiUserData,\n genCreatePsdUserData,\n genCreateWhitelistData,\n genEditWhitelistData,\n genWorkspaceRuleData,\n};\n\nexport { ACCOUNT_TYPE_DEFAULT_CURRENCY } from \"./transaction\";\n\nexport type RequestDataTypes = {\n // Workspace...\n UPDATE_QUORUM: RequestDataOf<\"UPDATE_QUORUM\">;\n // User...\n CREATE_PSD_USER: RequestDataOf<\"CREATE_PSD_USER\">;\n CREATE_API_USER: RequestDataOf<\"CREATE_API_USER\">;\n CREATE_API_USER_ACCESS: RequestDataOf<\"CREATE_API_USER_ACCESS\">;\n REVOKE_USER: Record<string, never>;\n // Admin gov rule...\n EDIT_WORKSPACE_RULE: RequestDataOf<\"EDIT_WORKSPACE_RULE\">;\n // Group...\n CREATE_GROUP: RequestDataOf<\"CREATE_GROUP\">;\n EDIT_GROUP: RequestDataOf<\"EDIT_GROUP\">;\n REVOKE_GROUP: Record<string, never>;\n // API key...\n CREATE_API_KEY: RequestDataOf<\"CREATE_API_KEY\">;\n EDIT_API_KEY: RequestDataOf<\"EDIT_API_KEY\">;\n REVOKE_API_KEY: Record<string, never>;\n // Whitelist...\n CREATE_WHITELIST: RequestDataOf<\"CREATE_WHITELIST\">;\n EDIT_WHITELIST: RequestDataOf<\"EDIT_WHITELIST\">;\n // Entity...\n CREATE_ENTITY: RequestDataOf<\"CREATE_ENTITY\">;\n EDIT_ENTITY: RequestDataOf<\"EDIT_ENTITY\">;\n REVOKE_ENTITY: Record<string, never>;\n // Account...\n CREATE_ACCOUNT: RequestDataOf<\"CREATE_ACCOUNT\">;\n EDIT_ACCOUNT: RequestDataOf<\"EDIT_ACCOUNT\">;\n EDIT_TOKEN_RULE: RequestDataOf<\"EDIT_TOKEN_RULE\">;\n // Operator requests...\n CREATE_TRANSACTION: RequestDataOf<\"CREATE_TRANSACTION\">;\n SIGN_MESSAGE: RequestDataOf<\"SIGN_MESSAGE\">;\n SIGN_DIGESTS: RequestDataOf<\"SIGN_DIGESTS\">;\n // SCI config ...\n CREATE_SCICONFIG: RequestDataOf<\"CREATE_SCICONFIG\">;\n EDIT_SCICONFIG: RequestDataOf<\"EDIT_SCICONFIG\">;\n // Policy\n CREATE_POLICY: RequestDataOf<\"CREATE_POLICY\">;\n EDIT_POLICY: RequestDataOf<\"EDIT_POLICY\">;\n // Tradelink...\n TRADELINK_ADJUST_PLEDGE: RequestDataOf<\"TRADELINK_ADJUST_PLEDGE\">;\n TRADELINK_REPLEDGE: RequestDataOf<\"TRADELINK_REPLEDGE\">;\n TRADELINK_CREATE_SETTLEMENT: RequestDataOf<\"TRADELINK_CREATE_SETTLEMENT\">;\n TRADELINK_FORCE_UNPLEDGE: RequestDataOf<\"TRADELINK_FORCE_UNPLEDGE\">;\n TRADELINK_WITHDRAW: RequestDataOf<\"TRADELINK_WITHDRAW\">;\n TRADELINK_ARBITRATE: RequestDataOf<\"TRADELINK_ARBITRATE\">;\n};\n\nexport const genRequestData = <T extends keyof RequestDataTypes>(\n type: T,\n opts?: Partial<RequestDataTypes[T]>,\n): RequestDataTypes[T] => {\n type R = RequestDataTypes[T];\n\n switch (type) {\n // Workspace...\n case \"UPDATE_QUORUM\":\n return { quorum: 3, ...opts } as R;\n\n // User...\n case \"CREATE_PSD_USER\":\n return genCreatePsdUserData(opts) as R;\n case \"CREATE_API_USER\":\n return genCreateApiUserData(opts) as R;\n case \"CREATE_API_USER_ACCESS\":\n return genCreateApiUserAccessData(opts) as R;\n case \"REVOKE_USER\":\n return {} as R;\n\n // Admin gov rule...\n case \"EDIT_WORKSPACE_RULE\":\n return genWorkspaceRuleData(opts) as R;\n\n // Group...\n case \"CREATE_GROUP\":\n return genCreateGroupData(opts) as R;\n case \"EDIT_GROUP\":\n return genEditGroupData(opts) as R;\n case \"REVOKE_GROUP\":\n return {} as R;\n\n // ApiKey...\n case \"CREATE_API_KEY\":\n return genCreateApiKeyData(opts) as R;\n case \"EDIT_API_KEY\":\n return genEditApiKeyData(opts) as R;\n case \"REVOKE_API_KEY\":\n return {} as R;\n\n // Whitelist...\n case \"CREATE_WHITELIST\":\n return genCreateWhitelistData(opts) as R;\n case \"EDIT_WHITELIST\":\n return genEditWhitelistData(opts) as R;\n\n // Entity...\n case \"CREATE_ENTITY\":\n return genCreateEntityData(opts) as R;\n case \"EDIT_ENTITY\":\n return genEditEntityData(opts) as R;\n case \"REVOKE_ENTITY\":\n return {} as R;\n\n // Account...\n case \"CREATE_ACCOUNT\":\n return genCreateAccountData(opts) as R;\n case \"EDIT_ACCOUNT\":\n return genEditAccountData(opts) as R;\n case \"EDIT_TOKEN_RULE\":\n return genEditTokenRuleData(opts) as R;\n\n // Operator requests...\n case \"CREATE_TRANSACTION\":\n return genCreateTransactionData(opts) as R;\n case \"SIGN_MESSAGE\":\n return genSignMessageData(opts) as R;\n case \"SIGN_DIGESTS\":\n return genSignDigestsData(opts) as R;\n\n // SCI config...\n case \"CREATE_SCICONFIG\":\n return genCreateSciConfigData(opts) as R;\n case \"EDIT_SCICONFIG\":\n return genEditSciConfigData(opts) as R;\n\n // Policy\n case \"CREATE_POLICY\":\n return genCreatePolicyData(opts) as R;\n case \"EDIT_POLICY\":\n return genEditPolicyData(opts) as R;\n\n // Tradelink...\n case \"TRADELINK_ADJUST_PLEDGE\":\n return genTradelinkAdjustPledgeData(opts) as R;\n case \"TRADELINK_CREATE_SETTLEMENT\":\n return genTradelinkCreateSettlementData(opts) as R;\n case \"TRADELINK_FORCE_UNPLEDGE\":\n return genTradelinkForceUnpledgeData(opts) as R;\n case \"TRADELINK_WITHDRAW\":\n return genTradelinkWithdrawData(opts) as R;\n case \"TRADELINK_REPLEDGE\":\n return genTradelinkRepledgeData(opts) as R;\n case \"TRADELINK_ARBITRATE\":\n return genTradelinkArbitrationData(opts) as R;\n\n default:\n return unreachable(type);\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type {\n AccountResponse,\n AccountType,\n GroupResponse,\n UserResponse,\n VaultRequestResponse,\n WebhookResponse,\n WhitelistResponse,\n} from \"@/app-lib\";\n\nimport {\n ACCOUNT_TYPE_DEFAULT_CURRENCY,\n genRequestData,\n type RequestDataTypes,\n} from \"./request-data\";\nimport { genHexString, genPubKey, genUniqueName } from \"./utils\";\n\n// All AccountType values as a typed array (string literals, no Prisma import).\nconst ACCOUNT_TYPES: AccountType[] = [\n \"BITCOIN_LIKE\",\n \"CANTON_LIKE\",\n \"CARDANO_LIKE\",\n \"ETHEREUM_LIKE\",\n \"GENERIC_LIKE\",\n \"HEDERA_LIKE\",\n \"POLKADOT_LIKE\",\n \"RAW_SIGNING\",\n \"RIPPLE_LIKE\",\n \"SOLANA_LIKE\",\n \"STELLAR_LIKE\",\n \"SUI_LIKE\",\n \"TEZOS_LIKE\",\n \"TRON_LIKE\",\n];\n\nconst genAssetFields = (type: AccountType): AccountResponse[\"asset\"] => {\n switch (type) {\n case \"RAW_SIGNING\":\n case \"GENERIC_LIKE\":\n return { type };\n case \"BITCOIN_LIKE\":\n return { type, xpub: genHexString(120, \"lower\") };\n case \"CANTON_LIKE\":\n case \"CARDANO_LIKE\":\n case \"POLKADOT_LIKE\":\n case \"RIPPLE_LIKE\":\n case \"STELLAR_LIKE\":\n case \"SUI_LIKE\":\n case \"TEZOS_LIKE\":\n return { type, address: faker.string.alphanumeric({ length: 34 }) };\n case \"ETHEREUM_LIKE\":\n case \"SOLANA_LIKE\":\n case \"TRON_LIKE\":\n return { type, address: faker.string.alphanumeric({ length: 42 }) };\n case \"HEDERA_LIKE\":\n return {\n type,\n address: `0.0.${faker.number.int({ min: 10000000, max: 99999999 })}`,\n isActivated: faker.datatype.boolean(),\n };\n }\n};\n\nexport const genAccountResponse = (\n opts?: Partial<{\n type: AccountType;\n governanceType: \"CLASSIC\" | \"RAW_SIGNING\" | \"TRADELINK\";\n }>,\n): AccountResponse => {\n const type = opts?.type ?? faker.helpers.arrayElement(ACCOUNT_TYPES);\n const governanceType = opts?.governanceType ?? \"CLASSIC\";\n const currency = ACCOUNT_TYPE_DEFAULT_CURRENCY[type];\n const id = faker.string.uuid();\n\n const governance =\n governanceType === \"TRADELINK\"\n ? {\n type: governanceType,\n assetManagerId: faker.string.uuid(),\n exchangeConfigs: [],\n }\n : {\n type: governanceType,\n policyId: faker.string.uuid(),\n };\n\n return {\n id,\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n name: genUniqueName(),\n currency,\n network: currency,\n contractAddress: null,\n tokenIdentifier: null,\n index: faker.number.int({ min: 0, max: 10 }),\n derivationPath: \"m/44'/0'/0'\",\n status: \"ACTIVE\" as const,\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n asset: genAssetFields(type),\n governance,\n };\n};\n\nexport const genUserResponse = (opts?: Partial<UserResponse>): UserResponse => {\n const role = opts?.role ?? faker.helpers.arrayElement([\"ADMIN\", \"OPERATOR\"]);\n const deviceType = opts?.deviceType ?? (role === \"READ_ONLY_API_KEY\" ? \"API\" : \"PSD\");\n return {\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n legacyViewAll: false,\n workspaceName: faker.string.alphanumeric({ length: 16, casing: \"lower\" }),\n name: faker.person.fullName(),\n deviceUserId: deviceType === \"API\" ? null : genHexString(16, \"lower\"),\n deviceType,\n role,\n pubKey: genPubKey(),\n status: \"ACTIVE\" as const,\n isSuspended: false,\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n ...opts,\n };\n};\n\nexport const genGroupResponse = (opts?: Partial<GroupResponse>): GroupResponse => ({\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n status: \"ACTIVE\" as const,\n members: [],\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n ...opts,\n});\n\nexport const genWhitelistResponse = (opts?: Partial<WhitelistResponse>): WhitelistResponse => ({\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n name: faker.lorem.words(3),\n status: \"ACTIVE\" as const,\n addresses: [\n {\n name: faker.lorem.words(3),\n currency: \"bitcoin\",\n address: faker.finance.bitcoinAddress(),\n destinationTags: [],\n },\n {\n name: faker.lorem.words(3),\n currency: \"ethereum\",\n address: faker.finance.ethereumAddress(),\n destinationTags: [],\n },\n ],\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n description: faker.lorem.sentence(),\n ...opts,\n});\n\n/** Request types that have a `targetId` field */\nconst TYPES_WITH_TARGET_ID: (keyof RequestDataTypes)[] = [\n \"EDIT_ACCOUNT\",\n \"EDIT_TOKEN_RULE\",\n \"EDIT_GROUP\",\n \"REVOKE_GROUP\",\n \"EDIT_WHITELIST\",\n \"EDIT_ENTITY\",\n \"REVOKE_ENTITY\",\n \"REVOKE_USER\",\n \"EDIT_POLICY\",\n \"REVOKE_API_KEY\",\n];\n\nexport const genVaultRequestResponse = <T extends keyof RequestDataTypes>(opts: {\n type: T;\n data?: Partial<RequestDataTypes[T]>;\n}): VaultRequestResponse => {\n const { type, data: dataOpts } = opts;\n const data = genRequestData(type, dataOpts);\n const targetId = TYPES_WITH_TARGET_ID.includes(type) ? faker.string.uuid() : null;\n return {\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n type,\n state: \"PENDING_APPROVAL\" as const,\n reviewSteps: [{ stageName: \"default\", quorum: 2 }],\n currentStepIndex: 0,\n expiresAt: faker.date.future(),\n targetId,\n note: null,\n reviews: [],\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n createdById: faker.string.uuid(),\n data,\n } as VaultRequestResponse;\n};\n\nexport const genWebhookResponse = (opts?: Partial<WebhookResponse>): WebhookResponse => ({\n id: faker.string.uuid(),\n actions: faker.helpers.arrayElements([\n \"REQUEST_CREATED\",\n \"REQUEST_RECEIVED_APPROVAL\",\n \"REQUEST_RECEIVED_REJECTION\",\n \"REQUEST_ACTIVATED_REVIEWS\",\n \"REQUEST_EXECUTING\",\n \"REQUEST_EXECUTED\",\n \"REQUEST_ABORTED\",\n \"REQUEST_FAILED\",\n \"REQUEST_EXPIRED\",\n ]),\n url: faker.internet.url(),\n createdAt: faker.date.past(),\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { AccountStakingFields, AccountType } from \"@/app-lib\";\n\nexport const genAccountStakingFields = (opts: {\n type: AccountType;\n contractAddress: string | null;\n}): AccountStakingFields | null => {\n // No staking for token account\n if (opts.contractAddress !== null) {\n return null;\n }\n\n switch (opts.type) {\n case \"BITCOIN_LIKE\":\n return null;\n case \"CANTON_LIKE\":\n return null;\n case \"CARDANO_LIKE\":\n return {\n type: \"CARDANO_LIKE\",\n staking: {\n staked: faker.number.int().toString(),\n },\n };\n case \"ETHEREUM_LIKE\":\n return {\n type: \"ETHEREUM_LIKE\",\n staking: {\n totalStaking: faker.number.int().toString(),\n totalRewards: faker.number.int().toString(),\n availableRewards: faker.number.int().toString(),\n networkApy: faker.number.float({ min: 0, max: 1 }),\n },\n };\n case \"GENERIC_LIKE\":\n return null;\n case \"POLKADOT_LIKE\":\n return {\n type: \"POLKADOT_LIKE\",\n staking: {\n info: {\n controllerAddress: \"<fake-controller-address>\",\n rewardsDestination: \"<fake-rewards-destination>\",\n proxies: [\"<fake-proxy>\"],\n legacyStaking: false,\n isNominator: false,\n },\n balances: {\n free: faker.number.int().toString(),\n reserved: faker.number.int().toString(),\n frozen: faker.number.int().toString(),\n bonded: faker.number.int().toString(),\n available: faker.number.int().toString(),\n unbonding: [\n { amount: faker.number.int().toString(), waiting_time: \"<fake-waiting-time>\" },\n ],\n unbonded: [\n { amount: faker.number.int().toString(), waiting_time: \"<fake-waiting-time>\" },\n ],\n totalUnbonding: faker.number.int().toString(),\n totalUnbonded: faker.number.int().toString(),\n },\n anonymousProxy: {\n address: \"<fake-anonymous-proxy-address>\",\n createdAt: faker.date.past().toISOString(),\n isController: false,\n isMain: false,\n balances: {\n free: faker.number.int().toString(),\n reserved: faker.number.int().toString(),\n frozen: faker.number.int().toString(),\n bonded: faker.number.int().toString(),\n available: faker.number.int().toString(),\n total: faker.number.int().toString(),\n },\n blockHeight: faker.number.int().toString(),\n extIndex: faker.number.int().toString(),\n index: faker.number.int().toString(),\n kind: \"<fake-kind>\",\n },\n },\n };\n case \"RAW_SIGNING\":\n return null;\n case \"RIPPLE_LIKE\":\n return null;\n case \"SOLANA_LIKE\":\n return {\n type: \"SOLANA_LIKE\",\n staking: {\n staked: faker.number.int().toString(),\n rewards: {\n total: faker.number.int().toString(),\n last7: faker.number.int().toString(),\n last30: faker.number.int().toString(),\n },\n stakes: [\n {\n uid: \"<fake-stake-uid>\",\n baseAccountUid: \"<fake-base-account-uid>\",\n pubKey: \"<fake-pub-key>\",\n validatorPubKey: \"<fake-validator-pub-key>\",\n initialAmount: faker.number.int().toString(),\n activeAmount: faker.number.int().toString(),\n inactiveAmount: faker.number.int().toString(),\n totalBalance: faker.number.int().toString(),\n creationDate: faker.date.past().toISOString(),\n activationEpoch: faker.date.past().toISOString(),\n activationDate: faker.date.past().toISOString(),\n deactivationEpoch: \"<fake-deactivation-epoch>\",\n deactivationDate: faker.date.past().toISOString(),\n status: \"activated\",\n rentExemptReserve: faker.number.int().toString(),\n withdrawableAmount: faker.number.int().toString(),\n totalRewards: faker.number.int().toString(),\n creationTxHash: \"<fake-creation-tx-hash>\",\n actionsTxHashes: [\"<fake-action-tx-hash>\"],\n },\n ],\n },\n };\n case \"STELLAR_LIKE\":\n return null;\n case \"SUI_LIKE\":\n return {\n type: \"SUI_LIKE\",\n staking: {\n totalStaked: faker.number.int().toString(),\n totalRewards: faker.number.int().toString(),\n },\n };\n case \"TEZOS_LIKE\":\n return {\n type: \"TEZOS_LIKE\",\n staking: {\n delegations: [{ address: faker.string.alpha({ length: 10 }) }],\n },\n };\n case \"TRON_LIKE\":\n return null;\n case \"HEDERA_LIKE\":\n return null;\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/__fakes__/trpc/utils.ts","../src/__fakes__/trpc/inputs.ts","../src/__fakes__/trpc/request-data/account.ts","../src/__fakes__/trpc/request-data/api-key.ts","../src/__fakes__/trpc/request-data/entity.ts","../src/__fakes__/trpc/request-data/group.ts","../src/__fakes__/trpc/request-data/message-signature.ts","../src/__fakes__/trpc/request-data/policy.ts","../src/__fakes__/trpc/request-data/sciconfig.ts","../src/__fakes__/trpc/request-data/tradelink.ts","../src/__fakes__/trpc/transactions/bitcoin.ts","../src/__fakes__/trpc/transactions/canton.ts","../src/__fakes__/trpc/transactions/cardano.ts","../src/__fakes__/trpc/transactions/ethereum.ts","../src/__fakes__/trpc/transactions/generic.ts","../src/__fakes__/trpc/transactions/hedera.ts","../src/__fakes__/trpc/transactions/polkadot.ts","../src/__fakes__/trpc/transactions/ripple.ts","../src/__fakes__/trpc/transactions/solana.ts","../src/__fakes__/trpc/transactions/stellar.ts","../src/__fakes__/trpc/transactions/sui.ts","../src/__fakes__/trpc/transactions/tezos.ts","../src/__fakes__/trpc/transactions/tron.ts","../src/__fakes__/trpc/transactions/index.ts","../src/__fakes__/trpc/request-data/transaction.ts","../src/__fakes__/trpc/request-data/user.ts","../src/__fakes__/trpc/request-data/whitelist.ts","../src/__fakes__/trpc/request-data/workspace-rule.ts","../src/__fakes__/trpc/request-data/index.ts","../src/__fakes__/trpc/responses.ts","../src/__fakes__/trpc/staking.ts"],"names":["faker"],"mappings":";;;;AAEO,IAAM,WAAA,GAAc,CAAC,KAAA,KAAwB;AAClD,EAAA,MAAM,IAAI,KAAA,CAAM,CAAA,2DAAA,EAA8D,KAAK,CAAA,CAAE,CAAA;AACvF,CAAA;AAEO,IAAM,SAAA,GAAY,MACvB,CAAA,EAAA,EAAK,KAAA,CAAM,OAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,CAAC,CAAA,CAAA;AAEtE,IAAM,YAAA,GAAe,CAAC,MAAA,EAAgB,MAAA,KAC3C,KAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,MAAA,EAAQ,CAAA;AAElD,IAAM,aAAA,GAAgB,CAAC,MAAA,GAAS,EAAA,KACrC,KAAA,CAAM,MAAA,CAAO,YAAA,CAAa,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,CAAA;;;ACFhD,IAAM,uBAAA,GAA0B,CACrC,IAAA,MACwC;AAAA,EACxC,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,YAAA,CAAa,EAAA,EAAI,OAAO;AAAA,GAChC;AAAA,EACA,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,GAAG;AACL,CAAA;ACdO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MACqC;AAAA,EACrC,MAAM,aAAA,EAAc;AAAA,EACpB,IAAA,EAAM,cAAA;AAAA,EACN,QAAA,EAAU,SAAA;AAAA,EACV,eAAA,EAAiB,IAAA;AAAA,EACjB,eAAA,EAAiB,IAAA;AAAA,EACjB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,EAAE,KAAA,EAAO,EAAC;AAAE,GACtB;AAAA,EACA,KAAA,EAAO,CAAA;AAAA,EACP,cAAA,EAAgB,aAAA;AAAA,EAChB,GAAG;AACL,CAAA;AAEO,IAAM,kBAAA,GAAqB,CAChC,IAAA,MACmC;AAAA,EACnC,MAAM,aAAA,EAAc;AAAA,EACpB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,EAAE,KAAA,EAAO,EAAC;AAAE,GACtB;AAAA,EACA,GAAG;AACL,CAAA;AAEO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MACsC;AAAA,EACtC,eAAA,EAAiBA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EACnC,iBAAiBA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACzD,KAAA,EAAO;AAAA,IACL;AAAA,MACE,aAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAa,CAAC,EAAE,MAAA,EAAQ,GAAG,OAAA,EAAS,IAAI;AAAA;AAC1C,GACF;AAAA,EACA,GAAG;AACL,CAAA;AC1CO,IAAM,mBAAA,GAAsB,CACjC,IAAA,MACqC;AAAA,EACrC,MAAMA,KAAAA,CAAM,OAAA,CAAQ,MAAK,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA;AAAA,EACtC,UAAU,EAAC;AAAA,EACX,QAAQ,EAAC;AAAA,EACT,GAAG;AACL,CAAA;AAEO,IAAM,iBAAA,GAAoB,CAC/B,IAAA,MACmC;AAAA,EACnC,MAAMA,KAAAA,CAAM,OAAA,CAAQ,MAAK,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA;AAAA,EACtC,UAAU,EAAC;AAAA,EACX,QAAQ,EAAC;AAAA,EACT,GAAG;AACL,CAAA;AChBO,IAAM,mBAAA,GAAsB,CACjC,IAAA,MACoC;AAAA,EACpC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,YAAY,EAAC;AAAA,EACb,WAAW,EAAC;AAAA,EACZ,GAAG;AACL,CAAA;AAEO,IAAM,iBAAA,GAAoB,CAC/B,IAAA,MACkC;AAAA,EAClC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,YAAY,EAAC;AAAA,EACb,WAAW,EAAC;AAAA,EACZ,GAAG;AACL,CAAA;AChBO,IAAM,kBAAA,GAAqB,CAChC,IAAA,MACmC;AAAA,EACnC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,SAAS,EAAC;AAAA,EACV,GAAG;AACL,CAAA;AAEO,IAAM,gBAAA,GAAmB,CAC9B,IAAA,MACiC;AAAA,EACjC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,SAAS,EAAC;AAAA,EACV,GAAG;AACL,CAAA;ACdO,IAAM,kBAAA,GAAqB,CAChC,IAAA,KACkC;AAClC,EAAA,MAAM,WAAA,GAAc,IAAA,EAAM,WAAA,IAAe,IAAA,EAAM,SAAS,IAAA,IAAQ,QAAA;AAChE,EAAA,IAAI,OAAA;AACJ,EAAA,QAAQ,WAAA;AAAa,IACnB,KAAK,QAAA;AACH,MAAA,OAAA,GAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM,YAAA,CAAa,EAAA,EAAI,OAAO;AAAA,OAChC;AACA,MAAA;AAAA,IACF,KAAK,QAAA;AACH,MAAA,OAAA,GAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM;AAAA,UACJ,KAAA,EAAO;AAAA,YACL,YAAA,EAAc;AAAA,cACZ,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAS;AAAA,cAC/B,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,EAAM,QAAA,EAAS;AAAA,cAClC,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,cACnC,EAAE,IAAA,EAAM,mBAAA,EAAqB,IAAA,EAAM,SAAA;AAAU,aAC/C;AAAA,YACA,WAAA,EAAa;AAAA,cACX,EAAE,IAAA,EAAM,GAAA,EAAK,IAAA,EAAM,QAAA,EAAS;AAAA,cAC5B,EAAE,IAAA,EAAM,GAAA,EAAK,IAAA,EAAM,MAAA;AAAO;AAC5B,WACF;AAAA,UACA,WAAA,EAAa,aAAA;AAAA,UACb,MAAA,EAAQ;AAAA,YACN,IAAA,EAAM,aAAA;AAAA,YACN,OAAA,EAAS,GAAA;AAAA,YACT,OAAA,EAAS,CAAA;AAAA,YACT,iBAAA,EAAmB;AAAA,WACrB;AAAA,UACA,OAAA,EAAS;AAAA,YACP,CAAA,EAAGA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAM,CAAA;AAAA,YACzC,CAAA,EAAGA,KAAAA,CAAM,QAAA,CAAS,OAAA;AAAQ;AAC5B;AACF,OACF;AACA,MAAA;AAAA,IACF,KAAK,MAAA;AAAA,IACL,KAAK,QAAA;AACH,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,mCAAA,EAAsC,WAAW,CAAA,CAAE,CAAA;AAAA;AAEvE,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,IAC7B,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,eAAA,EAAgB;AAAA,IACvC,cAAA,EAAgB,gBAAA;AAAA,IAChB,GAAG;AAAA,GACL;AACF;AAEO,IAAM,kBAAA,GAAqB,CAChC,IAAA,MACmC;AAAA,EACnC,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,OAAA,EAAS;AAAA,IACP;AAAA,MACE,MAAA,EAAQA,MAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,CAAA;AAAA,MAC3D,cAAA,EAAgB;AAAA;AAClB,GACF;AAAA,EACA,GAAG;AACL,CAAA;ACpEO,IAAM,mBAAA,GAAsB,CACjC,IAAA,MACoC;AAAA,EACpC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,QAAA,EAAU,SAAA;AAAA,EACV,UAAU,EAAC;AAAA,EACX,GAAG;AACL,CAAA;AAEO,IAAM,iBAAA,GAAoB,CAC/B,IAAA,MACkC;AAAA,EAClC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,UAAU,EAAC;AAAA,EACX,GAAG;AACL,CAAA;AChBO,IAAM,sBAAA,GAAyB,CACpC,IAAA,MACuC;AAAA,EACvC,OAAA,EAASA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC3B,MAAA,EAAQ;AAAA,IACN,OAAO,KAAA,CAAMA,KAAAA,CAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,CAAA,EAAG,MAAMA,KAAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAAA,IAC1E,yBAAA,EAA2BA,KAAAA,CAAM,QAAA,CAAS,OAAA;AAAQ,GACpD;AAAA,EACA,GAAG;AACL,CAAA;AAEO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MACqC;AAAA,EACrC,MAAA,EAAQ;AAAA,IACN,OAAO,KAAA,CAAMA,KAAAA,CAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,CAAA,EAAG,MAAMA,KAAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAAA,IAC1E,yBAAA,EAA2BA,KAAAA,CAAM,QAAA,CAAS,OAAA;AAAQ,GACpD;AAAA,EACA,GAAG;AACL,CAAA;ACpBO,IAAM,4BAAA,GAA+B,CAC1C,IAAA,MAC8C;AAAA,EAC9C,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,UAAA,EAAYA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC9B,MAAA,EAAQ,IAAA;AAAA,EACR,GAAG;AACL,CAAA;AAEO,IAAM,wBAAA,GAA2B,CACtC,IAAA,MACyC;AAAA,EACzC,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,UAAA,EAAYA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC9B,MAAA,EAAQ,IAAA;AAAA,EACR,GAAG;AACL,CAAA;AAEO,IAAM,gCAAA,GAAmC,CAC9C,IAAA,MACkD;AAAA,EAClD,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,UAAA,EAAYA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC9B,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,mBAAA;AAAA,IACN,MAAA,EAAQ,IAAA;AAAA,IACR,QAAA,EAAU,SAAA;AAAA,IACV,MAAA,EAAQ,KAAA;AAAA,IACR,SAAA,EAAWA,KAAAA,CAAM,OAAA,CAAQ,cAAA,EAAe;AAAA,IACxC,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,GAChC;AAAA,EACA,GAAG;AACL,CAAA;AAEO,IAAM,6BAAA,GAAgC,CAC3C,IAAA,MAC+C;AAAA,EAC/C,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,UAAA,EAAYA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC9B,GAAG;AACL,CAAA;AAEO,IAAM,wBAAA,GAA2B,CACtC,IAAA,MACyC;AAAA,EACzC,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,oBAAA;AAAA,IACN,SAAA,EAAW,4CAAA;AAAA,IACX,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAI,CAAA,CAAE,QAAA,EAAS;AAAA,IAC1D,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,IACjD,QAAA,EAAU,UAAA;AAAA,IACV,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU,GAAA;AAAA,MACV,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,GAAG;AACL,CAAA;AAEO,IAAM,2BAAA,GAA8B,CACzC,IAAA,MAC0C;AAAA,EAC1C,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAC7B,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,oBAAA;AAAA,IACN,SAAA,EAAW,4CAAA;AAAA,IACX,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAI,CAAA,CAAE,QAAA,EAAS;AAAA,IAC1D,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,IACjD,QAAA,EAAU,UAAA;AAAA,IACV,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU,GAAA;AAAA,MACV,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,GAAG;AACL,CAAA;AC9EO,IAAM,yBAAyB,OAA+C;AAAA,EACnF,IAAA,EAAM,mBAAA;AAAA,EACN,QAAA,EAAU,SAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,SAAA,EAAWA,KAAAA,CAAM,OAAA,CAAQ,cAAA,EAAe;AAAA,EACxC,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAU,CAAA;AAAA,IAC9E,UAAA,EAAYA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA;AAAS;AAEzD,CAAA,CAAA;ACHA,IAAM,oBAAoB,MACxB,CAAA,MAAA,EAASA,MAAM,KAAA,CAAM,IAAA,EAAM,CAAA,EAAA,EAAKA,KAAAA,CAAM,OAAO,WAAA,CAAY,EAAE,QAAQ,EAAA,EAAI,MAAA,EAAQ,SAAS,MAAA,EAAQ,EAAA,EAAI,CAAC,CAAA,CAAA;AAEvG,IAAM,oBAAA,GAAuB,MAC3BA,KAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,CAAA;AAEvE,IAAM,sBAAA,GAAyB,MAC7BA,KAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,EAAA,EAAI,CAAA;AAEtE,IAAM,6BAA6B,OAET;AAAA,EACxB,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS;AAAA,EACvC,YAAY,oBAAA,EAAqB;AAAA,EACjC,iBAAiB,iBAAA,EAAkB;AAAA,EACnC,cAAc,sBAAA,EAAuB;AAAA,EACrC,eAAA,EAAiBA,KAAAA,CAAM,MAAA,CAAO,GAAA,EAAI;AAAA,EAClC,MAAA,EAAQA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAC7B,QAAQ,iBAAA,EAAkB;AAAA,EAC1B,WAAW,iBAAA;AACb,CAAA,CAAA;AAEO,IAAM,mBAAA,GAAsB,CAAC,MAAA,KAA0D;AAC5F,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,kBAAA;AAAA,IACL,KAAK,wBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,gBAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAW,iBAAA,EAAkB;AAAA,QAC7B,MAAA,EAAQA,KAAAA,CAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAMA,KAAAA,CAAM,KAAA,CAAM,IAAA,EAAM,CAAC;AAAA,OAC/D;AAAA,IACF,KAAK,sBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,gBAAA;AAAA,QACV,kBAAkB,0BAAA,EAA2B;AAAA,QAC7C,MAAA,EAAQA,KAAAA,CAAM,KAAA,CAAM,QAAA;AAAS,OAC/B;AAAA,IACF,KAAK,qBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,gBAAA;AAAA,QACV,kBAAkB,0BAAA,EAA2B;AAAA,QAC7C,OAAA,EAAS,QAAA;AAAA,QACT,MAAA,EAAQA,KAAAA,CAAM,KAAA,CAAM,QAAA;AAAS,OAC/B;AAAA,IACF,KAAK,0BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,gBAAA;AAAA,QACV,WAAW,iBAAA;AAAkB,OAC/B;AAAA,IACF,SAAS;AACP,MAAA,MAAM,WAAA,GAAqB,MAAA;AAC3B,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,iCAAA,EAAoC,WAAW,CAAA,CAAE,CAAA;AAAA,IACnE;AAAA;AAEJ,CAAA;AC3DO,IAAM,oBAAA,GAAuB,CAAC,MAAA,KAA4D;AAC/F,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,mBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,SAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACnD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,+BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,SAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAA,EAAa,OAAOA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,EAAA,EAAI,CAAC,CAAA,CAAA;AAAA,QAC7D,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,+BAAA;AAAA,IACL,KAAK,iCAAA;AAAA,IACL,KAAK,+BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,SAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,SAAS;AACP,MAAA,MAAM,WAAA,GAAqB,MAAA;AAC3B,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,kCAAA,EAAqC,WAAW,CAAA,CAAE,CAAA;AAAA,IACpE;AAAA;AAEJ,CAAA;AC9CO,IAAM,0BAA0B,MAA+C;AACpF,EAAA,MAAM,WAAWA,KAAAA,CAAM,MAAA,CAAO,OAAO,EAAE,GAAA,EAAK,GAAG,CAAA;AAC/C,EAAA,MAAM,WAAWA,KAAAA,CAAM,MAAA,CAAO,OAAO,EAAE,GAAA,EAAK,GAAG,CAAA;AAC/C,EAAA,MAAM,SAAS,QAAA,GAAW,QAAA;AAC1B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,IACjD,MAAA,EAAQ,OAAO,QAAA,EAAS;AAAA,IACxB,SAAA,EAAWA,KAAAA,CAAM,OAAA,CAAQ,eAAA,EAAgB;AAAA,IACzC,WAAA,EAAa;AAAA,MACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAU,CAAA;AAAA,MAC9E,QAAA,EAAU,SAAS,QAAA,EAAS;AAAA,MAC5B,QAAA,EAAU,SAAS,QAAA;AAAS;AAC9B,GACF;AACF,CAAA;AAEO,IAAM,qCACX,MAA2D;AACzD,EAAA,MAAM,WAAW,uBAAA,EAAwB;AACzC,EAAA,OAAO;AAAA,IACL,GAAG,IAAA,CAAK,QAAA,EAAU,CAAC,MAAM,CAAC,CAAA;AAAA,IAC1B,IAAA,EAAM,gCAAA;AAAA,IACN,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK;AAAA,GACrF;AACF,CAAA;AAEK,IAAM,oCACX,MAA0D;AACxD,EAAA,MAAM,WAAW,uBAAA,EAAwB;AACzC,EAAA,OAAO;AAAA,IACL,GAAG,IAAA,CAAK,QAAA,EAAU,CAAC,MAAM,CAAC,CAAA;AAAA,IAC1B,IAAA,EAAM,+BAAA;AAAA,IACN,SAAA,EAAW,EAAA;AAAA,IACX,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK;AAAA,GACrF;AACF,CAAA;ACtCK,IAAM,4BAA4B,OAAiD;AAAA,EACxF,IAAA,EAAM,qBAAA;AAAA,EACN,QAAA,EAAU,MAAA;AAAA,EACV,OAAOA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,KAAK;AAClD,CAAA,CAAA;ACFO,IAAM,qBAAA,GAAwB,CACnC,MAAA,MACyC;AAAA,EACzC,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,SAAA,EAAW,CAAA,IAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,GAAA,EAAU,GAAA,EAAK,QAAA,EAAU,CAAA,CAAE,UAAU,CAAA,CAAA;AAAA,EAC/E,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AAExE,CAAA,CAAA;AAEO,IAAM,yBAAyB,OAA+C;AAAA,EACnF,IAAA,EAAM,mBAAA;AAAA,EACN,QAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,QAAA,EAAU,CAAA,CAAE,QAAA,EAAS;AAAA,EAC9D,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AAExE,CAAA,CAAA;ACTO,IAAM,qBAAA,GAAwB,CACnC,MAAA,KACsC;AACtC,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,oBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI;AAAA,OACrD;AAAA,IACF,KAAK,wBAAA;AAAA,IACL,KAAK,2BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,IAAA,EAAM,SAAA;AAAA,QACN,OAAOA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI;AAAA,OACjD;AAAA,IACF,KAAK,oBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,OAAOA,KAAAA,CAAM,OAAA,CAAQ,aAAa,CAAC,QAAA,EAAU,OAAO,CAAU,CAAA;AAAA,QAC9D,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA;AAAS,OACnD;AAAA,IACF,KAAK,sBAAA;AAAA,IACL,KAAK,sBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA;AAAS,OACnD;AAAA,IACF,KAAK,yBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA;AAAS,OACnD;AAAA,IACF,KAAK,gCAAA;AAAA,IACL,KAAK,qBAAA;AACH,MAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,QAAA,EAAU,UAAA,EAAW;AAAA,IAC9C,KAAK,wBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,OAAOA,KAAAA,CAAM,OAAA,CAAQ,aAAa,CAAC,QAAA,EAAU,OAAO,CAAU;AAAA,OAChE;AAAA,IACF,KAAK,8BAAA;AAAA,IACL,KAAK,6BAAA;AACH,MAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,QAAA,EAAU,UAAA,EAAW;AAAA,IAC9C,SAAS;AACP,MAAA,MAAM,WAAA,GAAqB,MAAA;AAC3B,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,mCAAA,EAAsC,WAAW,CAAA,CAAE,CAAA;AAAA,IACrE;AAAA;AAEJ,CAAA;ACvEO,IAAM,wBAAwB,OAA8C;AAAA,EACjF,IAAA,EAAM,kBAAA;AAAA,EACN,QAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACnD,cAAA,EAAgBA,KAAAA,CAAM,OAAA,CAAQ,YAAA,CAAa,CAACA,KAAAA,CAAM,MAAA,CAAO,GAAA,EAAI,CAAE,QAAA,EAAS,EAAG,IAAI,CAAC,CAAA;AAAA,EAChF,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AAExE,CAAA,CAAA;ACGO,IAAM,mBAAA,GAAsB,CAAC,MAAA,KAA0D;AAC5F,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,kBAAA;AAAA,IACL,KAAK,mCAAA;AAAA,IACL,KAAK,wBAAA;AAAA,IACL,KAAK,iCAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,QAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACnD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,4BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,QAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACnD,cAAcA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACtD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,8BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,QAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,cAAcA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACtD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,oCAAA;AAAA,IACL,KAAK,yBAAA;AAAA,IACL,KAAK,4BAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,QAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,cAAcA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACtD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,yBAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,QAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,iBAAiBA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACzD,iBAAiBA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACzD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,KAAK,sCAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU,QAAA;AAAA,QACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,QACjD,WAAA,EAAa;AAAA,UACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,OACF;AAAA,IACF,SAAS;AACP,MAAA,MAAM,WAAA,GAAqB,MAAA;AAC3B,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,iCAAA,EAAoC,WAAW,CAAA,CAAE,CAAA;AAAA,IACnE;AAAA;AAEJ,CAAA;ACxFO,IAAM,yBAAyB,OAA+C;AAAA,EACnF,IAAA,EAAM,mBAAA;AAAA,EACN,QAAA,EAAU,SAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACnD,IAAA,EAAMA,KAAAA,CAAM,OAAA,CAAQ,YAAA,CAAa;AAAA,IAC/B,EAAE,IAAA,EAAM,SAAA,EAAoB,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,UAAS,EAAE;AAAA,IAC9E,EAAE,MAAM,WAAA,EAAsB,KAAA,EAAOA,MAAM,IAAA,CAAK,WAAA,CAAY,EAAE,CAAA,EAAE;AAAA,IAChE;AAAA,MACE,IAAA,EAAM,WAAA;AAAA,MACN,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,EAAA,EAAI;AAAA,KAC7E;AAAA,IACA;AAAA,MACE,IAAA,EAAM,aAAA;AAAA,MACN,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,EAAA,EAAI;AAAA,KAC7E;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AAExE,CAAA,CAAA;ACpBO,IAAM,gBAAA,GAAmB,CAAC,MAAA,KAAoD;AACnF,EAAA,MAAM,IAAA,GAAO;AAAA,IACX,QAAA,EAAU,KAAA;AAAA,IACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,IACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,IACjD,WAAA,EAAa;AAAA,MACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AACtE,GACF;AAEA,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,gBAAA;AACH,MAAA,OAAO;AAAA,QACL,GAAG,IAAA;AAAA,QACH,IAAA,EAAM,MAAA;AAAA,QACN,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI;AAAA,OACrD;AAAA,IACF,KAAK,kBAAA;AACH,MAAA,OAAO;AAAA,QACL,GAAG,IAAA;AAAA,QACH,IAAA,EAAM,MAAA;AAAA,QACN,aAAaA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,QACrD,YAAA,EAAcA,KAAAA,CAAM,QAAA,CAAS,OAAA;AAAQ,OACvC;AAAA,IACF,KAAK,eAAA;AAAA,IACL,KAAK,qBAAA;AACH,MAAA,OAAO;AAAA,QACL,GAAG,IAAA;AAAA,QACH,IAAA,EAAM,MAAA;AAAA,QACN,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI;AAAA,OACrD;AAAA,IACF,SAAS;AACP,MAAA,MAAM,WAAA,GAAqB,MAAA;AAC3B,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,8BAAA,EAAiC,WAAW,CAAA,CAAE,CAAA;AAAA,IAChE;AAAA;AAEJ,CAAA;ACpCO,IAAM,kBAAA,GAAqB,CAAC,MAAA,MAAyD;AAAA,EAC1F,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU,OAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACnD,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAU;AAAA;AAElF,CAAA,CAAA;ACTO,IAAM,iBAAA,GAAoB,CAAC,MAAA,MAAuD;AAAA,EACvF,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU,MAAA;AAAA,EACV,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQA,MAAM,MAAA,CAAO,MAAA,CAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,WAAWA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACnD,WAAA,EAAa;AAAA,IACX,IAAA,EAAMA,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAU;AAAA;AAExE,CAAA,CAAA;;;ACSO,IAAM,iBAAA,GAAoB,CAC/B,IAAA,KACyB;AACzB,EAAA,IAAI,cAAA;AACJ,EAAA,QAAQ,KAAK,IAAA;AAAM,IACjB,KAAK,mBAAA;AACH,MAAA,cAAA,GAAiB,sBAAA,EAAuB;AACxC,MAAA;AAAA,IACF,KAAK,kBAAA;AAAA,IACL,KAAK,wBAAA;AAAA,IACL,KAAK,sBAAA;AAAA,IACL,KAAK,qBAAA;AAAA,IACL,KAAK,0BAAA;AACH,MAAA,cAAA,GAAiB,mBAAA,CAAoB,KAAK,IAAI,CAAA;AAC9C,MAAA;AAAA,IACF,KAAK,mBAAA;AAAA,IACL,KAAK,+BAAA;AAAA,IACL,KAAK,iCAAA;AAAA,IACL,KAAK,+BAAA;AAAA,IACL,KAAK,+BAAA;AACH,MAAA,cAAA,GAAiB,oBAAA,CAAqB,KAAK,IAAI,CAAA;AAC/C,MAAA;AAAA,IACF,KAAK,oBAAA;AACH,MAAA,cAAA,GAAiB,uBAAA,EAAwB;AACzC,MAAA;AAAA,IACF,KAAK,gCAAA;AACH,MAAA,cAAA,GAAiB,kCAAA,EAAmC;AACpD,MAAA;AAAA,IACF,KAAK,+BAAA;AACH,MAAA,cAAA,GAAiB,iCAAA,EAAkC;AACnD,MAAA;AAAA,IACF,KAAK,qBAAA;AACH,MAAA,cAAA,GAAiB,yBAAA,EAA0B;AAC3C,MAAA;AAAA,IACF,KAAK,kBAAA;AAAA,IACL,KAAK,wBAAA;AACH,MAAA,cAAA,GAAiB,qBAAA,CAAsB,KAAK,IAAI,CAAA;AAChD,MAAA;AAAA,IACF,KAAK,mBAAA;AACH,MAAA,cAAA,GAAiB,sBAAA,EAAuB;AACxC,MAAA;AAAA,IACF,KAAK,oBAAA;AAAA,IACL,KAAK,wBAAA;AAAA,IACL,KAAK,2BAAA;AAAA,IACL,KAAK,oBAAA;AAAA,IACL,KAAK,sBAAA;AAAA,IACL,KAAK,yBAAA;AAAA,IACL,KAAK,sBAAA;AAAA,IACL,KAAK,gCAAA;AAAA,IACL,KAAK,wBAAA;AAAA,IACL,KAAK,8BAAA;AAAA,IACL,KAAK,6BAAA;AAAA,IACL,KAAK,qBAAA;AACH,MAAA,cAAA,GAAiB,qBAAA,CAAsB,KAAK,IAAI,CAAA;AAChD,MAAA;AAAA,IACF,KAAK,kBAAA;AACH,MAAA,cAAA,GAAiB,qBAAA,EAAsB;AACvC,MAAA;AAAA,IACF,KAAK,kBAAA;AAAA,IACL,KAAK,mCAAA;AAAA,IACL,KAAK,4BAAA;AAAA,IACL,KAAK,4BAAA;AAAA,IACL,KAAK,8BAAA;AAAA,IACL,KAAK,yBAAA;AAAA,IACL,KAAK,oCAAA;AAAA,IACL,KAAK,yBAAA;AAAA,IACL,KAAK,wBAAA;AAAA,IACL,KAAK,iCAAA;AAAA,IACL,KAAK,sCAAA;AACH,MAAA,cAAA,GAAiB,mBAAA,CAAoB,KAAK,IAAI,CAAA;AAC9C,MAAA;AAAA,IACF,KAAK,mBAAA;AACH,MAAA,cAAA,GAAiB,sBAAA,EAAuB;AACxC,MAAA;AAAA,IACF,KAAK,iBAAA;AAAA,IACL,KAAK,qBAAA;AAAA,IACL,KAAK,uBAAA;AACH,MAAA,cAAA,GAAiB,kBAAA,CAAmB,KAAK,IAAI,CAAA;AAC7C,MAAA;AAAA,IACF,KAAK,eAAA;AAAA,IACL,KAAK,qBAAA;AAAA,IACL,KAAK,gBAAA;AAAA,IACL,KAAK,kBAAA;AACH,MAAA,cAAA,GAAiB,gBAAA,CAAiB,KAAK,IAAI,CAAA;AAC3C,MAAA;AAAA,IACF,KAAK,gBAAA;AAAA,IACL,KAAK,sBAAA;AACH,MAAA,cAAA,GAAiB,iBAAA,CAAkB,KAAK,IAAI,CAAA;AAC5C,MAAA;AAAA,IACF;AACE,MAAA,cAAA,GAAiB,WAAA,CAAY,KAAK,IAAI,CAAA;AACtC,MAAA;AAAA;AAEJ,EAAA,OAAO,EAAE,GAAG,cAAA,EAAgB,GAAG,IAAA,EAAK;AACtC;;;AChHO,IAAM,6BAAA,GAA6D;AAAA,EACxE,YAAA,EAAc,SAAA;AAAA,EACd,WAAA,EAAa,gBAAA;AAAA,EACb,YAAA,EAAc,SAAA;AAAA,EACd,aAAA,EAAe,UAAA;AAAA,EACf,YAAA,EAAc,MAAA;AAAA,EACd,WAAA,EAAa,QAAA;AAAA,EACb,aAAA,EAAe,UAAA;AAAA,EACf,WAAA,EAAa,SAAA;AAAA,EACb,WAAA,EAAa,QAAA;AAAA,EACb,WAAA,EAAa,QAAA;AAAA,EACb,YAAA,EAAc,SAAA;AAAA,EACd,QAAA,EAAU,KAAA;AAAA,EACV,UAAA,EAAY,OAAA;AAAA,EACZ,SAAA,EAAW;AACb;AAIO,IAAM,wBAAA,GAA2B,CAA2B,IAAA,KAGH;AAC9D,EAAA,MAAM,SAAA,GAAY,IAAA,EAAM,SAAA,IAAaA,KAAAA,CAAM,OAAO,IAAA,EAAK;AACvD,EAAA,MAAM,MAAA,GAAS,IAAA,EAAM,WAAA,IAAgB,EAAE,MAAM,oBAAA,EAAqB;AAClE,EAAA,OAAO;AAAA,IACL,SAAA;AAAA,IACA,WAAA,EAAa,kBAAkB,MAAM;AAAA,GACvC;AACF;AC7BO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MACsC;AAAA,EACtC,cAAA,EAAgBA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EAClC,GAAG;AACL,CAAA;AAEO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MACsC;AAAA,EACtC,IAAA,EAAMA,KAAAA,CAAM,MAAA,CAAO,SAAA,EAAU;AAAA,EAC7B,QAAQ,SAAA,EAAU;AAAA,EAClB,IAAA,EAAM,UAAA;AAAA,EACN,OAAA,EAAS,KAAA;AAAA,EACT,GAAG;AACL,CAAA;AAEO,IAAM,0BAAA,GAA6B,CACxC,IAAA,MAC6C;AAAA,EAC7C,IAAA,EAAMA,KAAAA,CAAM,MAAA,CAAO,SAAA,EAAU;AAAA,EAC7B,GAAG;AACL,CAAA;ACxBO,IAAM,sBAAA,GAAyB,CACpC,IAAA,MACuC;AAAA,EACvC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,MAAMA,KAAAA,CAAM,OAAA,CAAQ,aAAa,CAAC,aAAA,EAAe,gBAAgB,CAAU,CAAA;AAAA,EAC3E,SAAA,EAAW;AAAA,IACT;AAAA,MACE,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,MACzB,QAAA,EAAU,SAAA;AAAA,MACV,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,cAAA,EAAe;AAAA,MACtC,iBAAiB;AAAC,KACpB;AAAA,IACA;AAAA,MACE,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,MACzB,QAAA,EAAU,UAAA;AAAA,MACV,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,eAAA,EAAgB;AAAA,MACvC,iBAAiB;AAAC;AACpB,GACF;AAAA,EACA,GAAG;AACL,CAAA;AAEO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MACqC;AAAA,EACrC,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,SAAA,EAAW;AAAA,IACT;AAAA,MACE,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,MACzB,QAAA,EAAU,SAAA;AAAA,MACV,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,cAAA,EAAe;AAAA,MACtC,iBAAiB;AAAC,KACpB;AAAA,IACA;AAAA,MACE,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,MACzB,QAAA,EAAU,UAAA;AAAA,MACV,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,eAAA,EAAgB;AAAA,MACvC,iBAAiB;AAAC;AACpB,GACF;AAAA,EACA,GAAG;AACL,CAAA;;;AC5CO,IAAM,oBAAA,GAAuB,CAClC,IAAA,MAC0C;AAAA,EAC1C,UAAA,EAAY,4BAAA;AAAA,EACZ,YAAA,EAAc,CAAC,EAAE,OAAA,EAAS,EAAC,EAAG,MAAA,EAAQ,GAAG,CAAA;AAAA,EACzC,GAAG;AACL,CAAA;;;ACgGO,IAAM,cAAA,GAAiB,CAC5B,IAAA,EACA,IAAA,KACwB;AAGxB,EAAA,QAAQ,IAAA;AAAM;AAAA,IAEZ,KAAK,eAAA;AACH,MAAA,OAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,GAAG,IAAA,EAAK;AAAA;AAAA,IAG9B,KAAK,iBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA,IAClC,KAAK,iBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA,IAClC,KAAK,wBAAA;AACH,MAAA,OAAO,2BAA2B,IAAI,CAAA;AAAA,IACxC,KAAK,aAAA;AACH,MAAA,OAAO,EAAC;AAAA;AAAA,IAGV,KAAK,qBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA;AAAA,IAGlC,KAAK,cAAA;AACH,MAAA,OAAO,mBAAmB,IAAI,CAAA;AAAA,IAChC,KAAK,YAAA;AACH,MAAA,OAAO,iBAAiB,IAAI,CAAA;AAAA,IAC9B,KAAK,cAAA;AACH,MAAA,OAAO,EAAC;AAAA;AAAA,IAGV,KAAK,gBAAA;AACH,MAAA,OAAO,oBAAoB,IAAI,CAAA;AAAA,IACjC,KAAK,cAAA;AACH,MAAA,OAAO,kBAAkB,IAAI,CAAA;AAAA,IAC/B,KAAK,gBAAA;AACH,MAAA,OAAO,EAAC;AAAA;AAAA,IAGV,KAAK,kBAAA;AACH,MAAA,OAAO,uBAAuB,IAAI,CAAA;AAAA,IACpC,KAAK,gBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA;AAAA,IAGlC,KAAK,eAAA;AACH,MAAA,OAAO,oBAAoB,IAAI,CAAA;AAAA,IACjC,KAAK,aAAA;AACH,MAAA,OAAO,kBAAkB,IAAI,CAAA;AAAA,IAC/B,KAAK,eAAA;AACH,MAAA,OAAO,EAAC;AAAA;AAAA,IAGV,KAAK,gBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA,IAClC,KAAK,cAAA;AACH,MAAA,OAAO,mBAAmB,IAAI,CAAA;AAAA,IAChC,KAAK,iBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA;AAAA,IAGlC,KAAK,oBAAA;AACH,MAAA,OAAO,yBAAyB,IAAI,CAAA;AAAA,IACtC,KAAK,cAAA;AACH,MAAA,OAAO,mBAAmB,IAAI,CAAA;AAAA,IAChC,KAAK,cAAA;AACH,MAAA,OAAO,mBAAmB,IAAI,CAAA;AAAA;AAAA,IAGhC,KAAK,kBAAA;AACH,MAAA,OAAO,uBAAuB,IAAI,CAAA;AAAA,IACpC,KAAK,gBAAA;AACH,MAAA,OAAO,qBAAqB,IAAI,CAAA;AAAA;AAAA,IAGlC,KAAK,eAAA;AACH,MAAA,OAAO,oBAAoB,IAAI,CAAA;AAAA,IACjC,KAAK,aAAA;AACH,MAAA,OAAO,kBAAkB,IAAI,CAAA;AAAA;AAAA,IAG/B,KAAK,yBAAA;AACH,MAAA,OAAO,6BAA6B,IAAI,CAAA;AAAA,IAC1C,KAAK,6BAAA;AACH,MAAA,OAAO,iCAAiC,IAAI,CAAA;AAAA,IAC9C,KAAK,0BAAA;AACH,MAAA,OAAO,8BAA8B,IAAI,CAAA;AAAA,IAC3C,KAAK,oBAAA;AACH,MAAA,OAAO,yBAAyB,IAAI,CAAA;AAAA,IACtC,KAAK,oBAAA;AACH,MAAA,OAAO,yBAAyB,IAAI,CAAA;AAAA,IACtC,KAAK,qBAAA;AACH,MAAA,OAAO,4BAA4B,IAAI,CAAA;AAAA,IAEzC;AACE,MAAA,OAAO,YAAY,IAAI,CAAA;AAAA;AAE7B;ACxLA,IAAM,aAAA,GAA+B;AAAA,EACnC,cAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,IAAA,KAAgD;AACtE,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,aAAA;AAAA,IACL,KAAK,cAAA;AACH,MAAA,OAAO,EAAE,IAAA,EAAK;AAAA,IAChB,KAAK,cAAA;AACH,MAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,YAAA,CAAa,GAAA,EAAK,OAAO,CAAA,EAAE;AAAA,IAClD,KAAK,aAAA;AAAA,IACL,KAAK,cAAA;AAAA,IACL,KAAK,eAAA;AAAA,IACL,KAAK,aAAA;AAAA,IACL,KAAK,cAAA;AAAA,IACL,KAAK,UAAA;AAAA,IACL,KAAK,YAAA;AACH,MAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAASA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,EAAA,EAAI,CAAA,EAAE;AAAA,IACpE,KAAK,eAAA;AAAA,IACL,KAAK,aAAA;AAAA,IACL,KAAK,WAAA;AACH,MAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAASA,KAAAA,CAAM,MAAA,CAAO,aAAa,EAAE,MAAA,EAAQ,EAAA,EAAI,CAAA,EAAE;AAAA,IACpE,KAAK,aAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA;AAAA,QACA,OAAA,EAAS,CAAA,IAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,GAAA,EAAU,GAAA,EAAK,QAAA,EAAU,CAAC,CAAA,CAAA;AAAA,QAClE,WAAA,EAAaA,KAAAA,CAAM,QAAA,CAAS,OAAA;AAAQ,OACtC;AAAA;AAEN,CAAA;AAEO,IAAM,kBAAA,GAAqB,CAChC,IAAA,KAIoB;AACpB,EAAA,MAAM,OAAO,IAAA,EAAM,IAAA,IAAQA,KAAAA,CAAM,OAAA,CAAQ,aAAa,aAAa,CAAA;AACnE,EAAA,MAAM,cAAA,GAAiB,MAAM,cAAA,IAAkB,SAAA;AAC/C,EAAA,MAAM,QAAA,GAAW,8BAA8B,IAAI,CAAA;AACnD,EAAA,MAAM,EAAA,GAAKA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAE7B,EAAA,MAAM,UAAA,GACJ,mBAAmB,WAAA,GACf;AAAA,IACE,IAAA,EAAM,cAAA;AAAA,IACN,cAAA,EAAgBA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,IAClC,iBAAiB;AAAC,GACpB,GACA;AAAA,IACE,IAAA,EAAM,cAAA;AAAA,IACN,QAAA,EAAUA,KAAAA,CAAM,MAAA,CAAO,IAAA;AAAK,GAC9B;AAEN,EAAA,OAAO;AAAA,IACL,EAAA;AAAA,IACA,QAAA,EAAUA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAY,CAAA;AAAA,IACtD,MAAM,aAAA,EAAc;AAAA,IACpB,QAAA;AAAA,IACA,OAAA,EAAS,QAAA;AAAA,IACT,eAAA,EAAiB,IAAA;AAAA,IACjB,eAAA,EAAiB,IAAA;AAAA,IACjB,KAAA,EAAOA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAI,CAAA;AAAA,IAC3C,cAAA,EAAgB,aAAA;AAAA,IAChB,MAAA,EAAQ,QAAA;AAAA,IACR,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,IAC3B,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,IAC3B,KAAA,EAAO,eAAe,IAAI,CAAA;AAAA,IAC1B;AAAA,GACF;AACF;AAEO,IAAM,eAAA,GAAkB,CAAC,IAAA,KAA+C;AAC7E,EAAA,MAAM,IAAA,GAAO,MAAM,IAAA,IAAQA,KAAAA,CAAM,QAAQ,YAAA,CAAa,CAAC,OAAA,EAAS,UAAU,CAAC,CAAA;AAC3E,EAAA,MAAM,UAAA,GAAa,IAAA,EAAM,UAAA,KAAe,IAAA,KAAS,sBAAsB,KAAA,GAAQ,KAAA,CAAA;AAC/E,EAAA,OAAO;AAAA,IACL,EAAA,EAAIA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,IACtB,QAAA,EAAUA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAY,CAAA;AAAA,IACtD,aAAA,EAAe,KAAA;AAAA,IACf,aAAA,EAAeA,MAAM,MAAA,CAAO,YAAA,CAAa,EAAE,MAAA,EAAQ,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAS,CAAA;AAAA,IACxE,IAAA,EAAMA,KAAAA,CAAM,MAAA,CAAO,QAAA,EAAS;AAAA,IAC5B,cAAc,UAAA,KAAe,KAAA,GAAQ,IAAA,GAAO,YAAA,CAAa,IAAI,OAAO,CAAA;AAAA,IACpE,UAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAQ,SAAA,EAAU;AAAA,IAClB,MAAA,EAAQ,QAAA;AAAA,IACR,WAAA,EAAa,KAAA;AAAA,IACb,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,IAC3B,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,IAC3B,GAAG;AAAA,GACL;AACF;AAEO,IAAM,gBAAA,GAAmB,CAAC,IAAA,MAAkD;AAAA,EACjF,EAAA,EAAIA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EACtB,QAAA,EAAUA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAY,CAAA;AAAA,EACtD,IAAA,EAAMA,KAAAA,CAAM,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,EAAA,EAAG,EAAG,CAAA;AAAA,EACrD,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,MAAA,EAAQ,QAAA;AAAA,EACR,SAAS,EAAC;AAAA,EACV,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,EAC3B,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,EAC3B,GAAG;AACL,CAAA;AAEO,IAAM,oBAAA,GAAuB,CAAC,IAAA,MAA0D;AAAA,EAC7F,EAAA,EAAIA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EACtB,QAAA,EAAUA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAY,CAAA;AAAA,EACtD,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,EACzB,IAAA,EAAM,aAAA;AAAA,EACN,MAAA,EAAQ,QAAA;AAAA,EACR,SAAA,EAAW;AAAA,IACT;AAAA,MACE,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,MACzB,QAAA,EAAU,SAAA;AAAA,MACV,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,cAAA,EAAe;AAAA,MACtC,iBAAiB;AAAC,KACpB;AAAA,IACA;AAAA,MACE,IAAA,EAAMA,KAAAA,CAAM,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA;AAAA,MACzB,QAAA,EAAU,UAAA;AAAA,MACV,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,eAAA,EAAgB;AAAA,MACvC,iBAAiB;AAAC;AACpB,GACF;AAAA,EACA,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,EAC3B,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,EAC3B,WAAA,EAAaA,KAAAA,CAAM,KAAA,CAAM,QAAA,EAAS;AAAA,EAClC,GAAG;AACL,CAAA;AAGA,IAAM,oBAAA,GAAmD;AAAA,EACvD,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,uBAAA,GAA0B,CAAmC,IAAA,KAG9C;AAC1B,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAS,GAAI,IAAA;AACjC,EAAA,MAAM,IAAA,GAAO,cAAA,CAAe,IAAA,EAAM,QAAQ,CAAA;AAC1C,EAAA,MAAM,QAAA,GAAW,qBAAqB,QAAA,CAAS,IAAI,IAAIA,KAAAA,CAAM,MAAA,CAAO,MAAK,GAAI,IAAA;AAC7E,EAAA,OAAO;AAAA,IACL,EAAA,EAAIA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,IACtB,QAAA,EAAUA,MAAM,MAAA,CAAO,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAY,CAAA;AAAA,IACtD,IAAA;AAAA,IACA,KAAA,EAAO,kBAAA;AAAA,IACP,aAAa,CAAC,EAAE,WAAW,SAAA,EAAW,MAAA,EAAQ,GAAG,CAAA;AAAA,IACjD,gBAAA,EAAkB,CAAA;AAAA,IAClB,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,MAAA,EAAO;AAAA,IAC7B,QAAA;AAAA,IACA,IAAA,EAAM,IAAA;AAAA,IACN,SAAS,EAAC;AAAA,IACV,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,IAC3B,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,IAC3B,WAAA,EAAaA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,IAC/B;AAAA,GACF;AACF;AAEO,IAAM,kBAAA,GAAqB,CAAC,IAAA,MAAsD;AAAA,EACvF,EAAA,EAAIA,KAAAA,CAAM,MAAA,CAAO,IAAA,EAAK;AAAA,EACtB,OAAA,EAASA,KAAAA,CAAM,OAAA,CAAQ,aAAA,CAAc;AAAA,IACnC,iBAAA;AAAA,IACA,2BAAA;AAAA,IACA,4BAAA;AAAA,IACA,2BAAA;AAAA,IACA,mBAAA;AAAA,IACA,kBAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,GAAA,EAAKA,KAAAA,CAAM,QAAA,CAAS,GAAA,EAAI;AAAA,EACxB,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,EAAK;AAAA,EAC3B,GAAG;AACL,CAAA;ACxNO,IAAM,uBAAA,GAA0B,CAAC,IAAA,KAGL;AAEjC,EAAA,IAAI,IAAA,CAAK,oBAAoB,IAAA,EAAM;AACjC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,QAAQ,KAAK,IAAA;AAAM,IACjB,KAAK,cAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,aAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,cAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,cAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA;AAAS;AACtC,OACF;AAAA,IACF,KAAK,eAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,eAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,UAC1C,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,UAC1C,gBAAA,EAAkBA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,UAC9C,UAAA,EAAYA,MAAM,MAAA,CAAO,KAAA,CAAM,EAAE,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG;AAAA;AACnD,OACF;AAAA,IACF,KAAK,cAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,eAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,eAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,IAAA,EAAM;AAAA,YACJ,iBAAA,EAAmB,2BAAA;AAAA,YACnB,kBAAA,EAAoB,4BAAA;AAAA,YACpB,OAAA,EAAS,CAAC,cAAc,CAAA;AAAA,YACxB,aAAA,EAAe,KAAA;AAAA,YACf,WAAA,EAAa;AAAA,WACf;AAAA,UACA,QAAA,EAAU;AAAA,YACR,IAAA,EAAMA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YAClC,QAAA,EAAUA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACtC,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACpC,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACpC,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACvC,SAAA,EAAW;AAAA,cACT,EAAE,QAAQA,KAAAA,CAAM,MAAA,CAAO,KAAI,CAAE,QAAA,EAAS,EAAG,YAAA,EAAc,qBAAA;AAAsB,aAC/E;AAAA,YACA,QAAA,EAAU;AAAA,cACR,EAAE,QAAQA,KAAAA,CAAM,MAAA,CAAO,KAAI,CAAE,QAAA,EAAS,EAAG,YAAA,EAAc,qBAAA;AAAsB,aAC/E;AAAA,YACA,cAAA,EAAgBA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YAC5C,aAAA,EAAeA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA;AAAS,WAC7C;AAAA,UACA,cAAA,EAAgB;AAAA,YACd,OAAA,EAAS,gCAAA;AAAA,YACT,SAAA,EAAWA,KAAAA,CAAM,IAAA,CAAK,IAAA,GAAO,WAAA,EAAY;AAAA,YACzC,YAAA,EAAc,KAAA;AAAA,YACd,MAAA,EAAQ,KAAA;AAAA,YACR,QAAA,EAAU;AAAA,cACR,IAAA,EAAMA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAClC,QAAA,EAAUA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cACtC,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cACpC,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cACpC,SAAA,EAAWA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cACvC,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA;AAAS,aACrC;AAAA,YACA,WAAA,EAAaA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACzC,QAAA,EAAUA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACtC,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACnC,IAAA,EAAM;AAAA;AACR;AACF,OACF;AAAA,IACF,KAAK,aAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,aAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,aAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,aAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,UACpC,OAAA,EAAS;AAAA,YACP,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACnC,KAAA,EAAOA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,YACnC,MAAA,EAAQA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA;AAAS,WACtC;AAAA,UACA,MAAA,EAAQ;AAAA,YACN;AAAA,cACE,GAAA,EAAK,kBAAA;AAAA,cACL,cAAA,EAAgB,yBAAA;AAAA,cAChB,MAAA,EAAQ,gBAAA;AAAA,cACR,eAAA,EAAiB,0BAAA;AAAA,cACjB,aAAA,EAAeA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAC3C,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAC1C,cAAA,EAAgBA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAC5C,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAC1C,YAAA,EAAcA,KAAAA,CAAM,IAAA,CAAK,IAAA,GAAO,WAAA,EAAY;AAAA,cAC5C,eAAA,EAAiBA,KAAAA,CAAM,IAAA,CAAK,IAAA,GAAO,WAAA,EAAY;AAAA,cAC/C,cAAA,EAAgBA,KAAAA,CAAM,IAAA,CAAK,IAAA,GAAO,WAAA,EAAY;AAAA,cAC9C,iBAAA,EAAmB,2BAAA;AAAA,cACnB,gBAAA,EAAkBA,KAAAA,CAAM,IAAA,CAAK,IAAA,GAAO,WAAA,EAAY;AAAA,cAChD,MAAA,EAAQ,WAAA;AAAA,cACR,iBAAA,EAAmBA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAC/C,kBAAA,EAAoBA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAChD,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,cAC1C,cAAA,EAAgB,yBAAA;AAAA,cAChB,eAAA,EAAiB,CAAC,uBAAuB;AAAA;AAC3C;AACF;AACF,OACF;AAAA,IACF,KAAK,cAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,UAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,WAAA,EAAaA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA,EAAS;AAAA,UACzC,YAAA,EAAcA,KAAAA,CAAM,MAAA,CAAO,GAAA,GAAM,QAAA;AAAS;AAC5C,OACF;AAAA,IACF,KAAK,YAAA;AACH,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,YAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,WAAA,EAAa,CAAC,EAAE,OAAA,EAASA,KAAAA,CAAM,MAAA,CAAO,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAA,EAAI,CAAA,EAAG;AAAA;AAC/D,OACF;AAAA,IACF,KAAK,WAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,aAAA;AACH,MAAA,OAAO,IAAA;AAAA;AAEb","file":"fakes.mjs","sourcesContent":["import { faker } from \"@faker-js/faker\";\n\nexport const unreachable = (value: never): never => {\n throw new Error(`Type checker should have prevented you from reaching here: ${value}`);\n};\n\nexport const genPubKey = (): string =>\n `04${faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 128 })}`;\n\nexport const genHexString = (length: number, casing: \"lower\" | \"upper\"): string =>\n faker.string.hexadecimal({ prefix: \"\", casing, length });\n\nexport const genUniqueName = (length = 20): string =>\n faker.string.alphanumeric({ length, casing: \"lower\" });\n","import { faker } from \"@faker-js/faker\";\n\nimport type { VaultRequestCreateInput } from \"@/app-lib\";\n\nimport { genHexString } from \"./utils\";\n\nexport type RequestInputDataOf<T extends VaultRequestCreateInput[\"request\"][\"type\"]> = Extract<\n VaultRequestCreateInput[\"request\"],\n { type: T }\n>[\"data\"];\n\nexport const genSignMessageInputData = (\n opts?: Partial<RequestInputDataOf<\"SIGN_MESSAGE\">>,\n): RequestInputDataOf<\"SIGN_MESSAGE\"> => ({\n message: {\n type: \"EIP191\",\n data: genHexString(10, \"upper\"),\n },\n accountId: faker.string.uuid(),\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nimport { genUniqueName } from \"../utils\";\n\nexport const genCreateAccountData = (\n opts?: Partial<RequestDataOf<\"CREATE_ACCOUNT\">>,\n): RequestDataOf<\"CREATE_ACCOUNT\"> => ({\n name: genUniqueName(),\n type: \"BITCOIN_LIKE\",\n currency: \"bitcoin\",\n contractAddress: null,\n tokenIdentifier: null,\n governance: {\n type: \"CLASSIC\",\n policy: { rules: [] },\n },\n index: 0,\n derivationPath: \"m/84'/0'/0'\",\n ...opts,\n});\n\nexport const genEditAccountData = (\n opts?: Partial<RequestDataOf<\"EDIT_ACCOUNT\">>,\n): RequestDataOf<\"EDIT_ACCOUNT\"> => ({\n name: genUniqueName(),\n governance: {\n type: \"CLASSIC\",\n policy: { rules: [] },\n },\n ...opts,\n});\n\nexport const genEditTokenRuleData = (\n opts?: Partial<RequestDataOf<\"EDIT_TOKEN_RULE\">>,\n): RequestDataOf<\"EDIT_TOKEN_RULE\"> => ({\n parentAccountId: faker.string.uuid(),\n contractAddress: faker.string.alphanumeric({ length: 44 }),\n rules: [\n {\n operationType: \"SEND\",\n reviewSteps: [{ quorum: 1, userIds: [] }],\n },\n ],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateApiKeyData = (\n opts?: Partial<RequestDataOf<\"CREATE_API_KEY\">>,\n): RequestDataOf<\"CREATE_API_KEY\"> => ({\n name: faker.company.name().slice(0, 19),\n entities: [],\n scopes: {},\n ...opts,\n});\n\nexport const genEditApiKeyData = (\n opts?: Partial<RequestDataOf<\"EDIT_API_KEY\">>,\n): RequestDataOf<\"EDIT_API_KEY\"> => ({\n name: faker.company.name().slice(0, 19),\n entities: [],\n scopes: {},\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateEntityData = (\n opts?: Partial<RequestDataOf<\"CREATE_ENTITY\">>,\n): RequestDataOf<\"CREATE_ENTITY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n accountIds: [],\n memberIds: [],\n ...opts,\n});\n\nexport const genEditEntityData = (\n opts?: Partial<RequestDataOf<\"EDIT_ENTITY\">>,\n): RequestDataOf<\"EDIT_ENTITY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n accountIds: [],\n memberIds: [],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateGroupData = (\n opts?: Partial<RequestDataOf<\"CREATE_GROUP\">>,\n): RequestDataOf<\"CREATE_GROUP\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n members: [],\n ...opts,\n});\n\nexport const genEditGroupData = (\n opts?: Partial<RequestDataOf<\"EDIT_GROUP\">>,\n): RequestDataOf<\"EDIT_GROUP\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n members: [],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { MessageType, RequestDataOf } from \"@/app-lib\";\n\nimport { genHexString } from \"../utils\";\n\nexport const genSignMessageData = (\n opts?: Partial<RequestDataOf<\"SIGN_MESSAGE\">> & { messageType?: MessageType },\n): RequestDataOf<\"SIGN_MESSAGE\"> => {\n const messageType = opts?.messageType ?? opts?.message?.type ?? \"EIP191\";\n let message: RequestDataOf<\"SIGN_MESSAGE\">[\"message\"];\n switch (messageType) {\n case \"EIP191\":\n message = {\n type: \"EIP191\",\n data: genHexString(10, \"upper\"),\n };\n break;\n case \"EIP712\":\n message = {\n type: \"EIP712\",\n data: {\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n PrimaryType: [\n { name: \"a\", type: \"int256\" },\n { name: \"b\", type: \"bool\" },\n ],\n },\n primaryType: \"PrimaryType\",\n domain: {\n name: \"Test Domain\",\n version: \"1\",\n chainId: 1,\n verifyingContract: \"0x1234567890123456789012345678901234567890\",\n },\n message: {\n a: faker.number.int({ min: 0, max: 1000 }),\n b: faker.datatype.boolean(),\n },\n },\n };\n break;\n case \"CIP8\":\n case \"BIP137\":\n throw new Error(`Unsupported message type in fakes: ${messageType}`);\n }\n return {\n message,\n accountId: faker.string.uuid(),\n address: faker.finance.ethereumAddress(),\n derivationPath: \"44'/60'/0'/0/0\",\n ...opts,\n };\n};\n\nexport const genSignDigestsData = (\n opts?: Partial<RequestDataOf<\"SIGN_DIGESTS\">>,\n): RequestDataOf<\"SIGN_DIGESTS\"> => ({\n accountId: faker.string.uuid(),\n digests: [\n {\n digest: faker.string.hexadecimal({ prefix: \"\", length: 64 }),\n derivationPath: \"m/44'/60'/0'\",\n },\n ],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreatePolicyData = (\n opts?: Partial<RequestDataOf<\"CREATE_POLICY\">>,\n): RequestDataOf<\"CREATE_POLICY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n currency: \"bitcoin\",\n govRules: [],\n ...opts,\n});\n\nexport const genEditPolicyData = (\n opts?: Partial<RequestDataOf<\"EDIT_POLICY\">>,\n): RequestDataOf<\"EDIT_POLICY\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n govRules: [],\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\nimport { times } from \"lodash-es\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateSciConfigData = (\n opts?: Partial<RequestDataOf<\"CREATE_SCICONFIG\">>,\n): RequestDataOf<\"CREATE_SCICONFIG\"> => ({\n account: faker.string.uuid(),\n config: {\n dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),\n customContractCallEnabled: faker.datatype.boolean(),\n },\n ...opts,\n});\n\nexport const genEditSciConfigData = (\n opts?: Partial<RequestDataOf<\"EDIT_SCICONFIG\">>,\n): RequestDataOf<\"EDIT_SCICONFIG\"> => ({\n config: {\n dapps: times(faker.number.int({ min: 0, max: 5 }), () => faker.word.noun()),\n customContractCallEnabled: faker.datatype.boolean(),\n },\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genTradelinkAdjustPledgeData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_ADJUST_PLEDGE\">>,\n): RequestDataOf<\"TRADELINK_ADJUST_PLEDGE\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n amount: \"42\",\n ...opts,\n});\n\nexport const genTradelinkRepledgeData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_REPLEDGE\">>,\n): RequestDataOf<\"TRADELINK_REPLEDGE\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n amount: \"42\",\n ...opts,\n});\n\nexport const genTradelinkCreateSettlementData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_CREATE_SETTLEMENT\">>,\n): RequestDataOf<\"TRADELINK_CREATE_SETTLEMENT\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n transaction: {\n type: \"BITCOIN_LIKE_SEND\",\n amount: \"42\",\n currency: \"bitcoin\",\n maxFee: \"999\",\n recipient: faker.finance.bitcoinAddress(),\n feeStrategy: { type: \"NORMAL\" },\n },\n ...opts,\n});\n\nexport const genTradelinkForceUnpledgeData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_FORCE_UNPLEDGE\">>,\n): RequestDataOf<\"TRADELINK_FORCE_UNPLEDGE\"> => ({\n accountId: faker.string.uuid(),\n exchangeId: faker.string.uuid(),\n ...opts,\n});\n\nexport const genTradelinkWithdrawData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_WITHDRAW\">>,\n): RequestDataOf<\"TRADELINK_WITHDRAW\"> => ({\n accountId: faker.string.uuid(),\n transaction: {\n type: \"ETHEREUM_LIKE_SEND\",\n recipient: \"0x63e4195AF1509490b430F3f5bCb85A82a24F5C82\",\n amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n currency: \"ethereum\",\n feeStrategy: {\n type: \"NORMAL\",\n gasPrice: \"2\",\n gasLimit: \"10\",\n },\n },\n ...opts,\n});\n\nexport const genTradelinkArbitrationData = (\n opts?: Partial<RequestDataOf<\"TRADELINK_ARBITRATE\">>,\n): RequestDataOf<\"TRADELINK_ARBITRATE\"> => ({\n accountId: faker.string.uuid(),\n transaction: {\n type: \"ETHEREUM_LIKE_SEND\",\n recipient: \"0xcefd70CFCd7a2FAa0fe956E3d496F9313297CB44\",\n amount: faker.number.bigInt({ min: 0, max: 99 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n currency: \"ethereum\",\n feeStrategy: {\n type: \"NORMAL\",\n gasPrice: \"2\",\n gasLimit: \"10\",\n },\n },\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genBitcoinLikeSendData = (): TransactionDataOf<\"BITCOIN_LIKE_SEND\"> => ({\n type: \"BITCOIN_LIKE_SEND\" as const,\n currency: \"bitcoin\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.finance.bitcoinAddress(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\", \"CUSTOM\"] as const),\n feePerByte: faker.number.bigInt({ min: 1 }).toString(),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype CantonTxType =\n | \"CANTON_LIKE_SEND\"\n | \"CANTON_LIKE_SEND_TOKEN\"\n | \"CANTON_LIKE_WITHDRAW\"\n | \"CANTON_LIKE_RECEIVE\"\n | \"CANTON_LIKE_PRE_APPROVAL\";\n\nconst fakeCantonPartyId = (): string =>\n `party-${faker.lorem.word()}::${faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 68 })}`;\n\nconst fakeCantonContractId = (): string =>\n faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 138 });\n\nconst fakeCantonInstrumentId = (): string =>\n faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 10 });\n\nconst fakeCantonTransferProposal = (): TransactionDataOf<\n \"CANTON_LIKE_WITHDRAW\" | \"CANTON_LIKE_RECEIVE\"\n>[\"transferProposal\"] => ({\n amount: faker.number.bigInt().toString(),\n contractId: fakeCantonContractId(),\n instrumentAdmin: fakeCantonPartyId(),\n instrumentId: fakeCantonInstrumentId(),\n expiresAtMicros: faker.number.int(),\n reason: faker.lorem.sentence(),\n sender: fakeCantonPartyId(),\n recipient: fakeCantonPartyId(),\n});\n\nexport const genCantonLikeTxData = (txType: CantonTxType): TransactionDataOf<CantonTxType> => {\n switch (txType) {\n case \"CANTON_LIKE_SEND\":\n case \"CANTON_LIKE_SEND_TOKEN\":\n return {\n type: txType,\n currency: \"canton_network\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n recipient: fakeCantonPartyId(),\n reason: faker.helpers.arrayElement([null, faker.lorem.word()]),\n };\n case \"CANTON_LIKE_WITHDRAW\":\n return {\n type: txType,\n currency: \"canton_network\",\n transferProposal: fakeCantonTransferProposal(),\n reason: faker.lorem.sentence(),\n };\n case \"CANTON_LIKE_RECEIVE\":\n return {\n type: txType,\n currency: \"canton_network\",\n transferProposal: fakeCantonTransferProposal(),\n verdict: \"ACCEPT\" as const,\n reason: faker.lorem.sentence(),\n };\n case \"CANTON_LIKE_PRE_APPROVAL\":\n return {\n type: txType,\n currency: \"canton_network\",\n recipient: fakeCantonPartyId(),\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown canton transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype CardanoTxType =\n | \"CARDANO_LIKE_SEND\"\n | \"CARDANO_LIKE_STAKING_REGISTER\"\n | \"CARDANO_LIKE_STAKING_DEREGISTER\"\n | \"CARDANO_LIKE_STAKING_DELEGATE\"\n | \"CARDANO_LIKE_STAKING_WITHDRAW\";\n\nexport const genCardanoLikeTxData = (txType: CardanoTxType): TransactionDataOf<CardanoTxType> => {\n switch (txType) {\n case \"CARDANO_LIKE_SEND\":\n return {\n type: txType,\n currency: \"cardano\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"CARDANO_LIKE_STAKING_DELEGATE\":\n return {\n type: txType,\n currency: \"cardano\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n stakePoolId: `pool${faker.string.alphanumeric({ length: 52 })}`,\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"CARDANO_LIKE_STAKING_REGISTER\":\n case \"CARDANO_LIKE_STAKING_DEREGISTER\":\n case \"CARDANO_LIKE_STAKING_WITHDRAW\":\n return {\n type: txType,\n currency: \"cardano\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n amount: faker.number.bigInt({ min: 0 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown cardano transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\nimport { omit } from \"lodash-es\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genEthereumLikeSendData = (): TransactionDataOf<\"ETHEREUM_LIKE_SEND\"> => {\n const gasLimit = faker.number.bigInt({ min: 1 });\n const gasPrice = faker.number.bigInt({ min: 1 });\n const maxFee = gasLimit * gasPrice;\n return {\n type: \"ETHEREUM_LIKE_SEND\" as const,\n currency: \"ethereum\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: maxFee.toString(),\n recipient: faker.finance.ethereumAddress(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\", \"CUSTOM\"] as const),\n gasLimit: gasLimit.toString(),\n gasPrice: gasPrice.toString(),\n },\n };\n};\n\nexport const genEthereumLikeExecuteContractData =\n (): TransactionDataOf<\"ETHEREUM_LIKE_EXECUTE_CONTRACT\"> => {\n const sendData = genEthereumLikeSendData();\n return {\n ...omit(sendData, [\"type\"]),\n type: \"ETHEREUM_LIKE_EXECUTE_CONTRACT\" as const,\n contractData: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 128 }),\n };\n };\n\nexport const genEthereumLikeDeployContractData =\n (): TransactionDataOf<\"ETHEREUM_LIKE_DEPLOY_CONTRACT\"> => {\n const sendData = genEthereumLikeSendData();\n return {\n ...omit(sendData, [\"type\"]),\n type: \"ETHEREUM_LIKE_DEPLOY_CONTRACT\" as const,\n recipient: \"\",\n contractData: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 128 }),\n };\n };\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genGenericTransactionData = (): TransactionDataOf<\"GENERIC_TRANSACTION\"> => ({\n type: \"GENERIC_TRANSACTION\" as const,\n currency: \"tron\",\n rawTx: faker.string.alphanumeric({ length: 100 }),\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype HederaSendTxType = \"HEDERA_LIKE_SEND\" | \"HEDERA_LIKE_SEND_TOKEN\";\n\nexport const genHederaLikeSendData = (\n txType: HederaSendTxType,\n): TransactionDataOf<HederaSendTxType> => ({\n type: txType,\n currency: \"hedera\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: `0.0.${faker.number.int({ min: 10000000, max: 99999999 }).toString()}`,\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n\nexport const genHederaLikeStakeData = (): TransactionDataOf<\"HEDERA_LIKE_STAKE\"> => ({\n type: \"HEDERA_LIKE_STAKE\" as const,\n currency: \"hedera\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n nodeId: faker.number.int({ min: 10, max: 99999999 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype PolkadotTxType =\n | \"POLKADOT_LIKE_SEND\"\n | \"POLKADOT_LIKE_ADDPROXY\"\n | \"POLKADOT_LIKE_REMOVEPROXY\"\n | \"POLKADOT_LIKE_BOND\"\n | \"POLKADOT_LIKE_REBOND\"\n | \"POLKADOT_LIKE_BONDEXTRA\"\n | \"POLKADOT_LIKE_UNBOND\"\n | \"POLKADOT_LIKE_WITHDRAWUNBONDED\"\n | \"POLKADOT_LIKE_SETPAYEE\"\n | \"POLKADOT_LIKE_ANONYMOUSPROXY\"\n | \"POLKADOT_LIKE_KILLANONYMOUS\"\n | \"POLKADOT_LIKE_CHILL\";\n\nexport const genPolkadotLikeTxData = (\n txType: PolkadotTxType,\n): TransactionDataOf<PolkadotTxType> => {\n switch (txType) {\n case \"POLKADOT_LIKE_SEND\":\n return {\n type: txType,\n currency: \"polkadot\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n };\n case \"POLKADOT_LIKE_ADDPROXY\":\n case \"POLKADOT_LIKE_REMOVEPROXY\":\n return {\n type: txType,\n currency: \"polkadot\",\n kind: \"Staking\" as const,\n proxy: faker.string.alphanumeric({ length: 30 }),\n };\n case \"POLKADOT_LIKE_BOND\":\n return {\n type: txType,\n currency: \"polkadot\",\n payee: faker.helpers.arrayElement([\"Staked\", \"Stash\"] as const),\n amount: faker.number.bigInt({ min: 0 }).toString(),\n };\n case \"POLKADOT_LIKE_REBOND\":\n case \"POLKADOT_LIKE_UNBOND\":\n return {\n type: txType,\n currency: \"polkadot\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n };\n case \"POLKADOT_LIKE_BONDEXTRA\":\n return {\n type: txType,\n currency: \"polkadot\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n };\n case \"POLKADOT_LIKE_WITHDRAWUNBONDED\":\n case \"POLKADOT_LIKE_CHILL\":\n return { type: txType, currency: \"polkadot\" };\n case \"POLKADOT_LIKE_SETPAYEE\":\n return {\n type: txType,\n currency: \"polkadot\",\n payee: faker.helpers.arrayElement([\"Staked\", \"Stash\"] as const),\n };\n case \"POLKADOT_LIKE_ANONYMOUSPROXY\":\n case \"POLKADOT_LIKE_KILLANONYMOUS\":\n return { type: txType, currency: \"polkadot\" };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown polkadot transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genRippleLikeSendData = (): TransactionDataOf<\"RIPPLE_LIKE_SEND\"> => ({\n type: \"RIPPLE_LIKE_SEND\" as const,\n currency: \"ripple\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n destinationTag: faker.helpers.arrayElement([faker.number.int().toString(), null]),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype SolanaTxType =\n | \"SOLANA_LIKE_SEND\"\n | \"SOLANA_LIKE_CREATE_DELEGATE_STAKE\"\n | \"SOLANA_LIKE_DELEGATE_STAKE\"\n | \"SOLANA_LIKE_WITHDRAW_STAKE\"\n | \"SOLANA_LIKE_DEACTIVATE_STAKE\"\n | \"SOLANA_LIKE_SPLIT_STAKE\"\n | \"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE\"\n | \"SOLANA_LIKE_MERGE_STAKE\"\n | \"SOLANA_LIKE_SEND_TOKEN\"\n | \"SOLANA_LIKE_FUND_AND_SEND_TOKEN\"\n | \"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT\";\n\nexport const genSolanaLikeTxData = (txType: SolanaTxType): TransactionDataOf<SolanaTxType> => {\n switch (txType) {\n case \"SOLANA_LIKE_SEND\":\n case \"SOLANA_LIKE_CREATE_DELEGATE_STAKE\":\n case \"SOLANA_LIKE_SEND_TOKEN\":\n case \"SOLANA_LIKE_FUND_AND_SEND_TOKEN\":\n return {\n type: txType,\n currency: \"solana\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_DELEGATE_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n stakeAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_DEACTIVATE_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n stakeAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE\":\n case \"SOLANA_LIKE_SPLIT_STAKE\":\n case \"SOLANA_LIKE_WITHDRAW_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n stakeAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_MERGE_STAKE\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n mergeSrcAccount: faker.string.alphanumeric({ length: 30 }),\n mergeDstAccount: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n case \"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT\":\n return {\n type: txType,\n currency: \"solana\",\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown solana transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\nexport const genStellarLikeSendData = (): TransactionDataOf<\"STELLAR_LIKE_SEND\"> => ({\n type: \"STELLAR_LIKE_SEND\" as const,\n currency: \"stellar\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n memo: faker.helpers.arrayElement([\n { type: \"MEMO_ID\" as const, value: faker.number.bigInt({ min: 0 }).toString() },\n { type: \"MEMO_TEXT\" as const, value: faker.word.conjunction(28) },\n {\n type: \"MEMO_HASH\" as const,\n value: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 64 }),\n },\n {\n type: \"MEMO_RETURN\" as const,\n value: faker.string.hexadecimal({ prefix: \"\", casing: \"lower\", length: 64 }),\n },\n null,\n ]),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype SuiTxType = \"SUI_LIKE_SEND\" | \"SUI_LIKE_SEND_TOKEN\" | \"SUI_LIKE_STAKE\" | \"SUI_LIKE_UNSTAKE\";\n\nexport const genSuiLikeTxData = (txType: SuiTxType): TransactionDataOf<SuiTxType> => {\n const base = {\n currency: \"sui\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n };\n\n switch (txType) {\n case \"SUI_LIKE_STAKE\":\n return {\n ...base,\n type: txType,\n validator: faker.string.alphanumeric({ length: 30 }),\n };\n case \"SUI_LIKE_UNSTAKE\":\n return {\n ...base,\n type: txType,\n stakedSuiId: faker.string.alphanumeric({ length: 30 }),\n useAllAmount: faker.datatype.boolean(),\n };\n case \"SUI_LIKE_SEND\":\n case \"SUI_LIKE_SEND_TOKEN\":\n return {\n ...base,\n type: txType,\n recipient: faker.string.alphanumeric({ length: 30 }),\n };\n default: {\n const _exhaustive: never = txType;\n throw new Error(`Unknown sui transaction type: ${_exhaustive}`);\n }\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype TezosTxType = \"TEZOS_LIKE_SEND\" | \"TEZOS_LIKE_DELEGATE\" | \"TEZOS_LIKE_UNDELEGATE\";\n\nexport const genTezosLikeTxData = (txType: TezosTxType): TransactionDataOf<TezosTxType> => ({\n type: txType,\n currency: \"tezos\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\", \"CUSTOM\"] as const),\n },\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { TransactionDataOf } from \"@/app-lib\";\n\ntype TronTxType = \"TRON_LIKE_SEND\" | \"TRON_LIKE_SEND_TOKEN\";\n\nexport const genTronLikeTxData = (txType: TronTxType): TransactionDataOf<TronTxType> => ({\n type: txType,\n currency: \"tron\",\n amount: faker.number.bigInt({ min: 0 }).toString(),\n maxFee: faker.number.bigInt({ min: 1 }).toString(),\n recipient: faker.string.alphanumeric({ length: 30 }),\n feeStrategy: {\n type: faker.helpers.arrayElement([\"SLOW\", \"NORMAL\", \"FAST\"] as const),\n },\n});\n","import type { RequestDataOf, TransactionDataOf } from \"@/app-lib\";\n\nimport { unreachable } from \"../utils\";\nimport { genBitcoinLikeSendData } from \"./bitcoin\";\nimport { genCantonLikeTxData } from \"./canton\";\nimport { genCardanoLikeTxData } from \"./cardano\";\nimport {\n genEthereumLikeDeployContractData,\n genEthereumLikeExecuteContractData,\n genEthereumLikeSendData,\n} from \"./ethereum\";\nimport { genGenericTransactionData } from \"./generic\";\nimport { genHederaLikeSendData, genHederaLikeStakeData } from \"./hedera\";\nimport { genPolkadotLikeTxData } from \"./polkadot\";\nimport { genRippleLikeSendData } from \"./ripple\";\nimport { genSolanaLikeTxData } from \"./solana\";\nimport { genStellarLikeSendData } from \"./stellar\";\nimport { genSuiLikeTxData } from \"./sui\";\nimport { genTezosLikeTxData } from \"./tezos\";\nimport { genTronLikeTxData } from \"./tron\";\n\n/** Outgoing transaction type, which is a subset of `TransactionType`. */\nexport type OutgoingTxType = RequestDataOf<\"CREATE_TRANSACTION\">[\"transaction\"][\"type\"];\n\nexport const genOutgoingTxData = <T extends OutgoingTxType>(\n opts: Partial<TransactionDataOf<T>> & { type: T },\n): TransactionDataOf<T> => {\n let txDataDefaults: TransactionDataOf<OutgoingTxType>;\n switch (opts.type) {\n case \"BITCOIN_LIKE_SEND\":\n txDataDefaults = genBitcoinLikeSendData();\n break;\n case \"CANTON_LIKE_SEND\":\n case \"CANTON_LIKE_SEND_TOKEN\":\n case \"CANTON_LIKE_WITHDRAW\":\n case \"CANTON_LIKE_RECEIVE\":\n case \"CANTON_LIKE_PRE_APPROVAL\":\n txDataDefaults = genCantonLikeTxData(opts.type);\n break;\n case \"CARDANO_LIKE_SEND\":\n case \"CARDANO_LIKE_STAKING_REGISTER\":\n case \"CARDANO_LIKE_STAKING_DEREGISTER\":\n case \"CARDANO_LIKE_STAKING_DELEGATE\":\n case \"CARDANO_LIKE_STAKING_WITHDRAW\":\n txDataDefaults = genCardanoLikeTxData(opts.type);\n break;\n case \"ETHEREUM_LIKE_SEND\":\n txDataDefaults = genEthereumLikeSendData();\n break;\n case \"ETHEREUM_LIKE_EXECUTE_CONTRACT\":\n txDataDefaults = genEthereumLikeExecuteContractData();\n break;\n case \"ETHEREUM_LIKE_DEPLOY_CONTRACT\":\n txDataDefaults = genEthereumLikeDeployContractData();\n break;\n case \"GENERIC_TRANSACTION\":\n txDataDefaults = genGenericTransactionData();\n break;\n case \"HEDERA_LIKE_SEND\":\n case \"HEDERA_LIKE_SEND_TOKEN\":\n txDataDefaults = genHederaLikeSendData(opts.type);\n break;\n case \"HEDERA_LIKE_STAKE\":\n txDataDefaults = genHederaLikeStakeData();\n break;\n case \"POLKADOT_LIKE_SEND\":\n case \"POLKADOT_LIKE_ADDPROXY\":\n case \"POLKADOT_LIKE_REMOVEPROXY\":\n case \"POLKADOT_LIKE_BOND\":\n case \"POLKADOT_LIKE_REBOND\":\n case \"POLKADOT_LIKE_BONDEXTRA\":\n case \"POLKADOT_LIKE_UNBOND\":\n case \"POLKADOT_LIKE_WITHDRAWUNBONDED\":\n case \"POLKADOT_LIKE_SETPAYEE\":\n case \"POLKADOT_LIKE_ANONYMOUSPROXY\":\n case \"POLKADOT_LIKE_KILLANONYMOUS\":\n case \"POLKADOT_LIKE_CHILL\":\n txDataDefaults = genPolkadotLikeTxData(opts.type);\n break;\n case \"RIPPLE_LIKE_SEND\":\n txDataDefaults = genRippleLikeSendData();\n break;\n case \"SOLANA_LIKE_SEND\":\n case \"SOLANA_LIKE_CREATE_DELEGATE_STAKE\":\n case \"SOLANA_LIKE_DELEGATE_STAKE\":\n case \"SOLANA_LIKE_WITHDRAW_STAKE\":\n case \"SOLANA_LIKE_DEACTIVATE_STAKE\":\n case \"SOLANA_LIKE_SPLIT_STAKE\":\n case \"SOLANA_LIKE_SPLIT_DEACTIVATE_STAKE\":\n case \"SOLANA_LIKE_MERGE_STAKE\":\n case \"SOLANA_LIKE_SEND_TOKEN\":\n case \"SOLANA_LIKE_FUND_AND_SEND_TOKEN\":\n case \"SOLANA_LIKE_CREATE_SPL_TOKEN_ACCOUNT\":\n txDataDefaults = genSolanaLikeTxData(opts.type);\n break;\n case \"STELLAR_LIKE_SEND\":\n txDataDefaults = genStellarLikeSendData();\n break;\n case \"TEZOS_LIKE_SEND\":\n case \"TEZOS_LIKE_DELEGATE\":\n case \"TEZOS_LIKE_UNDELEGATE\":\n txDataDefaults = genTezosLikeTxData(opts.type);\n break;\n case \"SUI_LIKE_SEND\":\n case \"SUI_LIKE_SEND_TOKEN\":\n case \"SUI_LIKE_STAKE\":\n case \"SUI_LIKE_UNSTAKE\":\n txDataDefaults = genSuiLikeTxData(opts.type);\n break;\n case \"TRON_LIKE_SEND\":\n case \"TRON_LIKE_SEND_TOKEN\":\n txDataDefaults = genTronLikeTxData(opts.type);\n break;\n default:\n txDataDefaults = unreachable(opts.type);\n break;\n }\n return { ...txDataDefaults, ...opts } as TransactionDataOf<T>;\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { AccountType, TransactionDataOf } from \"@/app-lib\";\n\nimport { genOutgoingTxData, type OutgoingTxType } from \"../transactions\";\n\nexport const ACCOUNT_TYPE_DEFAULT_CURRENCY: Record<AccountType, string> = {\n BITCOIN_LIKE: \"bitcoin\",\n CANTON_LIKE: \"canton_network\",\n CARDANO_LIKE: \"cardano\",\n ETHEREUM_LIKE: \"ethereum\",\n GENERIC_LIKE: \"tron\",\n HEDERA_LIKE: \"hedera\",\n POLKADOT_LIKE: \"polkadot\",\n RAW_SIGNING: \"bitcoin\",\n RIPPLE_LIKE: \"ripple\",\n SOLANA_LIKE: \"solana\",\n STELLAR_LIKE: \"stellar\",\n SUI_LIKE: \"sui\",\n TEZOS_LIKE: \"tezos\",\n TRON_LIKE: \"tron\",\n};\n\ntype OutgoingTxOptions<T extends OutgoingTxType> = Partial<TransactionDataOf<T>> & { type: T };\n\nexport const genCreateTransactionData = <T extends OutgoingTxType>(opts?: {\n accountId?: string;\n transaction?: OutgoingTxOptions<T>;\n}): { accountId: string; transaction: TransactionDataOf<T> } => {\n const accountId = opts?.accountId ?? faker.string.uuid();\n const txOpts = opts?.transaction ?? ({ type: \"ETHEREUM_LIKE_SEND\" } as OutgoingTxOptions<T>);\n return {\n accountId,\n transaction: genOutgoingTxData(txOpts),\n };\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nimport { genPubKey } from \"../utils\";\n\nexport const genCreatePsdUserData = (\n opts?: Partial<RequestDataOf<\"CREATE_PSD_USER\">>,\n): RequestDataOf<\"CREATE_PSD_USER\"> => ({\n registrationId: faker.string.uuid(),\n ...opts,\n});\n\nexport const genCreateApiUserData = (\n opts?: Partial<RequestDataOf<\"CREATE_API_USER\">>,\n): RequestDataOf<\"CREATE_API_USER\"> => ({\n name: faker.person.firstName(),\n pubKey: genPubKey(),\n role: \"OPERATOR\",\n viewAll: false,\n ...opts,\n});\n\nexport const genCreateApiUserAccessData = (\n opts?: Partial<RequestDataOf<\"CREATE_API_USER_ACCESS\">>,\n): RequestDataOf<\"CREATE_API_USER_ACCESS\"> => ({\n name: faker.person.firstName(),\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { RequestDataOf } from \"@/app-lib\";\n\nexport const genCreateWhitelistData = (\n opts?: Partial<RequestDataOf<\"CREATE_WHITELIST\">>,\n): RequestDataOf<\"CREATE_WHITELIST\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n type: faker.helpers.arrayElement([\"TRANSACTION\", \"SMART_CONTRACT\"] as const),\n addresses: [\n {\n name: faker.lorem.words(3),\n currency: \"bitcoin\",\n address: faker.finance.bitcoinAddress(),\n destinationTags: [],\n },\n {\n name: faker.lorem.words(3),\n currency: \"ethereum\",\n address: faker.finance.ethereumAddress(),\n destinationTags: [],\n },\n ],\n ...opts,\n});\n\nexport const genEditWhitelistData = (\n opts?: Partial<RequestDataOf<\"EDIT_WHITELIST\">>,\n): RequestDataOf<\"EDIT_WHITELIST\"> => ({\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n addresses: [\n {\n name: faker.lorem.words(3),\n currency: \"bitcoin\",\n address: faker.finance.bitcoinAddress(),\n destinationTags: [],\n },\n {\n name: faker.lorem.words(3),\n currency: \"ethereum\",\n address: faker.finance.ethereumAddress(),\n destinationTags: [],\n },\n ],\n ...opts,\n});\n","import type { RequestDataOf } from \"@/app-lib\";\n\nexport const genWorkspaceRuleData = (\n opts?: Partial<RequestDataOf<\"EDIT_WORKSPACE_RULE\">>,\n): RequestDataOf<\"EDIT_WORKSPACE_RULE\"> => ({\n permission: \"CREATE_ACCOUNT_WITH_POLICY\",\n reviewConfig: [{ userIds: [], quorum: 2 }],\n ...opts,\n});\n","import type { RequestDataOf } from \"@/app-lib\";\n\nimport { unreachable } from \"../utils\";\nimport { genCreateAccountData, genEditAccountData, genEditTokenRuleData } from \"./account\";\nimport { genCreateApiKeyData, genEditApiKeyData } from \"./api-key\";\nimport { genCreateEntityData, genEditEntityData } from \"./entity\";\nimport { genCreateGroupData, genEditGroupData } from \"./group\";\nimport { genSignDigestsData, genSignMessageData } from \"./message-signature\";\nimport { genCreatePolicyData, genEditPolicyData } from \"./policy\";\nimport { genCreateSciConfigData, genEditSciConfigData } from \"./sciconfig\";\nimport {\n genTradelinkAdjustPledgeData,\n genTradelinkArbitrationData,\n genTradelinkCreateSettlementData,\n genTradelinkForceUnpledgeData,\n genTradelinkRepledgeData,\n genTradelinkWithdrawData,\n} from \"./tradelink\";\nimport { genCreateTransactionData } from \"./transaction\";\nimport { genCreateApiUserAccessData, genCreateApiUserData, genCreatePsdUserData } from \"./user\";\nimport { genCreateWhitelistData, genEditWhitelistData } from \"./whitelist\";\nimport { genWorkspaceRuleData } from \"./workspace-rule\";\n\nexport { ACCOUNT_TYPE_DEFAULT_CURRENCY } from \"./transaction\";\n// Re-export all per-domain generators\nexport {\n genCreateAccountData,\n genCreateApiKeyData,\n genCreateApiUserAccessData,\n genCreateApiUserData,\n genCreateEntityData,\n genCreateGroupData,\n genCreatePolicyData,\n genCreatePsdUserData,\n genCreateSciConfigData,\n genCreateTransactionData,\n genCreateWhitelistData,\n genEditAccountData,\n genEditApiKeyData,\n genEditEntityData,\n genEditGroupData,\n genEditPolicyData,\n genEditSciConfigData,\n genEditTokenRuleData,\n genEditWhitelistData,\n genSignDigestsData,\n genSignMessageData,\n genTradelinkAdjustPledgeData,\n genTradelinkArbitrationData,\n genTradelinkCreateSettlementData,\n genTradelinkForceUnpledgeData,\n genTradelinkRepledgeData,\n genTradelinkWithdrawData,\n genWorkspaceRuleData,\n};\n\nexport type RequestDataTypes = {\n // Workspace...\n UPDATE_QUORUM: RequestDataOf<\"UPDATE_QUORUM\">;\n // User...\n CREATE_PSD_USER: RequestDataOf<\"CREATE_PSD_USER\">;\n CREATE_API_USER: RequestDataOf<\"CREATE_API_USER\">;\n CREATE_API_USER_ACCESS: RequestDataOf<\"CREATE_API_USER_ACCESS\">;\n REVOKE_USER: Record<string, never>;\n // Admin gov rule...\n EDIT_WORKSPACE_RULE: RequestDataOf<\"EDIT_WORKSPACE_RULE\">;\n // Group...\n CREATE_GROUP: RequestDataOf<\"CREATE_GROUP\">;\n EDIT_GROUP: RequestDataOf<\"EDIT_GROUP\">;\n REVOKE_GROUP: Record<string, never>;\n // API key...\n CREATE_API_KEY: RequestDataOf<\"CREATE_API_KEY\">;\n EDIT_API_KEY: RequestDataOf<\"EDIT_API_KEY\">;\n REVOKE_API_KEY: Record<string, never>;\n // Whitelist...\n CREATE_WHITELIST: RequestDataOf<\"CREATE_WHITELIST\">;\n EDIT_WHITELIST: RequestDataOf<\"EDIT_WHITELIST\">;\n // Entity...\n CREATE_ENTITY: RequestDataOf<\"CREATE_ENTITY\">;\n EDIT_ENTITY: RequestDataOf<\"EDIT_ENTITY\">;\n REVOKE_ENTITY: Record<string, never>;\n // Account...\n CREATE_ACCOUNT: RequestDataOf<\"CREATE_ACCOUNT\">;\n EDIT_ACCOUNT: RequestDataOf<\"EDIT_ACCOUNT\">;\n EDIT_TOKEN_RULE: RequestDataOf<\"EDIT_TOKEN_RULE\">;\n // Operator requests...\n CREATE_TRANSACTION: RequestDataOf<\"CREATE_TRANSACTION\">;\n SIGN_MESSAGE: RequestDataOf<\"SIGN_MESSAGE\">;\n SIGN_DIGESTS: RequestDataOf<\"SIGN_DIGESTS\">;\n // SCI config ...\n CREATE_SCICONFIG: RequestDataOf<\"CREATE_SCICONFIG\">;\n EDIT_SCICONFIG: RequestDataOf<\"EDIT_SCICONFIG\">;\n // Policy\n CREATE_POLICY: RequestDataOf<\"CREATE_POLICY\">;\n EDIT_POLICY: RequestDataOf<\"EDIT_POLICY\">;\n // Tradelink...\n TRADELINK_ADJUST_PLEDGE: RequestDataOf<\"TRADELINK_ADJUST_PLEDGE\">;\n TRADELINK_REPLEDGE: RequestDataOf<\"TRADELINK_REPLEDGE\">;\n TRADELINK_CREATE_SETTLEMENT: RequestDataOf<\"TRADELINK_CREATE_SETTLEMENT\">;\n TRADELINK_FORCE_UNPLEDGE: RequestDataOf<\"TRADELINK_FORCE_UNPLEDGE\">;\n TRADELINK_WITHDRAW: RequestDataOf<\"TRADELINK_WITHDRAW\">;\n TRADELINK_ARBITRATE: RequestDataOf<\"TRADELINK_ARBITRATE\">;\n};\n\nexport const genRequestData = <T extends keyof RequestDataTypes>(\n type: T,\n opts?: Partial<RequestDataTypes[T]>,\n): RequestDataTypes[T] => {\n type R = RequestDataTypes[T];\n\n switch (type) {\n // Workspace...\n case \"UPDATE_QUORUM\":\n return { quorum: 3, ...opts } as R;\n\n // User...\n case \"CREATE_PSD_USER\":\n return genCreatePsdUserData(opts) as R;\n case \"CREATE_API_USER\":\n return genCreateApiUserData(opts) as R;\n case \"CREATE_API_USER_ACCESS\":\n return genCreateApiUserAccessData(opts) as R;\n case \"REVOKE_USER\":\n return {} as R;\n\n // Admin gov rule...\n case \"EDIT_WORKSPACE_RULE\":\n return genWorkspaceRuleData(opts) as R;\n\n // Group...\n case \"CREATE_GROUP\":\n return genCreateGroupData(opts) as R;\n case \"EDIT_GROUP\":\n return genEditGroupData(opts) as R;\n case \"REVOKE_GROUP\":\n return {} as R;\n\n // ApiKey...\n case \"CREATE_API_KEY\":\n return genCreateApiKeyData(opts) as R;\n case \"EDIT_API_KEY\":\n return genEditApiKeyData(opts) as R;\n case \"REVOKE_API_KEY\":\n return {} as R;\n\n // Whitelist...\n case \"CREATE_WHITELIST\":\n return genCreateWhitelistData(opts) as R;\n case \"EDIT_WHITELIST\":\n return genEditWhitelistData(opts) as R;\n\n // Entity...\n case \"CREATE_ENTITY\":\n return genCreateEntityData(opts) as R;\n case \"EDIT_ENTITY\":\n return genEditEntityData(opts) as R;\n case \"REVOKE_ENTITY\":\n return {} as R;\n\n // Account...\n case \"CREATE_ACCOUNT\":\n return genCreateAccountData(opts) as R;\n case \"EDIT_ACCOUNT\":\n return genEditAccountData(opts) as R;\n case \"EDIT_TOKEN_RULE\":\n return genEditTokenRuleData(opts) as R;\n\n // Operator requests...\n case \"CREATE_TRANSACTION\":\n return genCreateTransactionData(opts) as R;\n case \"SIGN_MESSAGE\":\n return genSignMessageData(opts) as R;\n case \"SIGN_DIGESTS\":\n return genSignDigestsData(opts) as R;\n\n // SCI config...\n case \"CREATE_SCICONFIG\":\n return genCreateSciConfigData(opts) as R;\n case \"EDIT_SCICONFIG\":\n return genEditSciConfigData(opts) as R;\n\n // Policy\n case \"CREATE_POLICY\":\n return genCreatePolicyData(opts) as R;\n case \"EDIT_POLICY\":\n return genEditPolicyData(opts) as R;\n\n // Tradelink...\n case \"TRADELINK_ADJUST_PLEDGE\":\n return genTradelinkAdjustPledgeData(opts) as R;\n case \"TRADELINK_CREATE_SETTLEMENT\":\n return genTradelinkCreateSettlementData(opts) as R;\n case \"TRADELINK_FORCE_UNPLEDGE\":\n return genTradelinkForceUnpledgeData(opts) as R;\n case \"TRADELINK_WITHDRAW\":\n return genTradelinkWithdrawData(opts) as R;\n case \"TRADELINK_REPLEDGE\":\n return genTradelinkRepledgeData(opts) as R;\n case \"TRADELINK_ARBITRATE\":\n return genTradelinkArbitrationData(opts) as R;\n\n default:\n return unreachable(type);\n }\n};\n","import { faker } from \"@faker-js/faker\";\n\nimport type {\n AccountResponse,\n AccountType,\n GroupResponse,\n UserResponse,\n VaultRequestResponse,\n WebhookResponse,\n WhitelistResponse,\n} from \"@/app-lib\";\n\nimport {\n ACCOUNT_TYPE_DEFAULT_CURRENCY,\n genRequestData,\n type RequestDataTypes,\n} from \"./request-data\";\nimport { genHexString, genPubKey, genUniqueName } from \"./utils\";\n\n// All AccountType values as a typed array (string literals, no Prisma import).\nconst ACCOUNT_TYPES: AccountType[] = [\n \"BITCOIN_LIKE\",\n \"CANTON_LIKE\",\n \"CARDANO_LIKE\",\n \"ETHEREUM_LIKE\",\n \"GENERIC_LIKE\",\n \"HEDERA_LIKE\",\n \"POLKADOT_LIKE\",\n \"RAW_SIGNING\",\n \"RIPPLE_LIKE\",\n \"SOLANA_LIKE\",\n \"STELLAR_LIKE\",\n \"SUI_LIKE\",\n \"TEZOS_LIKE\",\n \"TRON_LIKE\",\n];\n\nconst genAssetFields = (type: AccountType): AccountResponse[\"asset\"] => {\n switch (type) {\n case \"RAW_SIGNING\":\n case \"GENERIC_LIKE\":\n return { type };\n case \"BITCOIN_LIKE\":\n return { type, xpub: genHexString(120, \"lower\") };\n case \"CANTON_LIKE\":\n case \"CARDANO_LIKE\":\n case \"POLKADOT_LIKE\":\n case \"RIPPLE_LIKE\":\n case \"STELLAR_LIKE\":\n case \"SUI_LIKE\":\n case \"TEZOS_LIKE\":\n return { type, address: faker.string.alphanumeric({ length: 34 }) };\n case \"ETHEREUM_LIKE\":\n case \"SOLANA_LIKE\":\n case \"TRON_LIKE\":\n return { type, address: faker.string.alphanumeric({ length: 42 }) };\n case \"HEDERA_LIKE\":\n return {\n type,\n address: `0.0.${faker.number.int({ min: 10000000, max: 99999999 })}`,\n isActivated: faker.datatype.boolean(),\n };\n }\n};\n\nexport const genAccountResponse = (\n opts?: Partial<{\n type: AccountType;\n governanceType: \"CLASSIC\" | \"RAW_SIGNING\" | \"TRADELINK\";\n }>,\n): AccountResponse => {\n const type = opts?.type ?? faker.helpers.arrayElement(ACCOUNT_TYPES);\n const governanceType = opts?.governanceType ?? \"CLASSIC\";\n const currency = ACCOUNT_TYPE_DEFAULT_CURRENCY[type];\n const id = faker.string.uuid();\n\n const governance =\n governanceType === \"TRADELINK\"\n ? {\n type: governanceType,\n assetManagerId: faker.string.uuid(),\n exchangeConfigs: [],\n }\n : {\n type: governanceType,\n policyId: faker.string.uuid(),\n };\n\n return {\n id,\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n name: genUniqueName(),\n currency,\n network: currency,\n contractAddress: null,\n tokenIdentifier: null,\n index: faker.number.int({ min: 0, max: 10 }),\n derivationPath: \"m/44'/0'/0'\",\n status: \"ACTIVE\" as const,\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n asset: genAssetFields(type),\n governance,\n };\n};\n\nexport const genUserResponse = (opts?: Partial<UserResponse>): UserResponse => {\n const role = opts?.role ?? faker.helpers.arrayElement([\"ADMIN\", \"OPERATOR\"]);\n const deviceType = opts?.deviceType ?? (role === \"READ_ONLY_API_KEY\" ? \"API\" : \"PSD\");\n return {\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n legacyViewAll: false,\n workspaceName: faker.string.alphanumeric({ length: 16, casing: \"lower\" }),\n name: faker.person.fullName(),\n deviceUserId: deviceType === \"API\" ? null : genHexString(16, \"lower\"),\n deviceType,\n role,\n pubKey: genPubKey(),\n status: \"ACTIVE\" as const,\n isSuspended: false,\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n ...opts,\n };\n};\n\nexport const genGroupResponse = (opts?: Partial<GroupResponse>): GroupResponse => ({\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n name: faker.word.noun({ length: { min: 5, max: 19 } }),\n description: faker.lorem.sentence(),\n status: \"ACTIVE\" as const,\n members: [],\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n ...opts,\n});\n\nexport const genWhitelistResponse = (opts?: Partial<WhitelistResponse>): WhitelistResponse => ({\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n name: faker.lorem.words(3),\n type: \"TRANSACTION\",\n status: \"ACTIVE\" as const,\n addresses: [\n {\n name: faker.lorem.words(3),\n currency: \"bitcoin\",\n address: faker.finance.bitcoinAddress(),\n destinationTags: [],\n },\n {\n name: faker.lorem.words(3),\n currency: \"ethereum\",\n address: faker.finance.ethereumAddress(),\n destinationTags: [],\n },\n ],\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n description: faker.lorem.sentence(),\n ...opts,\n});\n\n/** Request types that have a `targetId` field */\nconst TYPES_WITH_TARGET_ID: (keyof RequestDataTypes)[] = [\n \"EDIT_ACCOUNT\",\n \"EDIT_TOKEN_RULE\",\n \"EDIT_GROUP\",\n \"REVOKE_GROUP\",\n \"EDIT_WHITELIST\",\n \"EDIT_ENTITY\",\n \"REVOKE_ENTITY\",\n \"REVOKE_USER\",\n \"EDIT_POLICY\",\n \"REVOKE_API_KEY\",\n];\n\nexport const genVaultRequestResponse = <T extends keyof RequestDataTypes>(opts: {\n type: T;\n data?: Partial<RequestDataTypes[T]>;\n}): VaultRequestResponse => {\n const { type, data: dataOpts } = opts;\n const data = genRequestData(type, dataOpts);\n const targetId = TYPES_WITH_TARGET_ID.includes(type) ? faker.string.uuid() : null;\n return {\n id: faker.string.uuid(),\n legacyId: faker.number.int({ min: 1, max: 2000000000 }),\n type,\n state: \"PENDING_APPROVAL\" as const,\n reviewSteps: [{ stageName: \"default\", quorum: 2 }],\n currentStepIndex: 0,\n expiresAt: faker.date.future(),\n targetId,\n note: null,\n reviews: [],\n createdAt: faker.date.past(),\n updatedAt: faker.date.past(),\n createdById: faker.string.uuid(),\n data,\n } as VaultRequestResponse;\n};\n\nexport const genWebhookResponse = (opts?: Partial<WebhookResponse>): WebhookResponse => ({\n id: faker.string.uuid(),\n actions: faker.helpers.arrayElements([\n \"REQUEST_CREATED\",\n \"REQUEST_RECEIVED_APPROVAL\",\n \"REQUEST_RECEIVED_REJECTION\",\n \"REQUEST_ACTIVATED_REVIEWS\",\n \"REQUEST_EXECUTING\",\n \"REQUEST_EXECUTED\",\n \"REQUEST_ABORTED\",\n \"REQUEST_FAILED\",\n \"REQUEST_EXPIRED\",\n ]),\n url: faker.internet.url(),\n createdAt: faker.date.past(),\n ...opts,\n});\n","import { faker } from \"@faker-js/faker\";\n\nimport type { AccountStakingFields, AccountType } from \"@/app-lib\";\n\nexport const genAccountStakingFields = (opts: {\n type: AccountType;\n contractAddress: string | null;\n}): AccountStakingFields | null => {\n // No staking for token account\n if (opts.contractAddress !== null) {\n return null;\n }\n\n switch (opts.type) {\n case \"BITCOIN_LIKE\":\n return null;\n case \"CANTON_LIKE\":\n return null;\n case \"CARDANO_LIKE\":\n return {\n type: \"CARDANO_LIKE\",\n staking: {\n staked: faker.number.int().toString(),\n },\n };\n case \"ETHEREUM_LIKE\":\n return {\n type: \"ETHEREUM_LIKE\",\n staking: {\n totalStaking: faker.number.int().toString(),\n totalRewards: faker.number.int().toString(),\n availableRewards: faker.number.int().toString(),\n networkApy: faker.number.float({ min: 0, max: 1 }),\n },\n };\n case \"GENERIC_LIKE\":\n return null;\n case \"POLKADOT_LIKE\":\n return {\n type: \"POLKADOT_LIKE\",\n staking: {\n info: {\n controllerAddress: \"<fake-controller-address>\",\n rewardsDestination: \"<fake-rewards-destination>\",\n proxies: [\"<fake-proxy>\"],\n legacyStaking: false,\n isNominator: false,\n },\n balances: {\n free: faker.number.int().toString(),\n reserved: faker.number.int().toString(),\n frozen: faker.number.int().toString(),\n bonded: faker.number.int().toString(),\n available: faker.number.int().toString(),\n unbonding: [\n { amount: faker.number.int().toString(), waiting_time: \"<fake-waiting-time>\" },\n ],\n unbonded: [\n { amount: faker.number.int().toString(), waiting_time: \"<fake-waiting-time>\" },\n ],\n totalUnbonding: faker.number.int().toString(),\n totalUnbonded: faker.number.int().toString(),\n },\n anonymousProxy: {\n address: \"<fake-anonymous-proxy-address>\",\n createdAt: faker.date.past().toISOString(),\n isController: false,\n isMain: false,\n balances: {\n free: faker.number.int().toString(),\n reserved: faker.number.int().toString(),\n frozen: faker.number.int().toString(),\n bonded: faker.number.int().toString(),\n available: faker.number.int().toString(),\n total: faker.number.int().toString(),\n },\n blockHeight: faker.number.int().toString(),\n extIndex: faker.number.int().toString(),\n index: faker.number.int().toString(),\n kind: \"<fake-kind>\",\n },\n },\n };\n case \"RAW_SIGNING\":\n return null;\n case \"RIPPLE_LIKE\":\n return null;\n case \"SOLANA_LIKE\":\n return {\n type: \"SOLANA_LIKE\",\n staking: {\n staked: faker.number.int().toString(),\n rewards: {\n total: faker.number.int().toString(),\n last7: faker.number.int().toString(),\n last30: faker.number.int().toString(),\n },\n stakes: [\n {\n uid: \"<fake-stake-uid>\",\n baseAccountUid: \"<fake-base-account-uid>\",\n pubKey: \"<fake-pub-key>\",\n validatorPubKey: \"<fake-validator-pub-key>\",\n initialAmount: faker.number.int().toString(),\n activeAmount: faker.number.int().toString(),\n inactiveAmount: faker.number.int().toString(),\n totalBalance: faker.number.int().toString(),\n creationDate: faker.date.past().toISOString(),\n activationEpoch: faker.date.past().toISOString(),\n activationDate: faker.date.past().toISOString(),\n deactivationEpoch: \"<fake-deactivation-epoch>\",\n deactivationDate: faker.date.past().toISOString(),\n status: \"activated\",\n rentExemptReserve: faker.number.int().toString(),\n withdrawableAmount: faker.number.int().toString(),\n totalRewards: faker.number.int().toString(),\n creationTxHash: \"<fake-creation-tx-hash>\",\n actionsTxHashes: [\"<fake-action-tx-hash>\"],\n },\n ],\n },\n };\n case \"STELLAR_LIKE\":\n return null;\n case \"SUI_LIKE\":\n return {\n type: \"SUI_LIKE\",\n staking: {\n totalStaked: faker.number.int().toString(),\n totalRewards: faker.number.int().toString(),\n },\n };\n case \"TEZOS_LIKE\":\n return {\n type: \"TEZOS_LIKE\",\n staking: {\n delegations: [{ address: faker.string.alpha({ length: 10 }) }],\n },\n };\n case \"TRON_LIKE\":\n return null;\n case \"HEDERA_LIKE\":\n return null;\n }\n};\n"]}
package/lib/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { CreateWebhookPayload, DeleteWebhookResponse, WebhookResponse, WebhooksResponse, zCreateWebhookPayload, zDeleteWebhookResponse, zWebhookResponse } from '@ledgerhq/revault-notifier-types/webhook';
2
2
  import * as z from 'zod';
3
3
  import z__default, { z as z$1 } from 'zod';
4
- import { T as TxHandler, U as User, E as ExtendedPrismaClient, a as UserTask } from './app-types-B0n5TLSm.mjs';
5
- export { A as AccountFreshAddress, b as AccountLiveDataResponse, c as AccountResponse, d as AccountSortBy, e as AccountStakingFields, f as AccountType, g as ActivationStatus, h as AdminPermission, i as AdminResponse, j as AllowedAction, k as ApproveVaultRequestInput, C as ChallengeResponse, l as ChallengeType, m as ClaimedRole, n as EnsureNameAvailableInput, o as EstimatedFees, G as GroupResponse, p as GroupSortBy, M as MessageType, N as NetworkFamily, O as OnboardedUserRole, q as OnboardingStep, P as PsdModel, R as RequestDataOf, r as RequestReviewStatus, s as RequestSortBy, t as RequestState, u as RequestType, v as ResourceType, w as RevaultMode, x as ReviewConfigType, S as SendOnlyTransactionData, y as StakingDataOf, z as TransactionData, B as TransactionDataOf, D as TransactionResponse, F as TransactionType, H as TransactionTypeOf, I as UserDeviceType, J as UserResponse, K as UserRole, L as UserSortBy, V as VaultRequestCreateInput, Q as VaultRequestResponse, W as WhitelistResponse, X as WhitelistSortBy, Y as WhitelistType, Z as convertTxToGovernableIntent, _ as genTransactionSchemas, $ as getTxHsmProps, a0 as zAccountFreshAddress, a1 as zAccountLiveData, a2 as zAccountLiveDataResponse, a3 as zAccountResponse, a4 as zAccountSortBy, a5 as zAccountStakingFields, a6 as zAdminResponse, a7 as zApproveVaultRequestInput, a8 as zBalance, a9 as zChallengeResponse, aa as zCommonLiveData, ab as zEnsureNameAvailableInput, ac as zEstimateFeesResponse, ac as zEstimatedFees, ad as zGovernableAction, ae as zGroupResponse, af as zGroupSortBy, ag as zNetworkAssetFields, ah as zRequestSortBy, ai as zRequestTaskResponse, aj as zSendOnlyTransactionData, ak as zStake, al as zStakeSortBy, am as zStakingValidator, an as zStakingValidatorSortBy, ao as zTransactionData, ap as zTransactionResponse, aq as zTransactionType, ar as zUserResponse, as as zUserSortBy, at as zVaultRequestCreateInput, au as zVaultRequestResponse, av as zWhitelistAddressResponse, aw as zWhitelistResponse, ax as zWhitelistSortBy } from './app-types-B0n5TLSm.mjs';
4
+ import { T as TxHandler, U as User, E as ExtendedPrismaClient, A as AssetResponse, a as UserTask } from './app-types-hrtp6-Ec.mjs';
5
+ export { b as AccountFreshAddress, c as AccountLiveDataResponse, d as AccountResponse, e as AccountSortBy, f as AccountStakingFields, g as AccountType, h as ActivationStatus, i as AdminPermission, j as AdminResponse, k as AllowedAction, l as ApproveVaultRequestInput, C as ChallengeResponse, m as ChallengeType, n as ClaimedRole, o as CurrencyResponse, p as EnsureNameAvailableInput, q as EstimatedFees, G as GroupResponse, r as GroupSortBy, M as MessageType, N as NetworkFamily, O as OnboardedUserRole, s as OnboardingStep, P as PsdModel, R as RequestDataOf, t as RequestReviewStatus, u as RequestSortBy, v as RequestState, w as RequestType, x as ResourceType, y as RevaultMode, z as ReviewConfigType, S as SendOnlyTransactionData, B as StakingDataOf, D as TokenResponse, F as TransactionData, H as TransactionDataOf, I as TransactionResponse, J as TransactionType, K as TransactionTypeOf, L as UserDeviceType, Q as UserResponse, V as UserRole, W as UserSortBy, X as VaultRequestCreateInput, Y as VaultRequestResponse, Z as WhitelistResponse, _ as WhitelistSortBy, $ as WhitelistType, a0 as convertTxToGovernableIntent, a1 as genTransactionSchemas, a2 as getTxHsmProps, a3 as zAccountFreshAddress, a4 as zAccountLiveData, a5 as zAccountLiveDataResponse, a6 as zAccountResponse, a7 as zAccountSortBy, a8 as zAccountStakingFields, a9 as zAdminResponse, aa as zApproveVaultRequestInput, ab as zAssetCapabilitiesResponse, ac as zAssetResponse, ad as zBalance, ae as zChallengeResponse, af as zCommonLiveData, ag as zCurrencyResponse, ah as zEnsureNameAvailableInput, ai as zEstimateFeesResponse, ai as zEstimatedFees, aj as zGovernableAction, ak as zGroupResponse, al as zGroupSortBy, am as zNetworkAssetFields, an as zRequestSortBy, ao as zRequestTaskResponse, ap as zSendOnlyTransactionData, aq as zStake, ar as zStakeSortBy, as as zStakingValidator, at as zStakingValidatorSortBy, au as zTokenResponse, av as zTransactionData, aw as zTransactionResponse, ax as zTransactionType, ay as zUserResponse, az as zUserSortBy, aA as zVaultRequestCreateInput, aB as zVaultRequestResponse, aC as zWhitelistAddressResponse, aD as zWhitelistResponse, aE as zWhitelistSortBy } from './app-types-hrtp6-Ec.mjs';
6
6
  import * as _trpc_server from '@trpc/server';
7
7
  import * as trpc_to_openapi from 'trpc-to-openapi';
8
8
  import * as socket_io from 'socket.io';
@@ -3196,6 +3196,65 @@ declare const zCantonTransferProposalResponse: z__default.ZodObject<{
3196
3196
  recipient: z__default.ZodString;
3197
3197
  }, z__default.core.$strip>;
3198
3198
 
3199
+ declare const DEFAULT_PAGE_SIZE = 30;
3200
+ declare const zSortOrder: z__default.ZodDefault<z__default.ZodEnum<{
3201
+ asc: "asc";
3202
+ desc: "desc";
3203
+ }>>;
3204
+ type SortOrder = z__default.infer<typeof zSortOrder>;
3205
+ declare const zPaginated: <T extends z__default.ZodType>(schema: T) => z__default.ZodObject<{
3206
+ page: z__default.ZodNumber;
3207
+ next: z__default.ZodNullable<z__default.ZodNumber>;
3208
+ prev: z__default.ZodNullable<z__default.ZodNumber>;
3209
+ pageSize: z__default.ZodNumber;
3210
+ total: z__default.ZodNumber;
3211
+ results: z__default.ZodArray<T>;
3212
+ }>;
3213
+ type Paginated<T> = z__default.infer<ReturnType<typeof zPaginated<z.ZodType<T>>>>;
3214
+ declare const zCursorPaginated: <T extends z__default.ZodType>(schema: T) => z__default.ZodObject<{
3215
+ next: z__default.ZodNullable<z__default.ZodString>;
3216
+ results: z__default.ZodArray<T>;
3217
+ }>;
3218
+ type CursorPaginated<T> = z__default.infer<ReturnType<typeof zCursorPaginated<z.ZodType<T>>>>;
3219
+ declare const zCursorQuery: z__default.ZodObject<{
3220
+ cursor: z__default.ZodOptional<z__default.ZodString>;
3221
+ }, z__default.core.$strip>;
3222
+ declare const zPageQuery: z__default.ZodObject<{
3223
+ page: z__default.ZodDefault<z__default.ZodOptional<z__default.ZodNumber>>;
3224
+ pageSize: z__default.ZodDefault<z__default.ZodOptional<z__default.ZodNumber>>;
3225
+ }, z__default.core.$strip>;
3226
+ type PageQuery = z__default.infer<typeof zPageQuery>;
3227
+ type FindManyAndCountWithTakeAndSkip<T> = (opts: {
3228
+ take: number;
3229
+ skip: number;
3230
+ }) => Promise<[T[], number]>;
3231
+ /**
3232
+ * Returns paginated results
3233
+ */
3234
+ declare const paginate: <T>(find: FindManyAndCountWithTakeAndSkip<T>, input: PageQuery) => Promise<Paginated<T>>;
3235
+ type Ordering<T> = {
3236
+ [field in keyof T]?: SortOrder;
3237
+ };
3238
+ /**
3239
+ * Return a stable ordering for prisma model `T`.
3240
+ *
3241
+ * When querying objects ordered by a given field (e.g. `createdAt`), if multiple objects have the
3242
+ * same value in that field, the ordering of those objects are not guaranteed to be stable across
3243
+ * different queries. This could be a problem for pagination if they fall into the page boundary:
3244
+ * Some object may appear in two pages while some other object may never appear. By appending the
3245
+ * unique `id` field as a secondary ordering, we make the query results deterministic.
3246
+ */
3247
+ declare const stableOrdering: <T extends {
3248
+ id: string | number;
3249
+ }>(orderBy: Ordering<T> | Ordering<T>[]) => Ordering<T> | Ordering<T>[];
3250
+ declare const serializePage: <T, U>(input: Paginated<T>, serialize: (obj: T) => Promise<U> | U) => Promise<Paginated<U>>;
3251
+ declare const emptyPage: <T>(paginationQuery: {
3252
+ page: number;
3253
+ pageSize: number;
3254
+ }) => Paginated<T>;
3255
+ declare const fetchAllPages: <T>(fetchPage: (page: number) => Promise<Paginated<T>>) => Promise<T[]>;
3256
+ declare const fetchAllCursorPages: <T>(fetchPage: (cursor: string | null) => Promise<CursorPaginated<T>>) => Promise<T[]>;
3257
+
3199
3258
  type RateLimitRouteMetricsConfig = {
3200
3259
  category: string;
3201
3260
  noTrace?: boolean;
@@ -7793,6 +7852,7 @@ declare const appRouter: _trpc_server.TRPCBuiltRouter<{
7793
7852
  id: string;
7794
7853
  legacyId: number;
7795
7854
  name: string;
7855
+ type: "TRANSACTION" | "SMART_CONTRACT";
7796
7856
  status: "ACTIVE" | "INACTIVE";
7797
7857
  addresses: {
7798
7858
  name: string;
@@ -7834,6 +7894,7 @@ declare const appRouter: _trpc_server.TRPCBuiltRouter<{
7834
7894
  id: string;
7835
7895
  legacyId: number;
7836
7896
  name: string;
7897
+ type: "TRANSACTION" | "SMART_CONTRACT";
7837
7898
  status: "ACTIVE" | "INACTIVE";
7838
7899
  addresses: {
7839
7900
  name: string;
@@ -7947,6 +8008,7 @@ declare const appRouter: _trpc_server.TRPCBuiltRouter<{
7947
8008
  id: string;
7948
8009
  legacyId: number;
7949
8010
  name: string;
8011
+ type: "TRANSACTION" | "SMART_CONTRACT";
7950
8012
  status: "ACTIVE" | "INACTIVE";
7951
8013
  addresses: {
7952
8014
  name: string;
@@ -8039,6 +8101,7 @@ declare const appRouter: _trpc_server.TRPCBuiltRouter<{
8039
8101
  id: string;
8040
8102
  legacyId: number;
8041
8103
  name: string;
8104
+ type: "TRANSACTION" | "SMART_CONTRACT";
8042
8105
  status: "ACTIVE" | "INACTIVE";
8043
8106
  addresses: {
8044
8107
  name: string;
@@ -36714,101 +36777,6 @@ declare const appRouter: _trpc_server.TRPCBuiltRouter<{
36714
36777
  }>>;
36715
36778
  type AppRouter = typeof appRouter;
36716
36779
 
36717
- declare const zAssetResponse: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
36718
- id: z__default.ZodString;
36719
- name: z__default.ZodString;
36720
- ticker: z__default.ZodString;
36721
- family: z__default.ZodString;
36722
- units: z__default.ZodArray<z__default.ZodObject<{
36723
- code: z__default.ZodString;
36724
- name: z__default.ZodString;
36725
- magnitude: z__default.ZodNumber;
36726
- }, z__default.core.$strip>>;
36727
- network: z__default.ZodString;
36728
- assetType: z__default.ZodLiteral<"NATIVE">;
36729
- }, z__default.core.$strip>, z__default.ZodObject<{
36730
- id: z__default.ZodString;
36731
- name: z__default.ZodString;
36732
- ticker: z__default.ZodString;
36733
- family: z__default.ZodString;
36734
- units: z__default.ZodArray<z__default.ZodObject<{
36735
- code: z__default.ZodString;
36736
- name: z__default.ZodString;
36737
- magnitude: z__default.ZodNumber;
36738
- }, z__default.core.$strip>>;
36739
- network: z__default.ZodString;
36740
- assetType: z__default.ZodLiteral<"TOKEN">;
36741
- contractAddress: z__default.ZodString;
36742
- tokenIdentifier: z__default.ZodNullable<z__default.ZodString>;
36743
- metaCurrencyId: z__default.ZodNullable<z__default.ZodString>;
36744
- }, z__default.core.$strip>], "assetType">;
36745
- type AssetResponse = z__default.infer<typeof zAssetResponse>;
36746
- declare const zAssetCapabilitiesResponse: z__default.ZodObject<{
36747
- SEND: z__default.ZodBoolean;
36748
- STAKE: z__default.ZodBoolean;
36749
- EXECUTE_CONTRACT: z__default.ZodBoolean;
36750
- SIGN_MESSAGE: z__default.ZodBoolean;
36751
- DEPLOY_CONTRACT: z__default.ZodBoolean;
36752
- ACTIVATE_TOKEN: z__default.ZodBoolean;
36753
- RECEIVE: z__default.ZodBoolean;
36754
- }, z__default.core.$strip>;
36755
- declare const zCurrencyResponse: z__default.ZodObject<{
36756
- id: z__default.ZodString;
36757
- name: z__default.ZodString;
36758
- ticker: z__default.ZodString;
36759
- type: z__default.ZodEnum<{
36760
- readonly BITCOIN_LIKE: "BITCOIN_LIKE";
36761
- readonly CANTON_LIKE: "CANTON_LIKE";
36762
- readonly CARDANO_LIKE: "CARDANO_LIKE";
36763
- readonly ETHEREUM_LIKE: "ETHEREUM_LIKE";
36764
- readonly GENERIC_LIKE: "GENERIC_LIKE";
36765
- readonly HEDERA_LIKE: "HEDERA_LIKE";
36766
- readonly POLKADOT_LIKE: "POLKADOT_LIKE";
36767
- readonly RAW_SIGNING: "RAW_SIGNING";
36768
- readonly RIPPLE_LIKE: "RIPPLE_LIKE";
36769
- readonly SOLANA_LIKE: "SOLANA_LIKE";
36770
- readonly STELLAR_LIKE: "STELLAR_LIKE";
36771
- readonly SUI_LIKE: "SUI_LIKE";
36772
- readonly TEZOS_LIKE: "TEZOS_LIKE";
36773
- readonly TRON_LIKE: "TRON_LIKE";
36774
- }>;
36775
- units: z__default.ZodArray<z__default.ZodObject<{
36776
- code: z__default.ZodString;
36777
- name: z__default.ZodString;
36778
- magnitude: z__default.ZodNumber;
36779
- }, z__default.core.$strip>>;
36780
- }, z__default.core.$strip>;
36781
- type CurrencyResponse = z__default.infer<typeof zCurrencyResponse>;
36782
- declare const zTokenResponse: z__default.ZodObject<{
36783
- id: z__default.ZodString;
36784
- name: z__default.ZodString;
36785
- ticker: z__default.ZodString;
36786
- type: z__default.ZodEnum<{
36787
- readonly BITCOIN_LIKE: "BITCOIN_LIKE";
36788
- readonly CANTON_LIKE: "CANTON_LIKE";
36789
- readonly CARDANO_LIKE: "CARDANO_LIKE";
36790
- readonly ETHEREUM_LIKE: "ETHEREUM_LIKE";
36791
- readonly GENERIC_LIKE: "GENERIC_LIKE";
36792
- readonly HEDERA_LIKE: "HEDERA_LIKE";
36793
- readonly POLKADOT_LIKE: "POLKADOT_LIKE";
36794
- readonly RAW_SIGNING: "RAW_SIGNING";
36795
- readonly RIPPLE_LIKE: "RIPPLE_LIKE";
36796
- readonly SOLANA_LIKE: "SOLANA_LIKE";
36797
- readonly STELLAR_LIKE: "STELLAR_LIKE";
36798
- readonly SUI_LIKE: "SUI_LIKE";
36799
- readonly TEZOS_LIKE: "TEZOS_LIKE";
36800
- readonly TRON_LIKE: "TRON_LIKE";
36801
- }>;
36802
- units: z__default.ZodArray<z__default.ZodObject<{
36803
- code: z__default.ZodString;
36804
- name: z__default.ZodString;
36805
- magnitude: z__default.ZodNumber;
36806
- }, z__default.core.$strip>>;
36807
- contractAddress: z__default.ZodString;
36808
- currency: z__default.ZodString;
36809
- }, z__default.core.$strip>;
36810
- type TokenResponse = z__default.infer<typeof zTokenResponse>;
36811
-
36812
36780
  declare const zAuthResponse: z$1.ZodObject<{
36813
36781
  accessToken: z$1.ZodString;
36814
36782
  expiresInSeconds: z$1.ZodNumber;
@@ -37291,6 +37259,10 @@ declare const zPolicyResponse: z$1.ZodObject<{
37291
37259
  id: z$1.ZodString;
37292
37260
  legacyId: z$1.ZodNumber;
37293
37261
  name: z$1.ZodString;
37262
+ type: z$1.ZodEnum<{
37263
+ readonly TRANSACTION: "TRANSACTION";
37264
+ readonly SMART_CONTRACT: "SMART_CONTRACT";
37265
+ }>;
37294
37266
  status: z$1.ZodEnum<{
37295
37267
  readonly ACTIVE: "ACTIVE";
37296
37268
  readonly INACTIVE: "INACTIVE";
@@ -37833,63 +37805,4 @@ declare const zWorkspaceResponse: z__default.ZodObject<{
37833
37805
  }, z__default.core.$strip>;
37834
37806
  type WorkspaceResponse = z__default.infer<typeof zWorkspaceResponse>;
37835
37807
 
37836
- declare const DEFAULT_PAGE_SIZE = 30;
37837
- declare const zSortOrder: z__default.ZodDefault<z__default.ZodEnum<{
37838
- asc: "asc";
37839
- desc: "desc";
37840
- }>>;
37841
- type SortOrder = z__default.infer<typeof zSortOrder>;
37842
- declare const zPaginated: <T extends z__default.ZodType>(schema: T) => z__default.ZodObject<{
37843
- page: z__default.ZodNumber;
37844
- next: z__default.ZodNullable<z__default.ZodNumber>;
37845
- prev: z__default.ZodNullable<z__default.ZodNumber>;
37846
- pageSize: z__default.ZodNumber;
37847
- total: z__default.ZodNumber;
37848
- results: z__default.ZodArray<T>;
37849
- }>;
37850
- type Paginated<T> = z__default.infer<ReturnType<typeof zPaginated<z.ZodType<T>>>>;
37851
- declare const zCursorPaginated: <T extends z__default.ZodType>(schema: T) => z__default.ZodObject<{
37852
- next: z__default.ZodNullable<z__default.ZodString>;
37853
- results: z__default.ZodArray<T>;
37854
- }>;
37855
- type CursorPaginated<T> = z__default.infer<ReturnType<typeof zCursorPaginated<z.ZodType<T>>>>;
37856
- declare const zCursorQuery: z__default.ZodObject<{
37857
- cursor: z__default.ZodOptional<z__default.ZodString>;
37858
- }, z__default.core.$strip>;
37859
- declare const zPageQuery: z__default.ZodObject<{
37860
- page: z__default.ZodDefault<z__default.ZodOptional<z__default.ZodNumber>>;
37861
- pageSize: z__default.ZodDefault<z__default.ZodOptional<z__default.ZodNumber>>;
37862
- }, z__default.core.$strip>;
37863
- type PageQuery = z__default.infer<typeof zPageQuery>;
37864
- type FindManyAndCountWithTakeAndSkip<T> = (opts: {
37865
- take: number;
37866
- skip: number;
37867
- }) => Promise<[T[], number]>;
37868
- /**
37869
- * Returns paginated results
37870
- */
37871
- declare const paginate: <T>(find: FindManyAndCountWithTakeAndSkip<T>, input: PageQuery) => Promise<Paginated<T>>;
37872
- type Ordering<T> = {
37873
- [field in keyof T]?: SortOrder;
37874
- };
37875
- /**
37876
- * Return a stable ordering for prisma model `T`.
37877
- *
37878
- * When querying objects ordered by a given field (e.g. `createdAt`), if multiple objects have the
37879
- * same value in that field, the ordering of those objects are not guaranteed to be stable across
37880
- * different queries. This could be a problem for pagination if they fall into the page boundary:
37881
- * Some object may appear in two pages while some other object may never appear. By appending the
37882
- * unique `id` field as a secondary ordering, we make the query results deterministic.
37883
- */
37884
- declare const stableOrdering: <T extends {
37885
- id: string | number;
37886
- }>(orderBy: Ordering<T> | Ordering<T>[]) => Ordering<T> | Ordering<T>[];
37887
- declare const serializePage: <T, U>(input: Paginated<T>, serialize: (obj: T) => Promise<U> | U) => Promise<Paginated<U>>;
37888
- declare const emptyPage: <T>(paginationQuery: {
37889
- page: number;
37890
- pageSize: number;
37891
- }) => Paginated<T>;
37892
- declare const fetchAllPages: <T>(fetchPage: (page: number) => Promise<Paginated<T>>) => Promise<T[]>;
37893
- declare const fetchAllCursorPages: <T>(fetchPage: (cursor: string | null) => Promise<CursorPaginated<T>>) => Promise<T[]>;
37894
-
37895
- export { type AllowedActionsResponse, type AllowedResourcesResponse, type ApiChallenge, type AppRouter, type AssetResponse, type AuthResponse, BITCOIN_SPEC, CANTON_SPEC, CARDANO_SPEC, type CantonTransferProposal, type Challenge, type CreateTradelinkOrgEntityInput as CreateTradelinkExchangeInput, type CurrencyResponse, type CursorPaginated, DEFAULT_PAGE_SIZE, type DeleteTradelinkExchangeInput, type DeviceClaim, ETHEREUM_SPEC, type EnsureNameAvailableOutput, type EntityResponse, type EntitySortBy, GENERIC_SPEC, HEDERA_SPEC, type HsmCertificate, type OidcConfig, type OnboardingFullState as OnboardingFullStateResponse, type OnboardingOpts, type OnboardingSeedChallenge, type OnboardingSeedFragment, POLKADOT_SPEC, type Paginated, type PledgeResponse, type PolicyResponse, type PolicySortBy, type PsdAuthChallengeData as PsdAuthChallengeResponse, type PsdChallenge, type PsdPairingData, type PsdPairingInputData, type PsdSignature, type PubKey, RIPPLE_SPEC, type ReviewStepWithUsers, type RootWorkspaceRuleResponse, SOLANA_SPEC, STELLAR_SPEC, SUI_SPEC, type SoftChallenge, type SortOrder, TEZOS_SPEC, TRON_SPEC, type TokenResponse, type TradelinkCustodianResponse, type TradelinkEntityResponse, type TradelinkNetworkBlueprintResponse, type TradelinkNetworkResponse, type TradelinkOrgEntityResponse, type TradelinkSettlementWithAccountAndExchangeInfoResponse, type TransactionWithMetaResponse, type UserRegistrationChallenge, type UserRegistrationChallengeResponse, type UserRegistrationCreateInput, type UserRegistrationDeviceData, type UserRegistrationResponse, type UserTaskResponse, type WorkspaceResponse, type WorkspaceRuleResponse, type WorkspaceRulesResponse, type WrappingKeyFragmentInput, type WrappingKeyProvisioningEphemeralPubKey, type WrappingKeyResponse, emptyPage, fetchAllCursorPages, fetchAllPages, isErc20Address, paginate, serializePage, serializeUserTask, stableOrdering, zAllowedActionsResponse, zAllowedResourcesResponse, zApiUserCredentialsResponse, zAssetCapabilitiesResponse, zAssetResponse, zAuthResponse, zCantonPreApprovalStateResponse, zCantonTransferProposal, zCantonTransferProposalResponse, zCreateTradelinkNetworkBlueprintInput, zCreateTradelinkOrgEntityInput, zCurrencyResponse, zCursorPaginated, zCursorQuery, zDeleteTradelinkOrgEntityInput, zDeviceClaim, zEnsureNameAvailableOutput, zEntityResponse, zEntitySortBy, zExchangeCredentialsResponse, zExportRequestsToCsvInput, zOidcConfig, zOnboardingFullState as zOnboardingFullStateResponse, zOnboardingId, zOnboardingOpts, zOnboardingSeedFragment, zPageQuery, zPaginated, zPledgeResponse, zPolicyResponse, zPolicySortBy, zPsdAuthChallengeData as zPsdAuthChallengeResponse, zPsdPairingData, zPsdPairingInputData, zPsdSignature, zPubKey, zReviewStepsArray, zRootWorkspaceRuleResponse, zSignedMessageResponse, zSortOrder, zTokenResponse, zTradelinkCustodianResponse, zTradelinkEntityResponse, zTradelinkNetworkBlueprintResponse, zTradelinkNetworkResponse, zTradelinkOrgEntityResponse, zTradelinkSettlementWithAccountAndExchangeInfoResponse, zTradelinkWhitelist, zTransactionWithMetaResponse, zUserRegistrationChallenge, zUserRegistrationChallengeResponse, zUserRegistrationCreateInput, zUserRegistrationDeviceData, zUserRegistrationResponse, zUserTaskResponse, zWorkspaceResponse, zWorkspaceRuleResponse, zWorkspaceRulesResponse, zWrappingKeyFragmentInput };
37808
+ export { type AllowedActionsResponse, type AllowedResourcesResponse, type ApiChallenge, type AppRouter, AssetResponse, type AuthResponse, BITCOIN_SPEC, CANTON_SPEC, CARDANO_SPEC, type CantonTransferProposal, type Challenge, type CreateTradelinkOrgEntityInput as CreateTradelinkExchangeInput, type CursorPaginated, DEFAULT_PAGE_SIZE, type DeleteTradelinkExchangeInput, type DeviceClaim, ETHEREUM_SPEC, type EnsureNameAvailableOutput, type EntityResponse, type EntitySortBy, GENERIC_SPEC, HEDERA_SPEC, type HsmCertificate, type OidcConfig, type OnboardingFullState as OnboardingFullStateResponse, type OnboardingOpts, type OnboardingSeedChallenge, type OnboardingSeedFragment, POLKADOT_SPEC, type Paginated, type PledgeResponse, type PolicyResponse, type PolicySortBy, type PsdAuthChallengeData as PsdAuthChallengeResponse, type PsdChallenge, type PsdPairingData, type PsdPairingInputData, type PsdSignature, type PubKey, RIPPLE_SPEC, type ReviewStepWithUsers, type RootWorkspaceRuleResponse, SOLANA_SPEC, STELLAR_SPEC, SUI_SPEC, type SoftChallenge, type SortOrder, TEZOS_SPEC, TRON_SPEC, type TradelinkCustodianResponse, type TradelinkEntityResponse, type TradelinkNetworkBlueprintResponse, type TradelinkNetworkResponse, type TradelinkOrgEntityResponse, type TradelinkSettlementWithAccountAndExchangeInfoResponse, type TransactionWithMetaResponse, type UserRegistrationChallenge, type UserRegistrationChallengeResponse, type UserRegistrationCreateInput, type UserRegistrationDeviceData, type UserRegistrationResponse, type UserTaskResponse, type WorkspaceResponse, type WorkspaceRuleResponse, type WorkspaceRulesResponse, type WrappingKeyFragmentInput, type WrappingKeyProvisioningEphemeralPubKey, type WrappingKeyResponse, emptyPage, fetchAllCursorPages, fetchAllPages, isErc20Address, paginate, serializePage, serializeUserTask, stableOrdering, zAllowedActionsResponse, zAllowedResourcesResponse, zApiUserCredentialsResponse, zAuthResponse, zCantonPreApprovalStateResponse, zCantonTransferProposal, zCantonTransferProposalResponse, zCreateTradelinkNetworkBlueprintInput, zCreateTradelinkOrgEntityInput, zCursorPaginated, zCursorQuery, zDeleteTradelinkOrgEntityInput, zDeviceClaim, zEnsureNameAvailableOutput, zEntityResponse, zEntitySortBy, zExchangeCredentialsResponse, zExportRequestsToCsvInput, zOidcConfig, zOnboardingFullState as zOnboardingFullStateResponse, zOnboardingId, zOnboardingOpts, zOnboardingSeedFragment, zPageQuery, zPaginated, zPledgeResponse, zPolicyResponse, zPolicySortBy, zPsdAuthChallengeData as zPsdAuthChallengeResponse, zPsdPairingData, zPsdPairingInputData, zPsdSignature, zPubKey, zReviewStepsArray, zRootWorkspaceRuleResponse, zSignedMessageResponse, zSortOrder, zTradelinkCustodianResponse, zTradelinkEntityResponse, zTradelinkNetworkBlueprintResponse, zTradelinkNetworkResponse, zTradelinkOrgEntityResponse, zTradelinkSettlementWithAccountAndExchangeInfoResponse, zTradelinkWhitelist, zTransactionWithMetaResponse, zUserRegistrationChallenge, zUserRegistrationChallengeResponse, zUserRegistrationCreateInput, zUserRegistrationDeviceData, zUserRegistrationResponse, zUserTaskResponse, zWorkspaceResponse, zWorkspaceRuleResponse, zWorkspaceRulesResponse, zWrappingKeyFragmentInput };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/revault-api",
3
- "version": "1.55.0",
3
+ "version": "1.55.1",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "files": [
@@ -21,11 +21,11 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@faker-js/faker": "^9.9.0",
24
- "fastify": "^5.7.4",
24
+ "fastify": "^5.8.4",
25
25
  "invariant": "^2.2.4",
26
26
  "socket.io": "^4.8.3",
27
- "@trpc/server": "11.8.0",
28
- "trpc-to-openapi": "^3.1.0",
27
+ "@trpc/server": "11.16.0",
28
+ "trpc-to-openapi": "^3.2.0",
29
29
  "zod": "^4.3.6"
30
30
  }
31
31
  }