dop-wallet-v6 1.3.2 → 1.3.31

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.
Files changed (118) hide show
  1. package/.eslintrc.js +5 -0
  2. package/dist/services/dop/crypto/react-native-crypto-provider.js +4 -2
  3. package/dist/services/dop/crypto/react-native-crypto-provider.js.map +1 -1
  4. package/dist/services/dop/wallets/wallets.js +12 -17
  5. package/dist/services/dop/wallets/wallets.js.map +1 -1
  6. package/package.json +6 -1
  7. package/dist/__tests__/index.test.d.ts +0 -1
  8. package/dist/__tests__/index.test.js +0 -13
  9. package/dist/__tests__/index.test.js.map +0 -1
  10. package/dist/services/artifacts/__tests__/artifact-downloader.test.d.ts +0 -1
  11. package/dist/services/artifacts/__tests__/artifact-downloader.test.js +0 -70
  12. package/dist/services/artifacts/__tests__/artifact-downloader.test.js.map +0 -1
  13. package/dist/services/dop/__tests__/integration.test.d.ts +0 -1
  14. package/dist/services/dop/__tests__/integration.test.js +0 -378
  15. package/dist/services/dop/__tests__/integration.test.js.map +0 -1
  16. package/dist/services/dop/core/__tests__/engine.test.d.ts +0 -1
  17. package/dist/services/dop/core/__tests__/engine.test.js +0 -30
  18. package/dist/services/dop/core/__tests__/engine.test.js.map +0 -1
  19. package/dist/services/dop/core/__tests__/providers.test.d.ts +0 -1
  20. package/dist/services/dop/core/__tests__/providers.test.js +0 -69
  21. package/dist/services/dop/core/__tests__/providers.test.js.map +0 -1
  22. package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.d.ts +0 -1
  23. package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js +0 -168
  24. package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js.map +0 -1
  25. package/dist/services/dop/history/__tests__/transaction-history.test.d.ts +0 -0
  26. package/dist/services/dop/history/__tests__/transaction-history.test.js +0 -2
  27. package/dist/services/dop/history/__tests__/transaction-history.test.js.map +0 -1
  28. package/dist/services/dop/profile/__tests__/profile-manager.test.d.ts +0 -1
  29. package/dist/services/dop/profile/__tests__/profile-manager.test.js +0 -170
  30. package/dist/services/dop/profile/__tests__/profile-manager.test.js.map +0 -1
  31. package/dist/services/dop/profile/__tests__/selective-transparency.test.d.ts +0 -1
  32. package/dist/services/dop/profile/__tests__/selective-transparency.test.js +0 -256
  33. package/dist/services/dop/profile/__tests__/selective-transparency.test.js.map +0 -1
  34. package/dist/services/dop/profile/__tests__/storage.test.d.ts +0 -1
  35. package/dist/services/dop/profile/__tests__/storage.test.js +0 -174
  36. package/dist/services/dop/profile/__tests__/storage.test.js.map +0 -1
  37. package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.d.ts +0 -1
  38. package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.js +0 -126
  39. package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.js.map +0 -1
  40. package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.d.ts +0 -1
  41. package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.js +0 -63
  42. package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.js.map +0 -1
  43. package/dist/services/dop/util/__tests__/bytes-util.test.d.ts +0 -1
  44. package/dist/services/dop/util/__tests__/bytes-util.test.js +0 -23
  45. package/dist/services/dop/util/__tests__/bytes-util.test.js.map +0 -1
  46. package/dist/services/dop/util/__tests__/crypto-util.test.d.ts +0 -1
  47. package/dist/services/dop/util/__tests__/crypto-util.test.js +0 -62
  48. package/dist/services/dop/util/__tests__/crypto-util.test.js.map +0 -1
  49. package/dist/services/dop/wallets/__tests__/balances-live.test.d.ts +0 -1
  50. package/dist/services/dop/wallets/__tests__/balances-live.test.js +0 -58
  51. package/dist/services/dop/wallets/__tests__/balances-live.test.js.map +0 -1
  52. package/dist/services/dop/wallets/__tests__/balances-update.test.d.ts +0 -1
  53. package/dist/services/dop/wallets/__tests__/balances-update.test.js +0 -90
  54. package/dist/services/dop/wallets/__tests__/balances-update.test.js.map +0 -1
  55. package/dist/services/dop/wallets/__tests__/balances.test.d.ts +0 -1
  56. package/dist/services/dop/wallets/__tests__/balances.test.js +0 -59
  57. package/dist/services/dop/wallets/__tests__/balances.test.js.map +0 -1
  58. package/dist/services/dop/wallets/__tests__/wallets.test.d.ts +0 -1
  59. package/dist/services/dop/wallets/__tests__/wallets.test.js +0 -80
  60. package/dist/services/dop/wallets/__tests__/wallets.test.js.map +0 -1
  61. package/dist/services/ethers/__tests__/ethers-util.test.d.ts +0 -1
  62. package/dist/services/ethers/__tests__/ethers-util.test.js +0 -19
  63. package/dist/services/ethers/__tests__/ethers-util.test.js.map +0 -1
  64. package/dist/services/transactions/__tests__/json/formatted-relay-adapt-error-logs.json +0 -216
  65. package/dist/services/transactions/__tests__/proof-cache.test.d.ts +0 -1
  66. package/dist/services/transactions/__tests__/proof-cache.test.js +0 -128
  67. package/dist/services/transactions/__tests__/proof-cache.test.js.map +0 -1
  68. package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.d.ts +0 -1
  69. package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.js +0 -385
  70. package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.js.map +0 -1
  71. package/dist/services/transactions/__tests__/tx-decrypt.test.d.ts +0 -0
  72. package/dist/services/transactions/__tests__/tx-decrypt.test.js +0 -2
  73. package/dist/services/transactions/__tests__/tx-decrypt.test.js.map +0 -1
  74. package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.d.ts +0 -1
  75. package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js +0 -101
  76. package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js.map +0 -1
  77. package/dist/services/transactions/__tests__/tx-encrypt.test.d.ts +0 -0
  78. package/dist/services/transactions/__tests__/tx-encrypt.test.js +0 -2
  79. package/dist/services/transactions/__tests__/tx-encrypt.test.js.map +0 -1
  80. package/dist/services/transactions/__tests__/tx-gas-details.test.d.ts +0 -1
  81. package/dist/services/transactions/__tests__/tx-gas-details.test.js +0 -112
  82. package/dist/services/transactions/__tests__/tx-gas-details.test.js.map +0 -1
  83. package/dist/services/transactions/__tests__/tx-notes.test.d.ts +0 -1
  84. package/dist/services/transactions/__tests__/tx-notes.test.js +0 -193
  85. package/dist/services/transactions/__tests__/tx-notes.test.js.map +0 -1
  86. package/dist/services/transactions/__tests__/tx-proof-transfer-with-data.test.d.ts +0 -1
  87. package/dist/services/transactions/__tests__/tx-proof-transfer-with-data.test.js +0 -50
  88. package/dist/services/transactions/__tests__/tx-proof-transfer-with-data.test.js.map +0 -1
  89. package/dist/services/transactions/__tests__/tx-transfer.test.d.ts +0 -1
  90. package/dist/services/transactions/__tests__/tx-transfer.test.js +0 -280
  91. package/dist/services/transactions/__tests__/tx-transfer.test.js.map +0 -1
  92. package/dist/tests/balances.test.d.ts +0 -1
  93. package/dist/tests/balances.test.js +0 -419
  94. package/dist/tests/balances.test.js.map +0 -1
  95. package/dist/tests/helper.test.d.ts +0 -3
  96. package/dist/tests/helper.test.js +0 -16
  97. package/dist/tests/helper.test.js.map +0 -1
  98. package/dist/tests/mocks.test.d.ts +0 -50
  99. package/dist/tests/mocks.test.js +0 -202
  100. package/dist/tests/mocks.test.js.map +0 -1
  101. package/dist/tests/poi/test-wallet-poi-requester.test.d.ts +0 -10
  102. package/dist/tests/poi/test-wallet-poi-requester.test.js +0 -15
  103. package/dist/tests/poi/test-wallet-poi-requester.test.js.map +0 -1
  104. package/dist/tests/setup.test.d.ts +0 -9
  105. package/dist/tests/setup.test.js +0 -110
  106. package/dist/tests/setup.test.js.map +0 -1
  107. package/dist/tests/stubs/engine-stubs.test.d.ts +0 -7
  108. package/dist/tests/stubs/engine-stubs.test.js +0 -75
  109. package/dist/tests/stubs/engine-stubs.test.js.map +0 -1
  110. package/dist/utils/__tests__/blocked-address.test.d.ts +0 -1
  111. package/dist/utils/__tests__/blocked-address.test.js +0 -23
  112. package/dist/utils/__tests__/blocked-address.test.js.map +0 -1
  113. package/dist/utils/__tests__/logger.test.d.ts +0 -1
  114. package/dist/utils/__tests__/logger.test.js +0 -28
  115. package/dist/utils/__tests__/logger.test.js.map +0 -1
  116. package/dist/utils/__tests__/utils.test.d.ts +0 -1
  117. package/dist/utils/__tests__/utils.test.js +0 -21
  118. package/dist/utils/__tests__/utils.test.js.map +0 -1
@@ -1,202 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_ETHEREUM = exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA = exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON = exports.MOCK_BALANCES_UPDATE_CALLBACK = exports.MOCK_TRANSACTION_GAS_DETAILS_SERIALIZED_TYPE_2 = exports.MOCK_FEE_TOKEN_DETAILS = exports.MOCK_TOKEN_FEE = exports.MOCK_NFT_AMOUNT_RECIPIENTS_DECRYPT = exports.MOCK_NFT_AMOUNT_RECIPIENTS = exports.MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V3 = exports.MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V2 = exports.MOCK_COMMITMENT_HASH = exports.MOCK_BOUND_PARAMS_V3 = exports.MOCK_BOUND_PARAMS_V2 = exports.MOCK_NULLIFIERS = exports.MOCK_COMMITMENTS = exports.MOCK_NFT_AMOUNTS = exports.MOCK_ERC20_RECIPIENTS = exports.MOCK_TOKEN_AMOUNTS = exports.MOCK_TOKEN_AMOUNTS_TOKEN_1_ONLY = exports.TEST_WALLET_SOURCE = exports.TEST_POLYGON_RPC = exports.MOCK_NFT_ADDRESS = exports.MOCK_TOKEN_ADDRESS_2 = exports.MOCK_TOKEN_ADDRESS = exports.MOCK_ETH_WALLET_ADDRESS = exports.MOCK_DOP_WALLET_ADDRESS = exports.MOCK_MEMO = exports.MOCK_DB_ENCRYPTION_KEY = exports.MOCK_MNEMONIC_2 = exports.MOCK_MNEMONIC = void 0;
4
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
5
- exports.MOCK_MNEMONIC = 'test test test test test test test test test test test junk';
6
- exports.MOCK_MNEMONIC_2 = 'pause crystal tornado alcohol genre cement fade large song like bag where';
7
- exports.MOCK_DB_ENCRYPTION_KEY = '0101010101010101010101010101010101010101010101010101010101010101';
8
- exports.MOCK_MEMO = 'A nice little mock memo, and how bout a little more for ya? 🤩';
9
- exports.MOCK_DOP_WALLET_ADDRESS = '0zk1q8hxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kfrv7j6fe3z53llhxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kg0zpzts';
10
- exports.MOCK_ETH_WALLET_ADDRESS = '0x9E9F988356f46744Ee0374A17a5Fa1a3A3cC3777';
11
- exports.MOCK_TOKEN_ADDRESS = '0x5FbDB2315678afecb367f032d93F642f64180aa3';
12
- exports.MOCK_TOKEN_ADDRESS_2 = '0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D';
13
- exports.MOCK_NFT_ADDRESS = '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d';
14
- exports.TEST_POLYGON_RPC = 'https://polygon-rpc.com';
15
- exports.TEST_WALLET_SOURCE = 'test engine';
16
- exports.MOCK_TOKEN_AMOUNTS_TOKEN_1_ONLY = [
17
- {
18
- tokenAddress: exports.MOCK_TOKEN_ADDRESS,
19
- amount: BigInt(0x100),
20
- },
21
- ];
22
- exports.MOCK_TOKEN_AMOUNTS = [
23
- {
24
- tokenAddress: exports.MOCK_TOKEN_ADDRESS,
25
- amount: BigInt(0x100),
26
- },
27
- {
28
- tokenAddress: exports.MOCK_TOKEN_ADDRESS_2,
29
- amount: BigInt(0x200),
30
- },
31
- ];
32
- exports.MOCK_ERC20_RECIPIENTS = [
33
- {
34
- tokenAddress: exports.MOCK_TOKEN_ADDRESS,
35
- recipientAddress: exports.MOCK_DOP_WALLET_ADDRESS,
36
- },
37
- {
38
- tokenAddress: exports.MOCK_TOKEN_ADDRESS_2,
39
- recipientAddress: exports.MOCK_DOP_WALLET_ADDRESS,
40
- },
41
- ];
42
- exports.MOCK_NFT_AMOUNTS = [
43
- {
44
- nftAddress: exports.MOCK_NFT_ADDRESS,
45
- nftTokenType: dop_sharedmodels_v3_1.NFTTokenType.ERC721,
46
- tokenSubID: '0x01',
47
- amount: BigInt(0x01),
48
- },
49
- {
50
- nftAddress: exports.MOCK_NFT_ADDRESS,
51
- nftTokenType: dop_sharedmodels_v3_1.NFTTokenType.ERC1155,
52
- tokenSubID: '0x02',
53
- amount: BigInt(0x02),
54
- },
55
- ];
56
- exports.MOCK_COMMITMENTS = [
57
- '0x0000000000000000000000000000000000000000000000000000000000000003',
58
- ];
59
- exports.MOCK_NULLIFIERS = [
60
- '0x0000000000000000000000000000000000000000000000000000000000000001',
61
- '0x0000000000000000000000000000000000000000000000000000000000000002',
62
- ];
63
- exports.MOCK_BOUND_PARAMS_V2 = {
64
- commitmentCiphertext: [
65
- {
66
- ciphertext: [
67
- '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c08253134950',
68
- '0x8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',
69
- '0xed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',
70
- '0xede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',
71
- ],
72
- blindedSenderViewingKey: '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
73
- blindedReceiverViewingKey: '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
74
- memo: '0x',
75
- annotationData: '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',
76
- },
77
- ],
78
- };
79
- exports.MOCK_BOUND_PARAMS_V3 = {
80
- local: {
81
- commitmentCiphertext: [
82
- {
83
- ciphertext: '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',
84
- blindedSenderViewingKey: '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
85
- blindedReceiverViewingKey: '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
86
- },
87
- ],
88
- },
89
- };
90
- exports.MOCK_COMMITMENT_HASH = '0x2b13bccd4974c797df42a89221ed6e19e50c32055058cdcc5a8ea836233e4cab';
91
- exports.MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V2 = {
92
- annotationData: '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',
93
- blindedReceiverViewingKey: '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
94
- blindedSenderViewingKey: '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
95
- ciphertext: {
96
- data: [
97
- '8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',
98
- 'ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',
99
- 'ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',
100
- ],
101
- iv: '7d6854cd1fc49f0602ccd933422ed2e2',
102
- tag: 'ee070a9f1806843d5c81c08253134950',
103
- },
104
- memo: '0x',
105
- };
106
- exports.MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V3 = {
107
- blindedReceiverViewingKey: '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
108
- blindedSenderViewingKey: '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',
109
- ciphertext: {
110
- algorithm: dop_sharedmodels_v3_1.XChaChaEncryptionAlgorithm.XChaChaPoly1305,
111
- nonce: '7d6854cd1fc49f0602ccd933422ed2e2',
112
- bundle: 'ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',
113
- },
114
- };
115
- exports.MOCK_NFT_AMOUNT_RECIPIENTS = exports.MOCK_NFT_AMOUNTS.map(nftAmount => ({
116
- ...nftAmount,
117
- recipientAddress: exports.MOCK_DOP_WALLET_ADDRESS,
118
- }));
119
- exports.MOCK_NFT_AMOUNT_RECIPIENTS_DECRYPT = exports.MOCK_NFT_AMOUNT_RECIPIENTS.map(nftAmountRecipient => ({
120
- ...nftAmountRecipient,
121
- recipientAddress: exports.MOCK_ETH_WALLET_ADDRESS,
122
- }));
123
- exports.MOCK_TOKEN_FEE = {
124
- tokenAddress: exports.MOCK_TOKEN_ADDRESS,
125
- amount: BigInt(0x0300),
126
- };
127
- exports.MOCK_FEE_TOKEN_DETAILS = {
128
- tokenAddress: exports.MOCK_TOKEN_ADDRESS,
129
- feePerUnitGas: BigInt('0x2000000000000000000'), // 2x
130
- };
131
- exports.MOCK_TRANSACTION_GAS_DETAILS_SERIALIZED_TYPE_2 = {
132
- evmGasType: dop_sharedmodels_v3_1.EVMGasType.Type2,
133
- gasEstimate: 0n,
134
- maxFeePerGas: BigInt('0x1234567890'),
135
- maxPriorityFeePerGas: BigInt('0x123456'),
136
- };
137
- const MOCK_BALANCES_UPDATE_CALLBACK = () => {
138
- // noop
139
- };
140
- exports.MOCK_BALANCES_UPDATE_CALLBACK = MOCK_BALANCES_UPDATE_CALLBACK;
141
- exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON = {
142
- chainId: 137,
143
- providers: [
144
- {
145
- provider: 'https://rpc-mainnet.matic.quiknode.pro',
146
- priority: 3,
147
- weight: 3,
148
- maxLogsPerBatch: 2,
149
- stallTimeout: 2500,
150
- },
151
- {
152
- provider: 'https://polygon-bor-rpc.publicnode.com',
153
- priority: 3,
154
- weight: 2,
155
- maxLogsPerBatch: 5,
156
- stallTimeout: 2500,
157
- },
158
- {
159
- provider: 'https://rpc.ankr.com/polygon',
160
- priority: 3,
161
- weight: 2,
162
- maxLogsPerBatch: 5,
163
- },
164
- ],
165
- };
166
- exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA = {
167
- chainId: 11155111,
168
- providers: [
169
- {
170
- provider: 'https://sepolia.drpc.org',
171
- priority: 3,
172
- weight: 3,
173
- maxLogsPerBatch: 2,
174
- stallTimeout: 2500,
175
- },
176
- {
177
- provider: 'https://ethereum-sepolia-rpc.publicnode.com',
178
- priority: 3,
179
- weight: 2,
180
- maxLogsPerBatch: 5,
181
- },
182
- ],
183
- };
184
- exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_ETHEREUM = {
185
- chainId: 1,
186
- providers: [
187
- {
188
- provider: 'https://eth.llamarpc.com',
189
- priority: 3,
190
- weight: 3,
191
- maxLogsPerBatch: 2,
192
- stallTimeout: 2500,
193
- },
194
- {
195
- provider: 'https://rpc.ankr.com/eth',
196
- priority: 3,
197
- weight: 2,
198
- maxLogsPerBatch: 5,
199
- },
200
- ],
201
- };
202
- //# sourceMappingURL=mocks.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mocks.test.js","sourceRoot":"","sources":["../../src/tests/mocks.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FallbackProviderJsonConfig,\n FeeTokenDetails,\n EVMGasType,\n DopERC20Amount,\n DopNFTAmountRecipient,\n NFTTokenType,\n DopNFTAmount,\n TransactionGasDetails,\n DopERC20Recipient,\n XChaChaEncryptionAlgorithm,\n} from 'dop-sharedmodels-v3';\nimport {\n BalancesUpdatedCallback,\n} from '../services/dop/wallets/balance-update';\nimport {\n CommitmentCiphertextV2,\n CommitmentCiphertextV3,\n} from 'dop-engine-v3';\n\nexport const MOCK_MNEMONIC =\n 'test test test test test test test test test test test junk';\n\nexport const MOCK_MNEMONIC_2 =\n 'pause crystal tornado alcohol genre cement fade large song like bag where';\n\nexport const MOCK_DB_ENCRYPTION_KEY =\n '0101010101010101010101010101010101010101010101010101010101010101';\n\nexport const MOCK_MEMO =\n 'A nice little mock memo, and how bout a little more for ya? 🤩';\n\nexport const MOCK_DOP_WALLET_ADDRESS =\n '0zk1q8hxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kfrv7j6fe3z53llhxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kg0zpzts';\n\nexport const MOCK_ETH_WALLET_ADDRESS =\n '0x9E9F988356f46744Ee0374A17a5Fa1a3A3cC3777';\n\nexport const MOCK_TOKEN_ADDRESS = '0x5FbDB2315678afecb367f032d93F642f64180aa3';\nexport const MOCK_TOKEN_ADDRESS_2 =\n '0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D';\n\nexport const MOCK_NFT_ADDRESS = '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d';\n\nexport const TEST_POLYGON_RPC = 'https://polygon-rpc.com';\n\nexport const TEST_WALLET_SOURCE = 'test engine';\n\nexport const MOCK_TOKEN_AMOUNTS_TOKEN_1_ONLY: DopERC20Amount[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x100),\n },\n];\n\nexport const MOCK_TOKEN_AMOUNTS: DopERC20Amount[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x100),\n },\n {\n tokenAddress: MOCK_TOKEN_ADDRESS_2,\n amount: BigInt(0x200),\n },\n];\n\nexport const MOCK_ERC20_RECIPIENTS: DopERC20Recipient[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n },\n {\n tokenAddress: MOCK_TOKEN_ADDRESS_2,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n },\n];\n\nexport const MOCK_NFT_AMOUNTS: DopNFTAmount[] = [\n {\n nftAddress: MOCK_NFT_ADDRESS,\n nftTokenType: NFTTokenType.ERC721,\n tokenSubID: '0x01',\n amount: BigInt(0x01),\n },\n {\n nftAddress: MOCK_NFT_ADDRESS,\n nftTokenType: NFTTokenType.ERC1155,\n tokenSubID: '0x02',\n amount: BigInt(0x02),\n },\n];\n\nexport const MOCK_COMMITMENTS: string[] = [\n '0x0000000000000000000000000000000000000000000000000000000000000003',\n];\n\nexport const MOCK_NULLIFIERS: string[] = [\n '0x0000000000000000000000000000000000000000000000000000000000000001',\n '0x0000000000000000000000000000000000000000000000000000000000000002',\n];\n\nexport const MOCK_BOUND_PARAMS_V2 = {\n commitmentCiphertext: [\n {\n ciphertext: [\n '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c08253134950',\n '0x8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',\n '0xed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',\n '0xede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n ],\n blindedSenderViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedReceiverViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n memo: '0x',\n annotationData:\n '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',\n },\n ],\n};\n\nexport const MOCK_BOUND_PARAMS_V3 = {\n local: {\n commitmentCiphertext: [\n {\n ciphertext:\n '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n blindedSenderViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedReceiverViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n },\n ],\n },\n};\n\nexport const MOCK_COMMITMENT_HASH =\n '0x2b13bccd4974c797df42a89221ed6e19e50c32055058cdcc5a8ea836233e4cab';\n\nexport const MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V2: CommitmentCiphertextV2 =\n {\n annotationData:\n '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',\n blindedReceiverViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedSenderViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n ciphertext: {\n data: [\n '8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',\n 'ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',\n 'ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n ],\n iv: '7d6854cd1fc49f0602ccd933422ed2e2',\n tag: 'ee070a9f1806843d5c81c08253134950',\n },\n memo: '0x',\n };\n\nexport const MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V3: CommitmentCiphertextV3 =\n {\n blindedReceiverViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedSenderViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n ciphertext: {\n algorithm: XChaChaEncryptionAlgorithm.XChaChaPoly1305,\n nonce: '7d6854cd1fc49f0602ccd933422ed2e2',\n bundle:\n 'ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n },\n };\n\nexport const MOCK_NFT_AMOUNT_RECIPIENTS: DopNFTAmountRecipient[] =\n MOCK_NFT_AMOUNTS.map(nftAmount => ({\n ...nftAmount,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n }));\n\nexport const MOCK_NFT_AMOUNT_RECIPIENTS_DECRYPT: DopNFTAmountRecipient[] =\n MOCK_NFT_AMOUNT_RECIPIENTS.map(nftAmountRecipient => ({\n ...nftAmountRecipient,\n recipientAddress: MOCK_ETH_WALLET_ADDRESS,\n }));\n\nexport const MOCK_TOKEN_FEE: DopERC20Amount = {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x0300),\n};\n\nexport const MOCK_FEE_TOKEN_DETAILS: FeeTokenDetails = {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n feePerUnitGas: BigInt('0x2000000000000000000'), // 2x\n};\n\nexport const MOCK_TRANSACTION_GAS_DETAILS_SERIALIZED_TYPE_2: TransactionGasDetails =\n {\n evmGasType: EVMGasType.Type2,\n gasEstimate: 0n,\n maxFeePerGas: BigInt('0x1234567890'),\n maxPriorityFeePerGas: BigInt('0x123456'),\n };\n\nexport const MOCK_BALANCES_UPDATE_CALLBACK: BalancesUpdatedCallback = () => {\n // noop\n};\n\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON: FallbackProviderJsonConfig =\n {\n chainId: 137,\n providers: [\n {\n provider: 'https://rpc-mainnet.matic.quiknode.pro',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://polygon-bor-rpc.publicnode.com',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n stallTimeout: 2500,\n },\n {\n provider: 'https://rpc.ankr.com/polygon',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA: FallbackProviderJsonConfig =\n {\n chainId: 11155111,\n providers: [\n {\n provider: 'https://sepolia.drpc.org',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://ethereum-sepolia-rpc.publicnode.com',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_ETHEREUM: FallbackProviderJsonConfig =\n {\n chainId: 1,\n providers: [\n {\n provider: 'https://eth.llamarpc.com',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://rpc.ankr.com/eth',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n"]}
@@ -1,10 +0,0 @@
1
- /// <reference types="../types/global" />
2
- import { Chain } from 'dop-engine-v3';
3
- import { TXIDVersion } from 'dop-sharedmodels-v3';
4
- export declare class TestWalletPOIRequester {
5
- validateDopTxidMerkleroot(txidVersion: TXIDVersion, chain: Chain, tree: number, index: number, merkleroot: string): Promise<boolean>;
6
- getLatestValidatedDopTxid(txidVersion: TXIDVersion, chain: Chain): Promise<{
7
- txidIndex: Optional<number>;
8
- merkleroot: Optional<string>;
9
- }>;
10
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestWalletPOIRequester = void 0;
4
- class TestWalletPOIRequester {
5
- // eslint-disable-next-line class-methods-use-this
6
- async validateDopTxidMerkleroot(txidVersion, chain, tree, index, merkleroot) {
7
- return true;
8
- }
9
- // eslint-disable-next-line class-methods-use-this
10
- async getLatestValidatedDopTxid(txidVersion, chain) {
11
- return { txidIndex: 100000, merkleroot: undefined };
12
- }
13
- }
14
- exports.TestWalletPOIRequester = TestWalletPOIRequester;
15
- //# sourceMappingURL=test-wallet-poi-requester.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-wallet-poi-requester.test.js","sourceRoot":"","sources":["../../../src/tests/poi/test-wallet-poi-requester.test.ts"],"names":[],"mappings":";;;AAIA,MAAa,sBAAsB;IACjC,kDAAkD;IAClD,KAAK,CAAC,yBAAyB,CAC7B,WAAwB,EACxB,KAAY,EACZ,IAAY,EACZ,KAAa,EACb,UAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,yBAAyB,CAC7B,WAAwB,EACxB,KAAY;QAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;CACF;AAnBD,wDAmBC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { Chain } from 'dop-engine-v3';\nimport { TXIDVersion } from 'dop-sharedmodels-v3';\n\nexport class TestWalletPOIRequester {\n // eslint-disable-next-line class-methods-use-this\n async validateDopTxidMerkleroot(\n txidVersion: TXIDVersion,\n chain: Chain,\n tree: number,\n index: number,\n merkleroot: string,\n ): Promise<boolean> {\n return true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async getLatestValidatedDopTxid(\n txidVersion: TXIDVersion,\n chain: Chain,\n ): Promise<{ txidIndex: Optional<number>; merkleroot: Optional<string> }> {\n return { txidIndex: 100000, merkleroot: undefined };\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- import { MerkletreeScanUpdateEvent, NetworkName } from 'dop-sharedmodels-v3';
2
- export declare const utxoMerkletreeHistoryScanCallback: (scanData: MerkletreeScanUpdateEvent) => void;
3
- export declare const txidMerkletreeHistoryScanCallback: (scanData: MerkletreeScanUpdateEvent) => void;
4
- export declare const clearAllMerkletreeScanStatus: () => void;
5
- export declare const initTestEngine: (useNativeArtifacts?: boolean) => Promise<void>;
6
- export declare const initTestEngineNetworks: (networkName?: NetworkName, mockConfig?: import("dop-sharedmodels-v3").FallbackProviderJsonConfig) => Promise<void>;
7
- export declare const closeTestEngine: () => Promise<void>;
8
- export declare const pollUntilUTXOMerkletreeScanned: () => Promise<void>;
9
- export declare const pollUntilTXIDMerkletreeScanned: () => Promise<void>;
@@ -1,110 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.pollUntilTXIDMerkletreeScanned = exports.pollUntilUTXOMerkletreeScanned = exports.closeTestEngine = exports.initTestEngineNetworks = exports.initTestEngine = exports.clearAllMerkletreeScanStatus = exports.txidMerkletreeHistoryScanCallback = exports.utxoMerkletreeHistoryScanCallback = void 0;
7
- /// <reference types="../types/global" />
8
- /* eslint-disable import/no-extraneous-dependencies */
9
- /* eslint-disable no-console */
10
- const leveldown_1 = __importDefault(require("leveldown"));
11
- const fs_1 = __importDefault(require("fs"));
12
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
13
- const mocks_test_1 = require("./mocks.test");
14
- const artifact_store_1 = require("../services/artifacts/artifact-store");
15
- const test_wallet_poi_requester_test_1 = require("./poi/test-wallet-poi-requester.test");
16
- const core_1 = require("../services/dop/core");
17
- const utils_1 = require("../utils");
18
- const ENGINE_TEST_DB = 'test.db';
19
- const db = new leveldown_1.default(ENGINE_TEST_DB);
20
- const setupTests = () => {
21
- // Uncomment to enable logger during tests (Do not commit).
22
- // setLoggers(console.log, console.error);
23
- };
24
- const rmDirSafe = async (dir) => {
25
- if (await fileExists(dir)) {
26
- await fs_1.default.promises.rm(dir, { recursive: true });
27
- }
28
- };
29
- before(async () => {
30
- await rmDirSafe(ENGINE_TEST_DB);
31
- await rmDirSafe('artifacts-v2.1');
32
- setupTests();
33
- });
34
- const fileExists = (path) => {
35
- return new Promise(resolve => {
36
- fs_1.default.promises
37
- .access(path)
38
- .then(() => resolve(true))
39
- .catch(() => resolve(false));
40
- });
41
- };
42
- const testArtifactStore = new artifact_store_1.ArtifactStore(fs_1.default.promises.readFile, async (dir, path, data) => {
43
- await fs_1.default.promises.mkdir(dir, { recursive: true });
44
- await fs_1.default.promises.writeFile(path, data);
45
- }, fileExists);
46
- let currentUTXOMerkletreeScanStatus;
47
- let currentTXIDMerkletreeScanStatus;
48
- const utxoMerkletreeHistoryScanCallback = (scanData) => {
49
- console.log("UTXO Merkletree Scan Callback:", scanData);
50
- currentUTXOMerkletreeScanStatus = scanData.scanStatus;
51
- };
52
- exports.utxoMerkletreeHistoryScanCallback = utxoMerkletreeHistoryScanCallback;
53
- const txidMerkletreeHistoryScanCallback = (scanData) => {
54
- console.log("TXID Merkletree Scan Callback:", scanData);
55
- currentTXIDMerkletreeScanStatus = scanData.scanStatus;
56
- };
57
- exports.txidMerkletreeHistoryScanCallback = txidMerkletreeHistoryScanCallback;
58
- const clearAllMerkletreeScanStatus = () => {
59
- currentUTXOMerkletreeScanStatus = undefined;
60
- currentTXIDMerkletreeScanStatus = undefined;
61
- };
62
- exports.clearAllMerkletreeScanStatus = clearAllMerkletreeScanStatus;
63
- const initTestEngine = async (useNativeArtifacts = false) => {
64
- // SETUP TEST WALLET POI REQUESTER
65
- const testPOIRequester = new test_wallet_poi_requester_test_1.TestWalletPOIRequester();
66
- const txidMerklerootValidator = (txidVersion, chain, tree, index, merkleroot) => testPOIRequester.validateDopTxidMerkleroot(txidVersion, chain, tree, index, merkleroot);
67
- // Set the environment variable "VERBOSE" to enable debug logs
68
- const shouldDebug = true;
69
- if (typeof process.env.VERBOSE === 'string' && process.env.VERBOSE === 'true') {
70
- (0, utils_1.setLoggers)(console.log, console.error);
71
- }
72
- await (0, core_1.startDopEngine)(mocks_test_1.TEST_WALLET_SOURCE, db, shouldDebug, testArtifactStore, useNativeArtifacts, false, // skipMerkletreeScans
73
- true // verboseLogging
74
- );
75
- console.log('Setting up test engine merkletree scan callbacks...');
76
- (0, core_1.setOnUTXOMerkletreeScanCallback)(exports.utxoMerkletreeHistoryScanCallback);
77
- (0, core_1.setOnTXIDMerkletreeScanCallback)(exports.txidMerkletreeHistoryScanCallback);
78
- console.log('Setting done.');
79
- };
80
- exports.initTestEngine = initTestEngine;
81
- const initTestEngineNetworks = async (networkName = dop_sharedmodels_v3_1.NetworkName.EthereumSepolia, mockConfig = mocks_test_1.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA) => {
82
- // Don't wait for async. It will try to load historical events, which takes a while.
83
- await (0, core_1.loadProvider)(mockConfig, networkName, 10000);
84
- const { chain } = dop_sharedmodels_v3_1.NETWORK_CONFIG[networkName];
85
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
86
- (0, core_1.getEngine)().scanContractHistory(chain, undefined);
87
- };
88
- exports.initTestEngineNetworks = initTestEngineNetworks;
89
- const closeTestEngine = async () => {
90
- await (0, core_1.stopDopEngine)();
91
- (0, exports.clearAllMerkletreeScanStatus)();
92
- };
93
- exports.closeTestEngine = closeTestEngine;
94
- const pollUntilUTXOMerkletreeScanned = async () => {
95
- const status = await (0, dop_sharedmodels_v3_1.poll)(async () => currentUTXOMerkletreeScanStatus, status => status === dop_sharedmodels_v3_1.MerkletreeScanStatus.Complete, 50, 360000 / 50);
96
- console.log('UTXO merkletree scan status:', status);
97
- if (status !== dop_sharedmodels_v3_1.MerkletreeScanStatus.Complete) {
98
- throw new Error(`UTXO merkletree scan should be completed - timed out`);
99
- }
100
- };
101
- exports.pollUntilUTXOMerkletreeScanned = pollUntilUTXOMerkletreeScanned;
102
- const pollUntilTXIDMerkletreeScanned = async () => {
103
- const status = await (0, dop_sharedmodels_v3_1.poll)(async () => currentTXIDMerkletreeScanStatus, status => status === dop_sharedmodels_v3_1.MerkletreeScanStatus.Complete, 50, 360000 / 50);
104
- console.log('TXID merkletree scan status:', status);
105
- if (status !== dop_sharedmodels_v3_1.MerkletreeScanStatus.Complete) {
106
- throw new Error(`TXID merkletree scan should be completed - timed out`);
107
- }
108
- };
109
- exports.pollUntilTXIDMerkletreeScanned = pollUntilTXIDMerkletreeScanned;
110
- //# sourceMappingURL=setup.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../src/tests/setup.test.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference types=\"../types/global\" />\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable no-console */\nimport LevelDOWN from 'leveldown';\nimport fs from 'fs';\nimport {\n MerkletreeScanStatus,\n MerkletreeScanUpdateEvent,\n NETWORK_CONFIG,\n NetworkName,\n poll,\n} from 'dop-sharedmodels-v3';\nimport {\n MOCK_BALANCES_UPDATE_CALLBACK,\n MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n TEST_WALLET_SOURCE,\n} from './mocks.test';\nimport { ArtifactStore } from '../services/artifacts/artifact-store';\nimport {\n setOnBalanceUpdateCallback,\n} from '../services/dop/wallets/balance-update';\nimport { TestWalletPOIRequester } from './poi/test-wallet-poi-requester.test';\nimport {\n GetLatestValidatedDopTxid,\n MerklerootValidator,\n SnarkJSGroth16,\n} from 'dop-engine-v3';\nimport {\n getEngine,\n loadProvider,\n setOnTXIDMerkletreeScanCallback,\n setOnUTXOMerkletreeScanCallback,\n startDopEngine,\n stopDopEngine,\n} from '../services/dop/core';\nimport { groth16 } from 'snarkjs';\nimport { setLoggers } from '../utils';\n\nconst ENGINE_TEST_DB = 'test.db';\nconst db = new LevelDOWN(ENGINE_TEST_DB);\n\nconst setupTests = () => {\n // Uncomment to enable logger during tests (Do not commit).\n // setLoggers(console.log, console.error);\n};\n\nconst rmDirSafe = async (dir: string) => {\n if (await fileExists(dir)) {\n await fs.promises.rm(dir, { recursive: true });\n }\n};\n\nbefore(async () => {\n await rmDirSafe(ENGINE_TEST_DB);\n await rmDirSafe('artifacts-v2.1');\n setupTests();\n});\n\nconst fileExists = (path: string): Promise<boolean> => {\n return new Promise(resolve => {\n fs.promises\n .access(path)\n .then(() => resolve(true))\n .catch(() => resolve(false));\n });\n};\n\nconst testArtifactStore = new ArtifactStore(\n fs.promises.readFile,\n async (dir, path, data) => {\n await fs.promises.mkdir(dir, { recursive: true });\n await fs.promises.writeFile(path, data);\n },\n fileExists,\n);\n\nlet currentUTXOMerkletreeScanStatus: Optional<MerkletreeScanStatus>;\nlet currentTXIDMerkletreeScanStatus: Optional<MerkletreeScanStatus>;\n\nexport const utxoMerkletreeHistoryScanCallback = (\n scanData: MerkletreeScanUpdateEvent,\n): void => {\n console.log(\"UTXO Merkletree Scan Callback:\", scanData);\n currentUTXOMerkletreeScanStatus = scanData.scanStatus;\n};\n\nexport const txidMerkletreeHistoryScanCallback = (\n scanData: MerkletreeScanUpdateEvent,\n): void => {\n console.log(\"TXID Merkletree Scan Callback:\", scanData);\n currentTXIDMerkletreeScanStatus = scanData.scanStatus;\n};\n\nexport const clearAllMerkletreeScanStatus = () => {\n currentUTXOMerkletreeScanStatus = undefined;\n currentTXIDMerkletreeScanStatus = undefined;\n};\n\nexport const initTestEngine = async (useNativeArtifacts = false) => {\n // SETUP TEST WALLET POI REQUESTER\n const testPOIRequester = new TestWalletPOIRequester();\n const txidMerklerootValidator: MerklerootValidator = (\n txidVersion,\n chain,\n tree,\n index,\n merkleroot,\n ) =>\n testPOIRequester.validateDopTxidMerkleroot(\n txidVersion,\n chain,\n tree,\n index,\n merkleroot,\n );\n // Set the environment variable \"VERBOSE\" to enable debug logs\n const shouldDebug = true;\n if (typeof process.env.VERBOSE === 'string' && process.env.VERBOSE === 'true') {\n setLoggers(console.log, console.error);\n }\n\n await startDopEngine(\n TEST_WALLET_SOURCE,\n db,\n shouldDebug,\n testArtifactStore,\n useNativeArtifacts,\n false, // skipMerkletreeScans\n true // verboseLogging\n );\n\n console.log('Setting up test engine merkletree scan callbacks...');\n setOnUTXOMerkletreeScanCallback(utxoMerkletreeHistoryScanCallback);\n setOnTXIDMerkletreeScanCallback(txidMerkletreeHistoryScanCallback);\n console.log('Setting done.');\n\n};\n\nexport const initTestEngineNetworks = async (\n networkName = NetworkName.EthereumSepolia,\n mockConfig = MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n) => {\n // Don't wait for async. It will try to load historical events, which takes a while.\n await loadProvider(\n mockConfig,\n networkName,\n 10_000, // pollingInterval\n );\n const { chain } = NETWORK_CONFIG[networkName];\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n getEngine().scanContractHistory(\n chain,\n undefined, // walletIdFilter\n );\n};\n\nexport const closeTestEngine = async () => {\n await stopDopEngine();\n\n clearAllMerkletreeScanStatus();\n};\n\nexport const pollUntilUTXOMerkletreeScanned = async () => {\n const status = await poll(\n async () => currentUTXOMerkletreeScanStatus,\n status => status === MerkletreeScanStatus.Complete,\n 50,\n 360_000 / 50, // 360 sec.\n );\n console.log('UTXO merkletree scan status:', status);\n if (status !== MerkletreeScanStatus.Complete) {\n throw new Error(`UTXO merkletree scan should be completed - timed out`);\n }\n};\n\nexport const pollUntilTXIDMerkletreeScanned = async () => {\n const status = await poll(\n async () => currentTXIDMerkletreeScanStatus,\n status => status === MerkletreeScanStatus.Complete,\n 50,\n 360_000 / 50, // 360 sec.\n );\n console.log('TXID merkletree scan status:', status);\n if (status !== MerkletreeScanStatus.Complete) {\n throw new Error(`TXID merkletree scan should be completed - timed out`);\n }\n};\n"]}
@@ -1,7 +0,0 @@
1
- import { AddressData } from 'dop-engine-v3';
2
- export declare const MOCK_ENCRYPT_TXID_FOR_BALANCES = "123";
3
- export declare const MOCK_TOKEN_BALANCE: bigint;
4
- export declare const createEngineWalletBalancesStub: (addressData: AddressData, tokenAddress: string, tree: number) => Promise<void>;
5
- export declare const createEngineWalletTreeBalancesStub: (addressData: AddressData, tokenAddress: string, tree: number) => Promise<void>;
6
- export declare const createEngineVerifyProofStub: () => void;
7
- export declare const restoreEngineStubs: () => void;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.restoreEngineStubs = exports.createEngineVerifyProofStub = exports.createEngineWalletTreeBalancesStub = exports.createEngineWalletBalancesStub = exports.MOCK_TOKEN_BALANCE = exports.MOCK_ENCRYPT_TXID_FOR_BALANCES = void 0;
7
- const dop_engine_v3_1 = require("dop-engine-v3");
8
- // eslint-disable-next-line import/no-extraneous-dependencies
9
- const sinon_1 = __importDefault(require("sinon"));
10
- let balancesStub;
11
- let treeBalancesStub;
12
- let verifyProofStub;
13
- exports.MOCK_ENCRYPT_TXID_FOR_BALANCES = '123';
14
- exports.MOCK_TOKEN_BALANCE = BigInt('1000000000000000000000');
15
- const ZERO_32_BYTE_VALUE = '0x0000000000000000000000000000000000000000000000000000000000000000';
16
- const getMockBalanceData = async (addressData, tokenAddress, tree) => {
17
- const tokenData = (0, dop_engine_v3_1.getTokenDataERC20)(tokenAddress);
18
- return {
19
- balance: exports.MOCK_TOKEN_BALANCE,
20
- tokenData,
21
- utxos: [
22
- {
23
- tree,
24
- position: 0,
25
- blockNumber: 100,
26
- txid: exports.MOCK_ENCRYPT_TXID_FOR_BALANCES,
27
- timestamp: undefined,
28
- spendtxid: false,
29
- note: dop_engine_v3_1.TransactNote.createTransfer(addressData, // receiver
30
- addressData, // sender
31
- // '12345678901234561234567890123456', // random
32
- BigInt('1000000000000000000000'), // value
33
- tokenData, // tokenData
34
- false, // shouldShowSender
35
- dop_engine_v3_1.OutputType.Transfer, undefined),
36
- commitmentType: dop_engine_v3_1.CommitmentType.EncryptCommitment,
37
- nullifier: ZERO_32_BYTE_VALUE,
38
- blindedCommitment: undefined,
39
- transactCreationDopTxid: undefined,
40
- },
41
- ],
42
- };
43
- };
44
- const createEngineWalletBalancesStub = async (addressData, tokenAddress, tree) => {
45
- balancesStub = sinon_1.default
46
- .stub(dop_engine_v3_1.AbstractWallet, 'getTokenBalancesByTxidVersion')
47
- .resolves({
48
- [tokenAddress]: await getMockBalanceData(addressData, tokenAddress, tree),
49
- });
50
- };
51
- exports.createEngineWalletBalancesStub = createEngineWalletBalancesStub;
52
- const createEngineWalletTreeBalancesStub = async (addressData, tokenAddress, tree) => {
53
- const formattedTokenAddress = dop_engine_v3_1.ByteUtils.formatToByteLength(tokenAddress.replace('0x', ''), dop_engine_v3_1.ByteLength.UINT_256);
54
- treeBalancesStub = sinon_1.default
55
- .stub(dop_engine_v3_1.DopWallet.prototype, 'getTotalBalancesByTreeNumber')
56
- .resolves({
57
- [formattedTokenAddress]: [
58
- await getMockBalanceData(addressData, tokenAddress, tree),
59
- ],
60
- });
61
- };
62
- exports.createEngineWalletTreeBalancesStub = createEngineWalletTreeBalancesStub;
63
- const createEngineVerifyProofStub = () => {
64
- verifyProofStub = sinon_1.default
65
- .stub(dop_engine_v3_1.Prover.prototype, 'verifyDopProof')
66
- .resolves(true);
67
- };
68
- exports.createEngineVerifyProofStub = createEngineVerifyProofStub;
69
- const restoreEngineStubs = () => {
70
- balancesStub?.restore();
71
- treeBalancesStub?.restore();
72
- verifyProofStub?.restore();
73
- };
74
- exports.restoreEngineStubs = restoreEngineStubs;
75
- //# sourceMappingURL=engine-stubs.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-stubs.test.js","sourceRoot":"","sources":["../../../src/tests/stubs/engine-stubs.test.ts"],"names":[],"mappings":";;;;;;AAAA,iDAYuB;AACvB,6DAA6D;AAC7D,kDAAyC;AAEzC,IAAI,YAAuB,CAAC;AAC5B,IAAI,gBAA2B,CAAC;AAChC,IAAI,eAA0B,CAAC;AAElB,QAAA,8BAA8B,GAAG,KAAK,CAAC;AACvC,QAAA,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,kBAAkB,GACtB,oEAAoE,CAAC;AAEvE,MAAM,kBAAkB,GAAG,KAAK,EAC9B,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACU,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,iCAAiB,EAAC,YAAY,CAAC,CAAC;IAElD,OAAO;QACL,OAAO,EAAE,0BAAkB;QAC3B,SAAS;QACT,KAAK,EAAE;YACL;gBACE,IAAI;gBACJ,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,sCAA8B;gBACpC,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,4BAAY,CAAC,cAAc,CAC/B,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,SAAS;gBACtB,gDAAgD;gBAChD,MAAM,CAAC,wBAAwB,CAAC,EAAE,QAAQ;gBAC1C,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,0BAAU,CAAC,QAAQ,EACnB,SAAS,CACV;gBACD,cAAc,EAAE,8BAAc,CAAC,iBAAiB;gBAChD,SAAS,EAAE,kBAAkB;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,uBAAuB,EAAE,SAAS;aACnC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,YAAY,GAAG,eAAK;SACjB,IAAI,CAAC,8BAAc,EAAE,+BAA+B,CAAC;SACrD,QAAQ,CAAC;QACR,CAAC,YAAY,CAAC,EAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;KAC1E,CAAC,CAAC;AACP,CAAC,CAAC;AAVW,QAAA,8BAA8B,kCAUzC;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,MAAM,qBAAqB,GAAG,yBAAS,CAAC,kBAAkB,CACxD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAC9B,0BAAU,CAAC,QAAQ,CACpB,CAAC;IACF,gBAAgB,GAAG,eAAK;SACrB,IAAI,CAAC,yBAAS,CAAC,SAAS,EAAE,8BAA8B,CAAC;SACzD,QAAQ,CAAC;QACR,CAAC,qBAAqB,CAAC,EAAE;YACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;SAC1D;KACF,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,kCAAkC,sCAgB7C;AAEK,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,eAAe,GAAG,eAAK;SACpB,IAAI,CAAC,sBAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;SACxC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC;AAJW,QAAA,2BAA2B,+BAItC;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B","sourcesContent":["import {\n OutputType,\n TransactNote,\n Prover,\n AbstractWallet,\n DopWallet,\n ByteLength,\n getTokenDataERC20,\n TreeBalance,\n AddressData,\n CommitmentType,\n ByteUtils,\n} from 'dop-engine-v3';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport sinon, { SinonStub } from 'sinon';\n\nlet balancesStub: SinonStub;\nlet treeBalancesStub: SinonStub;\nlet verifyProofStub: SinonStub;\n\nexport const MOCK_ENCRYPT_TXID_FOR_BALANCES = '123';\nexport const MOCK_TOKEN_BALANCE = BigInt('1000000000000000000000');\nconst ZERO_32_BYTE_VALUE =\n '0x0000000000000000000000000000000000000000000000000000000000000000';\n\nconst getMockBalanceData = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n): Promise<TreeBalance> => {\n const tokenData = getTokenDataERC20(tokenAddress);\n\n return {\n balance: MOCK_TOKEN_BALANCE,\n tokenData,\n utxos: [\n {\n tree,\n position: 0,\n blockNumber: 100,\n txid: MOCK_ENCRYPT_TXID_FOR_BALANCES,\n timestamp: undefined,\n spendtxid: false,\n note: TransactNote.createTransfer(\n addressData, // receiver\n addressData, // sender\n // '12345678901234561234567890123456', // random\n BigInt('1000000000000000000000'), // value\n tokenData, // tokenData\n false, // shouldShowSender\n OutputType.Transfer,\n undefined, // memoText\n ),\n commitmentType: CommitmentType.EncryptCommitment,\n nullifier: ZERO_32_BYTE_VALUE,\n blindedCommitment: undefined,\n transactCreationDopTxid: undefined,\n },\n ],\n };\n};\n\nexport const createEngineWalletBalancesStub = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n) => {\n balancesStub = sinon\n .stub(AbstractWallet, 'getTokenBalancesByTxidVersion')\n .resolves({\n [tokenAddress]: await getMockBalanceData(addressData, tokenAddress, tree),\n });\n};\n\nexport const createEngineWalletTreeBalancesStub = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n) => {\n const formattedTokenAddress = ByteUtils.formatToByteLength(\n tokenAddress.replace('0x', ''),\n ByteLength.UINT_256,\n );\n treeBalancesStub = sinon\n .stub(DopWallet.prototype, 'getTotalBalancesByTreeNumber')\n .resolves({\n [formattedTokenAddress]: [\n await getMockBalanceData(addressData, tokenAddress, tree),\n ],\n });\n};\n\nexport const createEngineVerifyProofStub = () => {\n verifyProofStub = sinon\n .stub(Prover.prototype, 'verifyDopProof')\n .resolves(true);\n};\n\nexport const restoreEngineStubs = () => {\n balancesStub?.restore();\n treeBalancesStub?.restore();\n verifyProofStub?.restore();\n};\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chai_1 = __importDefault(require("chai"));
7
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
8
- const blocked_address_1 = require("../blocked-address");
9
- chai_1.default.use(chai_as_promised_1.default);
10
- const { expect } = chai_1.default;
11
- describe('blocked-address', () => {
12
- it('Should recognize blocked addresses', async () => {
13
- expect((0, blocked_address_1.isBlockedAddress)('0x1356c899d8c9467c7f71c195612f8a395abf2f0a')).to.equal(true);
14
- expect((0, blocked_address_1.isBlockedAddress)('0x1356c899d8c9467c7f71c195612f8a395abf2f0a'.toUpperCase())).to.equal(true);
15
- expect((0, blocked_address_1.isBlockedAddress)('0x8356c899d8c9467c7f71c195612f8a395abf2f0a')).to.equal(false);
16
- expect((0, blocked_address_1.isBlockedAddress)(undefined)).to.equal(false);
17
- });
18
- it('Assert should throw on blocked address', async () => {
19
- expect(() => (0, blocked_address_1.assertNotBlockedAddress)('0x1356c899d8c9467c7f71c195612f8a395abf2f0a')).to.throw();
20
- expect(() => (0, blocked_address_1.assertNotBlockedAddress)('0x8356c899d8c9467c7f71c195612f8a395abf2f0a')).to.not.throw();
21
- });
22
- });
23
- //# sourceMappingURL=blocked-address.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blocked-address.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/blocked-address.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,wEAA8C;AAC9C,wDAA+E;AAE/E,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACzB,MAAM,EAAE,MAAM,EAAE,GAAG,cAAI,CAAC;AAExB,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,CACJ,IAAA,kCAAgB,EAAC,4CAA4C,CAAC,CAC/D,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CACJ,IAAA,kCAAgB,EACd,4CAA4C,CAAC,WAAW,EAAE,CAC3D,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CACJ,IAAA,kCAAgB,EAAC,4CAA4C,CAAC,CAC/D,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,CAAC,IAAA,kCAAgB,EAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,CAAC,GAAG,EAAE,CACV,IAAA,yCAAuB,EAAC,4CAA4C,CAAC,CACtE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,EAAE,CACV,IAAA,yCAAuB,EAAC,4CAA4C,CAAC,CACtE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport { assertNotBlockedAddress, isBlockedAddress } from '../blocked-address';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\ndescribe('blocked-address', () => {\n it('Should recognize blocked addresses', async () => {\n expect(\n isBlockedAddress('0x1356c899d8c9467c7f71c195612f8a395abf2f0a'),\n ).to.equal(true);\n expect(\n isBlockedAddress(\n '0x1356c899d8c9467c7f71c195612f8a395abf2f0a'.toUpperCase(),\n ),\n ).to.equal(true);\n expect(\n isBlockedAddress('0x8356c899d8c9467c7f71c195612f8a395abf2f0a'),\n ).to.equal(false);\n expect(isBlockedAddress(undefined)).to.equal(false);\n });\n\n it('Assert should throw on blocked address', async () => {\n expect(() =>\n assertNotBlockedAddress('0x1356c899d8c9467c7f71c195612f8a395abf2f0a'),\n ).to.throw();\n expect(() =>\n assertNotBlockedAddress('0x8356c899d8c9467c7f71c195612f8a395abf2f0a'),\n ).to.not.throw();\n });\n});\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chai_1 = __importDefault(require("chai"));
7
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
8
- const sinon_1 = __importDefault(require("sinon"));
9
- const logger_1 = require("../logger");
10
- chai_1.default.use(chai_as_promised_1.default);
11
- const { expect } = chai_1.default;
12
- describe('logger', () => {
13
- after(() => {
14
- (0, logger_1.setLoggers)(undefined, undefined);
15
- });
16
- it('Should test out logger setters', () => {
17
- const messageSpy = sinon_1.default.spy();
18
- const errorSpy = sinon_1.default.spy();
19
- (0, logger_1.setLoggers)(messageSpy, errorSpy);
20
- expect(messageSpy.notCalled).to.be.true;
21
- expect(errorSpy.notCalled).to.be.true;
22
- (0, logger_1.sendMessage)('msg');
23
- expect(messageSpy.calledOnce).to.be.true;
24
- (0, logger_1.sendErrorMessage)('err');
25
- expect(errorSpy.calledOnce).to.be.true;
26
- });
27
- });
28
- //# sourceMappingURL=logger.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/logger.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,wEAA8C;AAC9C,kDAA0B;AAC1B,sCAAsE;AAEtE,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACzB,MAAM,EAAE,MAAM,EAAE,GAAG,cAAI,CAAC;AAExB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,KAAK,CAAC,GAAG,EAAE;QACT,IAAA,mBAAU,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,eAAK,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,eAAK,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAA,mBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEjC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAEtC,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzC,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport Sinon from 'sinon';\nimport { sendErrorMessage, sendMessage, setLoggers } from '../logger';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\ndescribe('logger', () => {\n after(() => {\n setLoggers(undefined, undefined);\n });\n\n it('Should test out logger setters', () => {\n const messageSpy = Sinon.spy();\n const errorSpy = Sinon.spy();\n setLoggers(messageSpy, errorSpy);\n\n expect(messageSpy.notCalled).to.be.true;\n expect(errorSpy.notCalled).to.be.true;\n\n sendMessage('msg');\n expect(messageSpy.calledOnce).to.be.true;\n sendErrorMessage('err');\n expect(errorSpy.calledOnce).to.be.true;\n });\n});\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chai_1 = __importDefault(require("chai"));
7
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
8
- const utils_1 = require("../utils");
9
- chai_1.default.use(chai_as_promised_1.default);
10
- const { expect } = chai_1.default;
11
- describe('utils', () => {
12
- it('Should test array comparisons', () => {
13
- expect((0, utils_1.compareStringArrays)(undefined, [])).to.be.false;
14
- expect((0, utils_1.compareStringArrays)([], undefined)).to.be.false;
15
- expect((0, utils_1.compareStringArrays)([], [])).to.be.true;
16
- expect((0, utils_1.compareStringArrays)([], ['1'])).to.be.false;
17
- expect((0, utils_1.compareStringArrays)(['1'], [])).to.be.false;
18
- expect((0, utils_1.compareStringArrays)(['1', '2'], ['2', '1'])).to.be.true;
19
- });
20
- });
21
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/utils.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,wEAA8C;AAC9C,oCAA+C;AAE/C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACzB,MAAM,EAAE,MAAM,EAAE,GAAG,cAAI,CAAC;AAExB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,IAAA,2BAAmB,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACvD,MAAM,CAAC,IAAA,2BAAmB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACvD,MAAM,CAAC,IAAA,2BAAmB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/C,MAAM,CAAC,IAAA,2BAAmB,EAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACnD,MAAM,CAAC,IAAA,2BAAmB,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACnD,MAAM,CAAC,IAAA,2BAAmB,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport { compareStringArrays } from '../utils';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\ndescribe('utils', () => {\n it('Should test array comparisons', () => {\n expect(compareStringArrays(undefined, [])).to.be.false;\n expect(compareStringArrays([], undefined)).to.be.false;\n expect(compareStringArrays([], [])).to.be.true;\n expect(compareStringArrays([], ['1'])).to.be.false;\n expect(compareStringArrays(['1'], [])).to.be.false;\n expect(compareStringArrays(['1', '2'], ['2', '1'])).to.be.true;\n });\n});\n"]}