@ledgerhq/revault-api 1.55.1 → 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/fakes.mjs.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\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"]}
1
+ {"version":3,"file":"fakes.mjs","names":[],"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"],"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"],"mappings":"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"}