@spacesops/wdk-react-native-core 1.0.0-beta.70 → 1.0.0-beta.72

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.
@@ -11,8 +11,24 @@ import { delay, withTransientRetry } from '../utils/retryUtils';
11
11
  function normalizeBaseUrl(baseUrl) {
12
12
  return baseUrl.replace(/\/$/, '');
13
13
  }
14
- function tokenSlugFromConfig(symbol) {
15
- return symbol.toLowerCase();
14
+ /**
15
+ * Resolve the WDK Indexer `{token}` path segment, or null when this asset has no indexer history.
16
+ *
17
+ * The indexer only tracks select assets (e.g. `usdt`, `xaut`, `btc`). Native EVM gas tokens
18
+ * (`eth`, `matic`, …) are not valid and return 400 if requested.
19
+ */
20
+ function indexerTokenSlugFromConfig(token) {
21
+ if (token.indexerToken) {
22
+ return token.indexerToken.toLowerCase();
23
+ }
24
+ if (token.address !== null) {
25
+ return token.symbol.toLowerCase();
26
+ }
27
+ // Native: only Bitcoin is indexed under `btc` today.
28
+ if (token.symbol.toLowerCase() === 'btc') {
29
+ return 'btc';
30
+ }
31
+ return null;
16
32
  }
17
33
  function transactionDedupeKey(tx) {
18
34
  return [
@@ -103,6 +119,11 @@ export class TransactionService {
103
119
  const deduped = new Map();
104
120
  let isFirstNetwork = true;
105
121
  for (const network of networks) {
122
+ const networkTokens = tokenConfigs[network];
123
+ const indexerBlockchain = networkTokens?.indexerBlockchain;
124
+ if (!indexerBlockchain) {
125
+ continue;
126
+ }
106
127
  const address = addresses[network]?.[accountIndex];
107
128
  if (!address) {
108
129
  continue;
@@ -111,9 +132,6 @@ export class TransactionService {
111
132
  await delay(BALANCE_FETCH_STAGGER_MS);
112
133
  }
113
134
  isFirstNetwork = false;
114
- const networkTokens = tokenConfigs[network];
115
- if (!networkTokens)
116
- continue;
117
135
  const tokens = [networkTokens.native, ...networkTokens.tokens];
118
136
  for (let i = 0; i < tokens.length; i++) {
119
137
  const token = tokens[i];
@@ -122,9 +140,12 @@ export class TransactionService {
122
140
  if (i > 0) {
123
141
  await delay(BALANCE_FETCH_INTRA_NETWORK_STAGGER_MS);
124
142
  }
125
- const tokenSlug = tokenSlugFromConfig(token.symbol);
143
+ const tokenSlug = indexerTokenSlugFromConfig(token);
144
+ if (!tokenSlug) {
145
+ continue;
146
+ }
126
147
  try {
127
- const transfers = await this.fetchTokenTransfers(network, tokenSlug, address);
148
+ const transfers = await this.fetchTokenTransfers(indexerBlockchain, tokenSlug, address);
128
149
  for (const tx of transfers) {
129
150
  const withBlockchain = tx.blockchain
130
151
  ? tx
@@ -133,7 +154,7 @@ export class TransactionService {
133
154
  }
134
155
  }
135
156
  catch (error) {
136
- logError(`Failed to fetch token transfers for ${network}/${tokenSlug}:`, error);
157
+ logError(`Failed to fetch token transfers for ${indexerBlockchain}/${tokenSlug}:`, error);
137
158
  }
138
159
  }
139
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../src/services/transactionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../src/services/transactionService.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -46,6 +46,12 @@ export interface TokenConfig {
46
46
  decimals: number;
47
47
  /** Token contract address (null for native tokens) */
48
48
  address: string | null;
49
+ /**
50
+ * WDK Indexer token path segment for token-transfers.
51
+ * When omitted, ERC-20/jetton tokens use lowercase symbol; native gas tokens are skipped
52
+ * except Bitcoin (`btc`). Set explicitly to override or to enable native history when supported.
53
+ */
54
+ indexerToken?: string;
49
55
  }
50
56
  /**
51
57
  * Network Tokens
@@ -57,6 +63,11 @@ export interface NetworkTokens {
57
63
  native: TokenConfig;
58
64
  /** Array of ERC20 token configurations */
59
65
  tokens: TokenConfig[];
66
+ /**
67
+ * WDK Indexer blockchain path segment for token-transfers on this network.
68
+ * When omitted, transaction history is not fetched from the indexer for this network.
69
+ */
70
+ indexerBlockchain?: string;
60
71
  }
61
72
  /**
62
73
  * Token Configurations
@@ -126,16 +126,19 @@ export declare const tokenConfigSchema: z.ZodObject<{
126
126
  name: z.ZodString;
127
127
  decimals: z.ZodNumber;
128
128
  address: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodString]>, z.ZodNull]>;
129
+ indexerToken: z.ZodOptional<z.ZodString>;
129
130
  }, "strip", z.ZodTypeAny, {
130
131
  symbol: string;
131
132
  name: string;
132
133
  decimals: number;
133
134
  address: string | null;
135
+ indexerToken?: string | undefined;
134
136
  }, {
135
137
  symbol: string;
136
138
  name: string;
137
139
  decimals: number;
138
140
  address: string | null;
141
+ indexerToken?: string | undefined;
139
142
  }>;
140
143
  /**
141
144
  * Network tokens schema
@@ -146,59 +149,72 @@ export declare const networkTokensSchema: z.ZodObject<{
146
149
  name: z.ZodString;
147
150
  decimals: z.ZodNumber;
148
151
  address: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodString]>, z.ZodNull]>;
152
+ indexerToken: z.ZodOptional<z.ZodString>;
149
153
  }, "strip", z.ZodTypeAny, {
150
154
  symbol: string;
151
155
  name: string;
152
156
  decimals: number;
153
157
  address: string | null;
158
+ indexerToken?: string | undefined;
154
159
  }, {
155
160
  symbol: string;
156
161
  name: string;
157
162
  decimals: number;
158
163
  address: string | null;
164
+ indexerToken?: string | undefined;
159
165
  }>;
160
166
  tokens: z.ZodArray<z.ZodObject<{
161
167
  symbol: z.ZodString;
162
168
  name: z.ZodString;
163
169
  decimals: z.ZodNumber;
164
170
  address: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodString]>, z.ZodNull]>;
171
+ indexerToken: z.ZodOptional<z.ZodString>;
165
172
  }, "strip", z.ZodTypeAny, {
166
173
  symbol: string;
167
174
  name: string;
168
175
  decimals: number;
169
176
  address: string | null;
177
+ indexerToken?: string | undefined;
170
178
  }, {
171
179
  symbol: string;
172
180
  name: string;
173
181
  decimals: number;
174
182
  address: string | null;
183
+ indexerToken?: string | undefined;
175
184
  }>, "many">;
185
+ indexerBlockchain: z.ZodOptional<z.ZodString>;
176
186
  }, "strip", z.ZodTypeAny, {
177
187
  native: {
178
188
  symbol: string;
179
189
  name: string;
180
190
  decimals: number;
181
191
  address: string | null;
192
+ indexerToken?: string | undefined;
182
193
  };
183
194
  tokens: {
184
195
  symbol: string;
185
196
  name: string;
186
197
  decimals: number;
187
198
  address: string | null;
199
+ indexerToken?: string | undefined;
188
200
  }[];
201
+ indexerBlockchain?: string | undefined;
189
202
  }, {
190
203
  native: {
191
204
  symbol: string;
192
205
  name: string;
193
206
  decimals: number;
194
207
  address: string | null;
208
+ indexerToken?: string | undefined;
195
209
  };
196
210
  tokens: {
197
211
  symbol: string;
198
212
  name: string;
199
213
  decimals: number;
200
214
  address: string | null;
215
+ indexerToken?: string | undefined;
201
216
  }[];
217
+ indexerBlockchain?: string | undefined;
202
218
  }>;
203
219
  /**
204
220
  * Token configurations schema
@@ -209,85 +225,104 @@ export declare const tokenConfigsSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z
209
225
  name: z.ZodString;
210
226
  decimals: z.ZodNumber;
211
227
  address: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodString]>, z.ZodNull]>;
228
+ indexerToken: z.ZodOptional<z.ZodString>;
212
229
  }, "strip", z.ZodTypeAny, {
213
230
  symbol: string;
214
231
  name: string;
215
232
  decimals: number;
216
233
  address: string | null;
234
+ indexerToken?: string | undefined;
217
235
  }, {
218
236
  symbol: string;
219
237
  name: string;
220
238
  decimals: number;
221
239
  address: string | null;
240
+ indexerToken?: string | undefined;
222
241
  }>;
223
242
  tokens: z.ZodArray<z.ZodObject<{
224
243
  symbol: z.ZodString;
225
244
  name: z.ZodString;
226
245
  decimals: z.ZodNumber;
227
246
  address: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodString]>, z.ZodNull]>;
247
+ indexerToken: z.ZodOptional<z.ZodString>;
228
248
  }, "strip", z.ZodTypeAny, {
229
249
  symbol: string;
230
250
  name: string;
231
251
  decimals: number;
232
252
  address: string | null;
253
+ indexerToken?: string | undefined;
233
254
  }, {
234
255
  symbol: string;
235
256
  name: string;
236
257
  decimals: number;
237
258
  address: string | null;
259
+ indexerToken?: string | undefined;
238
260
  }>, "many">;
261
+ indexerBlockchain: z.ZodOptional<z.ZodString>;
239
262
  }, "strip", z.ZodTypeAny, {
240
263
  native: {
241
264
  symbol: string;
242
265
  name: string;
243
266
  decimals: number;
244
267
  address: string | null;
268
+ indexerToken?: string | undefined;
245
269
  };
246
270
  tokens: {
247
271
  symbol: string;
248
272
  name: string;
249
273
  decimals: number;
250
274
  address: string | null;
275
+ indexerToken?: string | undefined;
251
276
  }[];
277
+ indexerBlockchain?: string | undefined;
252
278
  }, {
253
279
  native: {
254
280
  symbol: string;
255
281
  name: string;
256
282
  decimals: number;
257
283
  address: string | null;
284
+ indexerToken?: string | undefined;
258
285
  };
259
286
  tokens: {
260
287
  symbol: string;
261
288
  name: string;
262
289
  decimals: number;
263
290
  address: string | null;
291
+ indexerToken?: string | undefined;
264
292
  }[];
293
+ indexerBlockchain?: string | undefined;
265
294
  }>>, Record<string, {
266
295
  native: {
267
296
  symbol: string;
268
297
  name: string;
269
298
  decimals: number;
270
299
  address: string | null;
300
+ indexerToken?: string | undefined;
271
301
  };
272
302
  tokens: {
273
303
  symbol: string;
274
304
  name: string;
275
305
  decimals: number;
276
306
  address: string | null;
307
+ indexerToken?: string | undefined;
277
308
  }[];
309
+ indexerBlockchain?: string | undefined;
278
310
  }>, Record<string, {
279
311
  native: {
280
312
  symbol: string;
281
313
  name: string;
282
314
  decimals: number;
283
315
  address: string | null;
316
+ indexerToken?: string | undefined;
284
317
  };
285
318
  tokens: {
286
319
  symbol: string;
287
320
  name: string;
288
321
  decimals: number;
289
322
  address: string | null;
323
+ indexerToken?: string | undefined;
290
324
  }[];
325
+ indexerBlockchain?: string | undefined;
291
326
  }>>;
292
327
  /**
293
328
  * Account index schema
@@ -97,6 +97,7 @@ export const tokenConfigSchema = z.object({
97
97
  name: z.string().min(1),
98
98
  decimals: z.number().int().min(0).max(18),
99
99
  address: z.union([tokenContractAddressSchema, z.null()]),
100
+ indexerToken: z.string().min(1).optional(),
100
101
  });
101
102
  /**
102
103
  * Network tokens schema
@@ -104,6 +105,7 @@ export const tokenConfigSchema = z.object({
104
105
  export const networkTokensSchema = z.object({
105
106
  native: tokenConfigSchema,
106
107
  tokens: z.array(tokenConfigSchema),
108
+ indexerBlockchain: z.string().min(1).optional(),
107
109
  });
108
110
  /**
109
111
  * Token configurations schema
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spacesops/wdk-react-native-core",
3
- "version": "1.0.0-beta.70",
3
+ "version": "1.0.0-beta.72",
4
4
  "description": "Core functionality for React Native wallets - wallet management, balance fetching, and worklet operations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -119,6 +119,7 @@ describe('TransactionService', () => {
119
119
 
120
120
  const tokenConfigs = {
121
121
  ethereum: {
122
+ indexerBlockchain: 'ethereum',
122
123
  native: { address: null, symbol: 'ETH', name: 'Ethereum', decimals: 18 },
123
124
  tokens: [
124
125
  {
@@ -143,11 +144,56 @@ describe('TransactionService', () => {
143
144
  tokenConfigs,
144
145
  })
145
146
 
147
+ expect(mockFetch).toHaveBeenCalledTimes(2)
146
148
  expect(list).toHaveLength(2)
147
149
  expect(list[0].transactionHash).toBe('0x2')
148
150
  expect(list[1].transactionHash).toBe('0x1')
149
151
  })
150
152
 
153
+ it('skips networks without indexerBlockchain configured', async () => {
154
+ await TransactionService.fetchWalletTransactions({
155
+ addresses: { solana: { 0: 'SolWallet' } },
156
+ accountIndex: 0,
157
+ tokenConfigs: {
158
+ solana: {
159
+ native: { address: null, symbol: 'SOL', name: 'Solana', decimals: 9 },
160
+ tokens: [
161
+ {
162
+ address: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
163
+ symbol: 'USDT',
164
+ name: 'Tether USD',
165
+ decimals: 6,
166
+ },
167
+ ],
168
+ },
169
+ },
170
+ })
171
+
172
+ expect(mockFetch).not.toHaveBeenCalled()
173
+ })
174
+
175
+ it('skips native gas tokens that the indexer does not track', async () => {
176
+ mockFetch.mockResolvedValueOnce({
177
+ ok: true,
178
+ status: 200,
179
+ json: async () => ({ transfers: [] }),
180
+ })
181
+
182
+ await TransactionService.fetchWalletTransactions({
183
+ addresses: { ethereum: { 0: '0xWallet' } },
184
+ accountIndex: 0,
185
+ tokenConfigs: {
186
+ ethereum: {
187
+ indexerBlockchain: 'ethereum',
188
+ native: { address: null, symbol: 'ETH', name: 'Ethereum', decimals: 18 },
189
+ tokens: [],
190
+ },
191
+ },
192
+ })
193
+
194
+ expect(mockFetch).not.toHaveBeenCalled()
195
+ })
196
+
151
197
  it('resolveWalletTransactions returns empty when indexer not configured', async () => {
152
198
  setIndexerConfig(null)
153
199
  const list = await TransactionService.resolveWalletTransactions({
@@ -155,6 +201,7 @@ describe('TransactionService', () => {
155
201
  accountIndex: 0,
156
202
  tokenConfigs: {
157
203
  ethereum: {
204
+ indexerBlockchain: 'ethereum',
158
205
  native: { address: null, symbol: 'ETH', name: 'Ethereum', decimals: 18 },
159
206
  tokens: [],
160
207
  },
@@ -9,7 +9,7 @@ import { getIndexerConfig } from '../store/indexerConfigStore'
9
9
  import { BALANCE_FETCH_INTRA_NETWORK_STAGGER_MS, BALANCE_FETCH_STAGGER_MS } from '../utils/constants'
10
10
  import { logError, logWarn } from '../utils/logger'
11
11
  import { delay, withTransientRetry } from '../utils/retryUtils'
12
- import type { IndexerTokenTransfersResponse, TokenConfigs, WalletTransaction } from '../types'
12
+ import type { IndexerTokenTransfersResponse, TokenConfig, TokenConfigs, WalletTransaction } from '../types'
13
13
 
14
14
  export interface FetchWalletTransactionsParams {
15
15
  addresses: Record<string, Record<number, string>>
@@ -21,8 +21,27 @@ function normalizeBaseUrl(baseUrl: string): string {
21
21
  return baseUrl.replace(/\/$/, '')
22
22
  }
23
23
 
24
- function tokenSlugFromConfig(symbol: string): string {
25
- return symbol.toLowerCase()
24
+ /**
25
+ * Resolve the WDK Indexer `{token}` path segment, or null when this asset has no indexer history.
26
+ *
27
+ * The indexer only tracks select assets (e.g. `usdt`, `xaut`, `btc`). Native EVM gas tokens
28
+ * (`eth`, `matic`, …) are not valid and return 400 if requested.
29
+ */
30
+ function indexerTokenSlugFromConfig(token: TokenConfig): string | null {
31
+ if (token.indexerToken) {
32
+ return token.indexerToken.toLowerCase()
33
+ }
34
+
35
+ if (token.address !== null) {
36
+ return token.symbol.toLowerCase()
37
+ }
38
+
39
+ // Native: only Bitcoin is indexed under `btc` today.
40
+ if (token.symbol.toLowerCase() === 'btc') {
41
+ return 'btc'
42
+ }
43
+
44
+ return null
26
45
  }
27
46
 
28
47
  function transactionDedupeKey(tx: WalletTransaction): string {
@@ -137,6 +156,12 @@ export class TransactionService {
137
156
  let isFirstNetwork = true
138
157
 
139
158
  for (const network of networks) {
159
+ const networkTokens = tokenConfigs[network]
160
+ const indexerBlockchain = networkTokens?.indexerBlockchain
161
+ if (!indexerBlockchain) {
162
+ continue
163
+ }
164
+
140
165
  const address = addresses[network]?.[accountIndex]
141
166
  if (!address) {
142
167
  continue
@@ -147,9 +172,6 @@ export class TransactionService {
147
172
  }
148
173
  isFirstNetwork = false
149
174
 
150
- const networkTokens = tokenConfigs[network]
151
- if (!networkTokens) continue
152
-
153
175
  const tokens = [networkTokens.native, ...networkTokens.tokens]
154
176
  for (let i = 0; i < tokens.length; i++) {
155
177
  const token = tokens[i]
@@ -158,9 +180,16 @@ export class TransactionService {
158
180
  await delay(BALANCE_FETCH_INTRA_NETWORK_STAGGER_MS)
159
181
  }
160
182
 
161
- const tokenSlug = tokenSlugFromConfig(token.symbol)
183
+ const tokenSlug = indexerTokenSlugFromConfig(token)
184
+ if (!tokenSlug) {
185
+ continue
186
+ }
162
187
  try {
163
- const transfers = await this.fetchTokenTransfers(network, tokenSlug, address)
188
+ const transfers = await this.fetchTokenTransfers(
189
+ indexerBlockchain,
190
+ tokenSlug,
191
+ address
192
+ )
164
193
  for (const tx of transfers) {
165
194
  const withBlockchain = tx.blockchain
166
195
  ? tx
@@ -169,7 +198,7 @@ export class TransactionService {
169
198
  }
170
199
  } catch (error) {
171
200
  logError(
172
- `Failed to fetch token transfers for ${network}/${tokenSlug}:`,
201
+ `Failed to fetch token transfers for ${indexerBlockchain}/${tokenSlug}:`,
173
202
  error
174
203
  )
175
204
  }
package/src/types.ts CHANGED
@@ -49,6 +49,12 @@ export interface TokenConfig {
49
49
  decimals: number
50
50
  /** Token contract address (null for native tokens) */
51
51
  address: string | null
52
+ /**
53
+ * WDK Indexer token path segment for token-transfers.
54
+ * When omitted, ERC-20/jetton tokens use lowercase symbol; native gas tokens are skipped
55
+ * except Bitcoin (`btc`). Set explicitly to override or to enable native history when supported.
56
+ */
57
+ indexerToken?: string
52
58
  }
53
59
 
54
60
  /**
@@ -61,6 +67,11 @@ export interface NetworkTokens {
61
67
  native: TokenConfig
62
68
  /** Array of ERC20 token configurations */
63
69
  tokens: TokenConfig[]
70
+ /**
71
+ * WDK Indexer blockchain path segment for token-transfers on this network.
72
+ * When omitted, transaction history is not fetched from the indexer for this network.
73
+ */
74
+ indexerBlockchain?: string
64
75
  }
65
76
 
66
77
  /**
@@ -115,6 +115,7 @@ export const tokenConfigSchema = z.object({
115
115
  name: z.string().min(1),
116
116
  decimals: z.number().int().min(0).max(18),
117
117
  address: z.union([tokenContractAddressSchema, z.null()]),
118
+ indexerToken: z.string().min(1).optional(),
118
119
  })
119
120
 
120
121
  /**
@@ -123,6 +124,7 @@ export const tokenConfigSchema = z.object({
123
124
  export const networkTokensSchema = z.object({
124
125
  native: tokenConfigSchema,
125
126
  tokens: z.array(tokenConfigSchema),
127
+ indexerBlockchain: z.string().min(1).optional(),
126
128
  })
127
129
 
128
130
  /**