@ercworldio/blockchain-shared 1.0.2-dev.4 → 1.0.2-dev.6

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.
@@ -38,7 +38,8 @@
38
38
  },
39
39
  "tronConfig": {
40
40
  "trxTransferCost": 270000,
41
- "trc20TransferCost": 4000000
41
+ "trc20TransferCost": 4000000,
42
+ "rentEnergyWallet": "THJXTqTw1gyAegWmHooebj6YNT8XHqcyFA"
42
43
  },
43
44
  "accounting": {
44
45
  "funding_wallet": "TN4tXH5F36BxWEe8UQuUeMr1EuPwJjNUFJ",
@@ -14,7 +14,10 @@
14
14
  "treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
15
15
  "overflow_treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
16
16
  "overflow_threshold_decimal": 100000,
17
- "min_funding_wallet_balance_usd": 5
17
+ "min_funding_wallet_balance_usd": 5,
18
+ "allowed_receivers": [
19
+ "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C"
20
+ ]
18
21
  },
19
22
  "custodialAlchemyWebhooks": [
20
23
  {
@@ -109,7 +112,10 @@
109
112
  "treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
110
113
  "overflow_treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
111
114
  "overflow_threshold_decimal": 100000,
112
- "min_funding_wallet_balance_usd": 5
115
+ "min_funding_wallet_balance_usd": 5,
116
+ "allowed_receivers": [
117
+ "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C"
118
+ ]
113
119
  },
114
120
  "custodialAlchemyWebhooks": [
115
121
  {
@@ -198,13 +204,14 @@
198
204
  "blockexplorerUrl": "https://solscan.io",
199
205
  "rpcBaseUrl": "https://rpc.ankr.com/solana",
200
206
  "rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
201
- "targetConfirmations": 2,
207
+ "targetConfirmations": 32,
202
208
  "accounting": {
203
209
  "funding_wallet": "EvEmp35XMdWcsG3sULndr2Vb5yiLcA9JCfSBw5A6bXk6",
204
210
  "treasury_receiver": "67e3Robajph3KSAq3VDuYL21xifkCmD5y28DPwMecu7S",
205
211
  "overflow_treasury_receiver": "67e3Robajph3KSAq3VDuYL21xifkCmD5y28DPwMecu7S",
206
212
  "overflow_threshold_decimal": 100000,
207
- "min_funding_wallet_balance_usd": 5
213
+ "min_funding_wallet_balance_usd": 5,
214
+ "allowed_receivers": []
208
215
  },
209
216
  "custodialAlchemyWebhooks": [
210
217
  {
@@ -299,7 +306,10 @@
299
306
  "treasury_receiver": "0xE75526AaD30364d198b8553C716Aa9DDc2f8BD26",
300
307
  "overflow_treasury_receiver": "0xE75526AaD30364d198b8553C716Aa9DDc2f8BD26",
301
308
  "overflow_threshold_decimal": 100000,
302
- "min_funding_wallet_balance_usd": 5
309
+ "min_funding_wallet_balance_usd": 5,
310
+ "allowed_receivers": [
311
+ "0xE75526AaD30364d198b8553C716Aa9DDc2f8BD26"
312
+ ]
303
313
  },
304
314
  "custodialAlchemyWebhooks": [
305
315
  {
@@ -394,7 +404,10 @@
394
404
  "treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
395
405
  "overflow_treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
396
406
  "overflow_threshold_decimal": 100000,
397
- "min_funding_wallet_balance_usd": 5
407
+ "min_funding_wallet_balance_usd": 5,
408
+ "allowed_receivers": [
409
+ "0xD7205fD63Fa5def834DD3556c149FF7911478391"
410
+ ]
398
411
  },
399
412
  "custodialAlchemyWebhooks": [
400
413
  {
@@ -478,7 +491,10 @@
478
491
  "treasury_receiver": "0xedb9e987Da3806205D2f1e246Eb8c538A872783E",
479
492
  "overflow_treasury_receiver": "0xedb9e987Da3806205D2f1e246Eb8c538A872783E",
480
493
  "overflow_threshold_decimal": 100000,
481
- "min_funding_wallet_balance_usd": 5
494
+ "min_funding_wallet_balance_usd": 5,
495
+ "allowed_receivers": [
496
+ "0xedb9e987Da3806205D2f1e246Eb8c538A872783E"
497
+ ]
482
498
  },
483
499
  "custodialAlchemyWebhooks": [
484
500
  {
@@ -574,7 +590,8 @@
574
590
  "treasury_receiver": "TTxo5LeNkq5g9sywaGdXjttKRvoum8xSGp",
575
591
  "overflow_treasury_receiver": "TTxo5LeNkq5g9sywaGdXjttKRvoum8xSGp",
576
592
  "overflow_threshold_decimal": 100000,
577
- "min_funding_wallet_balance_usd": 5
593
+ "min_funding_wallet_balance_usd": 5,
594
+ "allowed_receivers": []
578
595
  },
579
596
  "rpcMetadata": {
580
597
  "rpcBaseUrl": "https://rpc.ankr.com/premium-http/tron",
@@ -14,7 +14,10 @@
14
14
  "treasury_receiver": "0x5df6F2A9016d6cA062e60da3b056736B2015B6f0",
15
15
  "overflow_treasury_receiver": "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e",
16
16
  "overflow_threshold_decimal": 100000,
17
- "min_funding_wallet_balance_usd": 5
17
+ "min_funding_wallet_balance_usd": 5,
18
+ "allowed_receivers": [
19
+ "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e"
20
+ ]
18
21
  },
19
22
  "custodialAlchemyWebhooks": [
20
23
  {
@@ -131,7 +134,10 @@
131
134
  "treasury_receiver": "0x184D508C3934e36Df2531175460DCca51F238E4e",
132
135
  "overflow_treasury_receiver": "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e",
133
136
  "overflow_threshold_decimal": 100000,
134
- "min_funding_wallet_balance_usd": 5
137
+ "min_funding_wallet_balance_usd": 5,
138
+ "allowed_receivers": [
139
+ "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e"
140
+ ]
135
141
  },
136
142
  "custodialAlchemyWebhooks": [
137
143
  {
@@ -220,13 +226,16 @@
220
226
  "blockexplorerUrl": "https://solscan.io",
221
227
  "rpcBaseUrl": "https://rpc.ankr.com/solana",
222
228
  "rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
223
- "targetConfirmations": 2,
229
+ "targetConfirmations": 32,
224
230
  "accounting": {
225
231
  "funding_wallet": "7z5QwV7mg93PU8tBsbdvXscG9bf5VUP2QYHvS2czNisG",
226
232
  "treasury_receiver": "Cr1fJwtExaPdYG8huC5axiW2m2knSoTumLzYBj9rMjCd",
227
233
  "overflow_treasury_receiver": "9Akuf5wxomRwzbu3wpSPpJ21EABGGaopoBoCD1boE4Hn",
228
234
  "overflow_threshold_decimal": 100000,
229
- "min_funding_wallet_balance_usd": 5
235
+ "min_funding_wallet_balance_usd": 5,
236
+ "allowed_receivers": [
237
+ "9Akuf5wxomRwzbu3wpSPpJ21EABGGaopoBoCD1boE4Hn"
238
+ ]
230
239
  },
231
240
  "custodialAlchemyWebhooks": [
232
241
  {
@@ -332,7 +341,10 @@
332
341
  "treasury_receiver": "0x1821236AaC799c31F12C7359017083620a49a52E",
333
342
  "overflow_treasury_receiver": "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e",
334
343
  "overflow_threshold_decimal": 100000,
335
- "min_funding_wallet_balance_usd": 5
344
+ "min_funding_wallet_balance_usd": 5,
345
+ "allowed_receivers": [
346
+ "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e"
347
+ ]
336
348
  },
337
349
  "custodialAlchemyWebhooks": [
338
350
  {
@@ -427,7 +439,10 @@
427
439
  "treasury_receiver": "0x567559911E22E461a449BB036fE4C44464aaa664",
428
440
  "overflow_treasury_receiver": "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e",
429
441
  "overflow_threshold_decimal": 100000,
430
- "min_funding_wallet_balance_usd": 5
442
+ "min_funding_wallet_balance_usd": 5,
443
+ "allowed_receivers": [
444
+ "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e"
445
+ ]
431
446
  },
432
447
  "custodialAlchemyWebhooks": [
433
448
  {
@@ -511,7 +526,10 @@
511
526
  "treasury_receiver": "0x5df6F2A9016d6cA062e60da3b056736B2015B6f0",
512
527
  "overflow_treasury_receiver": "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e",
513
528
  "overflow_threshold_decimal": 100000,
514
- "min_funding_wallet_balance_usd": 5
529
+ "min_funding_wallet_balance_usd": 5,
530
+ "allowed_receivers": [
531
+ "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e"
532
+ ]
515
533
  },
516
534
  "custodialAlchemyWebhooks": [
517
535
  {
@@ -607,7 +625,10 @@
607
625
  "treasury_receiver": "TBLeFCWoBrwgbvj33F41t8FErhkgbm3276",
608
626
  "overflow_treasury_receiver": "TJetV4XspjvQ3adfQV8RExniL7NAJukF2p",
609
627
  "overflow_threshold_decimal": 100000,
610
- "min_funding_wallet_balance_usd": 5
628
+ "min_funding_wallet_balance_usd": 5,
629
+ "allowed_receivers": [
630
+ "0x9ec71A61106a84048D19bDb4D27EbBcD4f12fd2e"
631
+ ]
611
632
  },
612
633
  "rpcMetadata": {
613
634
  "rpcBaseUrl": "https://rpc.ankr.com/premium-http/tron",
@@ -14,7 +14,10 @@
14
14
  "treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
15
15
  "overflow_treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
16
16
  "overflow_threshold_decimal": 100000,
17
- "min_funding_wallet_balance_usd": 5
17
+ "min_funding_wallet_balance_usd": 5,
18
+ "allowed_receivers": [
19
+ "0x8A729F30A9860ad6148D35A4Df49314f571bE84d"
20
+ ]
18
21
  },
19
22
  "custodialAlchemyWebhooks": [
20
23
  {
@@ -95,7 +98,10 @@
95
98
  "treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
96
99
  "overflow_treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
97
100
  "overflow_threshold_decimal": 100000,
98
- "min_funding_wallet_balance_usd": 5
101
+ "min_funding_wallet_balance_usd": 5,
102
+ "allowed_receivers": [
103
+ "0x8A729F30A9860ad6148D35A4Df49314f571bE84d"
104
+ ]
99
105
  },
100
106
  "custodialAlchemyWebhooks": [
101
107
  {
@@ -170,13 +176,14 @@
170
176
  "blockexplorerUrl": "https://solscan.io",
171
177
  "rpcBaseUrl": "https://rpc.ankr.com/solana",
172
178
  "rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
173
- "targetConfirmations": 2,
179
+ "targetConfirmations": 32,
174
180
  "accounting": {
175
181
  "funding_wallet": "79ojMgdb9dLuGnFRjaNzkYmd4NFxV5ukRTpYSrTxmTFN",
176
182
  "treasury_receiver": "Fi2BknBbXXcjHst2PwQQVZwYx8NHx6k8NsU5cLXhTwmT",
177
183
  "overflow_treasury_receiver": "Fi2BknBbXXcjHst2PwQQVZwYx8NHx6k8NsU5cLXhTwmT",
178
184
  "overflow_threshold_decimal": 100000,
179
- "min_funding_wallet_balance_usd": 5
185
+ "min_funding_wallet_balance_usd": 5,
186
+ "allowed_receivers": []
180
187
  },
181
188
  "custodialAlchemyWebhooks": [
182
189
  {
@@ -257,7 +264,10 @@
257
264
  "treasury_receiver": "0x45B284aB71F18866438E33f1f68e7561aa8D5806",
258
265
  "overflow_treasury_receiver": "0x45B284aB71F18866438E33f1f68e7561aa8D5806",
259
266
  "overflow_threshold_decimal": 100000,
260
- "min_funding_wallet_balance_usd": 5
267
+ "min_funding_wallet_balance_usd": 5,
268
+ "allowed_receivers": [
269
+ "0x45B284aB71F18866438E33f1f68e7561aa8D5806"
270
+ ]
261
271
  },
262
272
  "custodialAlchemyWebhooks": [
263
273
  {
@@ -338,7 +348,10 @@
338
348
  "treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
339
349
  "overflow_treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
340
350
  "overflow_threshold_decimal": 100000,
341
- "min_funding_wallet_balance_usd": 5
351
+ "min_funding_wallet_balance_usd": 5,
352
+ "allowed_receivers": [
353
+ "0x8A729F30A9860ad6148D35A4Df49314f571bE84d"
354
+ ]
342
355
  },
343
356
  "custodialAlchemyWebhooks": [
344
357
  {
@@ -408,7 +421,10 @@
408
421
  "treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
409
422
  "overflow_treasury_receiver": "0x8A729F30A9860ad6148D35A4Df49314f571bE84d",
410
423
  "overflow_threshold_decimal": 100000,
411
- "min_funding_wallet_balance_usd": 5
424
+ "min_funding_wallet_balance_usd": 5,
425
+ "allowed_receivers": [
426
+ "0x8A729F30A9860ad6148D35A4Df49314f571bE84d"
427
+ ]
412
428
  },
413
429
  "custodialAlchemyWebhooks": [
414
430
  {
@@ -490,7 +506,8 @@
490
506
  "treasury_receiver": "TWA4NYYdVtnb7iZfmyruC5MefsFdw84iZu",
491
507
  "overflow_treasury_receiver": "TWA4NYYdVtnb7iZfmyruC5MefsFdw84iZu",
492
508
  "overflow_threshold_decimal": 100000,
493
- "min_funding_wallet_balance_usd": 5
509
+ "min_funding_wallet_balance_usd": 5,
510
+ "allowed_receivers": []
494
511
  },
495
512
  "rpcMetadata": {
496
513
  "rpcBaseUrl": "https://rpc.ankr.com/premium-http/tron",
@@ -14,7 +14,10 @@
14
14
  "treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
15
15
  "overflow_treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
16
16
  "overflow_threshold_decimal": 100000,
17
- "min_funding_wallet_balance_usd": 5
17
+ "min_funding_wallet_balance_usd": 5,
18
+ "allowed_receivers": [
19
+ "0xD7205fD63Fa5def834DD3556c149FF7911478391"
20
+ ]
18
21
  },
19
22
  "custodialAlchemyWebhooks": [
20
23
  {
@@ -117,7 +120,10 @@
117
120
  "treasury_receiver": "0xedb9e987Da3806205D2f1e246Eb8c538A872783E",
118
121
  "overflow_treasury_receiver": "0xedb9e987Da3806205D2f1e246Eb8c538A872783E",
119
122
  "overflow_threshold_decimal": 100000,
120
- "min_funding_wallet_balance_usd": 5
123
+ "min_funding_wallet_balance_usd": 5,
124
+ "allowed_receivers": [
125
+ "0xedb9e987Da3806205D2f1e246Eb8c538A872783E"
126
+ ]
121
127
  },
122
128
  "custodialAlchemyWebhooks": [
123
129
  {
@@ -192,13 +198,14 @@
192
198
  "blockexplorerUrl": "https://solscan.io",
193
199
  "rpcBaseUrl": "https://rpc.ankr.com/solana",
194
200
  "rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
195
- "targetConfirmations": 2,
201
+ "targetConfirmations": 32,
196
202
  "accounting": {
197
203
  "funding_wallet": "sB5d7n9EK7QNmFqB9VmLdi8FMf2yJxbovfuz9mToUqD",
198
204
  "treasury_receiver": "yCwEYHrHy2Ri81vxkYbwmuPcLubCZe82mWRUhDciqx6",
199
205
  "overflow_treasury_receiver": "yCwEYHrHy2Ri81vxkYbwmuPcLubCZe82mWRUhDciqx6",
200
206
  "overflow_threshold_decimal": 100000,
201
- "min_funding_wallet_balance_usd": 5
207
+ "min_funding_wallet_balance_usd": 5,
208
+ "allowed_receivers": []
202
209
  },
203
210
  "custodialAlchemyWebhooks": [
204
211
  {
@@ -290,7 +297,10 @@
290
297
  "treasury_receiver": "0xc4b25365d597EB6B7Db78429f70b8E325C2456BD",
291
298
  "overflow_treasury_receiver": "0xc4b25365d597EB6B7Db78429f70b8E325C2456BD",
292
299
  "overflow_threshold_decimal": 100000,
293
- "min_funding_wallet_balance_usd": 5
300
+ "min_funding_wallet_balance_usd": 5,
301
+ "allowed_receivers": [
302
+ "0xc4b25365d597EB6B7Db78429f70b8E325C2456BD"
303
+ ]
294
304
  },
295
305
  "custodialAlchemyWebhooks": [
296
306
  {
@@ -371,7 +381,10 @@
371
381
  "treasury_receiver": "0xA228E95a253B42fFAc8C26Df2ca1EdD0C2D4A191",
372
382
  "overflow_treasury_receiver": "0xA228E95a253B42fFAc8C26Df2ca1EdD0C2D4A191",
373
383
  "overflow_threshold_decimal": 100000,
374
- "min_funding_wallet_balance_usd": 5
384
+ "min_funding_wallet_balance_usd": 5,
385
+ "allowed_receivers": [
386
+ "0xA228E95a253B42fFAc8C26Df2ca1EdD0C2D4A191"
387
+ ]
375
388
  },
376
389
  "custodialAlchemyWebhooks": [
377
390
  {
@@ -441,7 +454,10 @@
441
454
  "treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
442
455
  "overflow_treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
443
456
  "overflow_threshold_decimal": 100000,
444
- "min_funding_wallet_balance_usd": 5
457
+ "min_funding_wallet_balance_usd": 5,
458
+ "allowed_receivers": [
459
+ "0xD7205fD63Fa5def834DD3556c149FF7911478391"
460
+ ]
445
461
  },
446
462
  "custodialAlchemyWebhooks": [
447
463
  {
@@ -523,7 +539,8 @@
523
539
  "treasury_receiver": "TUWoLoAJKqWome13wtHZ7m62Apa2rT87Ky",
524
540
  "overflow_treasury_receiver": "TUWoLoAJKqWome13wtHZ7m62Apa2rT87Ky",
525
541
  "overflow_threshold_decimal": 100000,
526
- "min_funding_wallet_balance_usd": 5
542
+ "min_funding_wallet_balance_usd": 5,
543
+ "allowed_receivers": []
527
544
  },
528
545
  "rpcMetadata": {
529
546
  "rpcBaseUrl": "https://rpc.ankr.com/premium-http/tron",
@@ -59,6 +59,10 @@ export declare const ErrorMessages: {
59
59
  readonly ZERO_VALUE_TX: "Withdrawal amount cannot be zero";
60
60
  readonly UNSUPPORTED_BLOCKCHAIN: "The selected blockchain is not supported";
61
61
  readonly NOT_WHITELISTED: "The provided wallet address is not whitelisted";
62
+ readonly INVALID_WALLET_TYPE: "WalletType is invalid. Use \"funding\", \"rent-energy\" or \"escrow\"";
63
+ readonly ONLY_NATIVE_WITHDRAWAL: "Only native tokens can be withdrawn";
64
+ readonly RENT_ENERGY_API_ERROR: "Encountered error when calling rent API";
65
+ readonly INSUFFICIENT_ENERGY_WALLET_BALANCE: "Rent energy wallet has insufficient balance";
62
66
  };
63
67
  export declare const ErrorCodes: {
64
68
  readonly INTERNAL_SERVER: "error.internal_server_error";
@@ -114,6 +118,10 @@ export declare const ErrorCodes: {
114
118
  readonly ZERO_VALUE_TX: "error.zero_value_tx";
115
119
  readonly UNSUPPORTED_BLOCKCHAIN: "error.unsupported_blockchain";
116
120
  readonly NOT_WHITELISTED: "error.not_whitelisted_wallet_address";
121
+ readonly INVALID_WALLET_TYPE: "error.invalid_wallet_type";
122
+ readonly ONLY_NATIVE_WITHDRAWAL: "error.only_native_withdrawal";
123
+ readonly RENT_ENERGY_API_ERROR: "error.rent_enegy_api_error";
124
+ readonly INSUFFICIENT_ENERGY_WALLET_BALANCE: "error.insufficient_energy_wallet_balance";
117
125
  };
118
126
  export type ErrorCode = typeof ErrorCodes[keyof typeof ErrorCodes];
119
127
  export interface ErrorCodeEntry {
@@ -193,6 +201,10 @@ declare class BaseErrors {
193
201
  UnsupportedBlockchainType(): "The selected blockchain is not supported";
194
202
  ZeroValueTx(): "Withdrawal amount cannot be zero";
195
203
  NotWhitelisted(): "The provided wallet address is not whitelisted";
204
+ InvalidWalletType(): "WalletType is invalid. Use \"funding\", \"rent-energy\" or \"escrow\"";
205
+ OnlyNativeWithdrawal(): "Only native tokens can be withdrawn";
206
+ RentEnergyApiError(): "Encountered error when calling rent API";
207
+ InsufficientRentEnergyWalletBalance(): "Rent energy wallet has insufficient balance";
196
208
  /** Handler methods */
197
209
  handle_error: (error: any, source_method: string) => ErrorHandlerResponse;
198
210
  get_error_code_base: (message: string) => ErrorCodeEntry | null;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqFtB,2BAA2B;;;;IAK3B,sBAAsB;;;;CAKhB,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,cAAM,UAAU;IACL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQX;IAED,yDAAyD;IAClD,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG;IACpB,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG;IACxB,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG;IACpB,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG;IAC9B,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC1B,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG;IACjC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;IACvB,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC3B,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC3B,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG;IAChB,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG;IACzB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;IACvB,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC9B,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG;IACrB,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;IACvB,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC5B,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC3B,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM;IAC/B,yBAAyB,CAAC,CAAC,CAAC,EAAE,GAAG;IACjC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG;IACxB,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG;IACrB,yBAAyB;IACzB,WAAW;IACX,cAAc;IAErB,sBAAsB;IACf,YAAY,GAAI,OAAO,GAAG,EAAE,eAAe,MAAM,KAAG,oBAAoB,CAuB9E;IAEM,mBAAmB,GAAI,SAAS,MAAM,KAAG,cAAc,GAAG,IAAI,CA8BpE;CACJ;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqFtB,2BAA2B;;;;IAK3B,sBAAsB;;;;;;;;CAUhB,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,cAAM,UAAU;IACL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQX;IAED,yDAAyD;IAClD,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG;IACpB,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG;IACxB,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG;IACpB,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG;IAC9B,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC1B,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG;IACjC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;IACvB,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC3B,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC3B,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG;IAChB,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG;IACzB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;IACvB,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC9B,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG;IACrB,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG;IACvB,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC5B,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG;IAC3B,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM;IAC/B,yBAAyB,CAAC,CAAC,CAAC,EAAE,GAAG;IACjC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG;IACxB,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG;IACrB,yBAAyB;IACzB,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,mCAAmC;IAE1C,sBAAsB;IACf,YAAY,GAAI,OAAO,GAAG,EAAE,eAAe,MAAM,KAAG,oBAAoB,CAuB9E;IAEM,mBAAmB,GAAI,SAAS,MAAM,KAAG,cAAc,GAAG,IAAI,CAkCpE;CACJ;AAED,eAAe,UAAU,CAAC"}
@@ -97,6 +97,10 @@ exports.ErrorMessages = {
97
97
  ZERO_VALUE_TX: `Withdrawal amount cannot be zero`, // 400
98
98
  UNSUPPORTED_BLOCKCHAIN: `The selected blockchain is not supported`, // 400
99
99
  NOT_WHITELISTED: `The provided wallet address is not whitelisted`, // 400
100
+ INVALID_WALLET_TYPE: `WalletType is invalid. Use "funding", "rent-energy" or "escrow"`, // 400
101
+ ONLY_NATIVE_WITHDRAWAL: `Only native tokens can be withdrawn`, // 400
102
+ RENT_ENERGY_API_ERROR: `Encountered error when calling rent API`, // 500
103
+ INSUFFICIENT_ENERGY_WALLET_BALANCE: `Rent energy wallet has insufficient balance`,
100
104
  };
101
105
  exports.ErrorCodes = {
102
106
  INTERNAL_SERVER: 'error.internal_server_error',
@@ -157,7 +161,11 @@ exports.ErrorCodes = {
157
161
  ALLOWED_RECEIVERS_CONFIG_NOT_SET: 'error.allowed_receivers_config_not_set',
158
162
  ZERO_VALUE_TX: `error.zero_value_tx`,
159
163
  UNSUPPORTED_BLOCKCHAIN: `error.unsupported_blockchain`,
160
- NOT_WHITELISTED: `error.not_whitelisted_wallet_address`
164
+ NOT_WHITELISTED: `error.not_whitelisted_wallet_address`,
165
+ INVALID_WALLET_TYPE: `error.invalid_wallet_type`,
166
+ ONLY_NATIVE_WITHDRAWAL: `error.only_native_withdrawal`,
167
+ RENT_ENERGY_API_ERROR: `error.rent_enegy_api_error`,
168
+ INSUFFICIENT_ENERGY_WALLET_BALANCE: `error.insufficient_energy_wallet_balance`,
161
169
  };
162
170
  class BaseErrors {
163
171
  constructor() {
@@ -251,6 +259,14 @@ class BaseErrors {
251
259
  return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.UNSUPPORTED_BLOCKCHAIN });
252
260
  if (message.includes(exports.ErrorMessages.ZERO_VALUE_TX))
253
261
  return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.ZERO_VALUE_TX });
262
+ if (message.includes(exports.ErrorMessages.INVALID_WALLET_TYPE))
263
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INVALID_WALLET_TYPE });
264
+ if (message.includes(exports.ErrorMessages.ONLY_NATIVE_WITHDRAWAL))
265
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.ONLY_NATIVE_WITHDRAWAL });
266
+ if (message.includes(exports.ErrorMessages.RENT_ENERGY_API_ERROR))
267
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.RENT_ENERGY_API_ERROR });
268
+ if (message.includes(exports.ErrorMessages.INSUFFICIENT_ENERGY_WALLET_BALANCE))
269
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INSUFFICIENT_ENERGY_WALLET_BALANCE });
254
270
  return null;
255
271
  };
256
272
  }
@@ -309,5 +325,13 @@ class BaseErrors {
309
325
  ;
310
326
  NotWhitelisted() { return exports.ErrorMessages.NOT_WHITELISTED; }
311
327
  ;
328
+ InvalidWalletType() { return exports.ErrorMessages.INVALID_WALLET_TYPE; }
329
+ ;
330
+ OnlyNativeWithdrawal() { return exports.ErrorMessages.ONLY_NATIVE_WITHDRAWAL; }
331
+ ;
332
+ RentEnergyApiError() { return exports.ErrorMessages.RENT_ENERGY_API_ERROR; }
333
+ ;
334
+ InsufficientRentEnergyWalletBalance() { return exports.ErrorMessages.INSUFFICIENT_ENERGY_WALLET_BALANCE; }
335
+ ;
312
336
  }
313
337
  exports.default = BaseErrors;
@@ -12,7 +12,7 @@ declare class SolanaEscrowAdmin {
12
12
  private adminUtility;
13
13
  private signer?;
14
14
  connection: Connection;
15
- constructor(escrowAddress: string, walletPublicKey: PublicKey, signTransaction: SignTransactionInterface, signAllTransactions: SignAllTransactionsInterface, chainId: string, additionalParams?: AdditionalConstructorParams);
15
+ constructor(escrowAddress: string, walletPublicKey: PublicKey, signTransaction: SignTransactionInterface, signAllTransactions: SignAllTransactionsInterface, chainId: string, additionalParams?: AdditionalConstructorParams, connection?: anchor.web3.Connection);
16
16
  /**
17
17
  *
18
18
  * @returns anchor.Idl - the escrowprogram's Idl file
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaEscrowAdmin.d.ts","sourceRoot":"","sources":["../../../../src/services/solana/escrow/SolanaEscrowAdmin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAqC,MAAM,iBAAiB,CAAC;AAEpG,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAkBtG,UAAU,2BAA2B;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,cAAM,iBAAiB;IACZ,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAU;IAClB,UAAU,EAAE,UAAU,CAAC;gBAG1B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,wBAAwB,EACzC,mBAAmB,EAAE,4BAA4B,EACjD,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,2BAA2B;IA8BlD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAGb;IAEF;;;OAGG;IACI,kBAAkB,wBAGvB;IAKF;;;OAGG;IACI,SAAS,yBAEf;IAED;;;;OAIG;IACI,QAAQ,GAAU,gBAAgB,MAAM,sBAE9C;IAED;;;;OAIG;IACI,gBAAgB,GAAU,eAAe,MAAM,sBAErD;IAEM,YAAY,oCAElB;IAGD;;;OAGG;IACI,kBAAkB,0BAExB;IAED;;;OAGG;IACI,UAAU,0BAEhB;IAED;;;;OAIG;IACI,iBAAiB,GAAU,eAAe,MAAM,qBAEtD;IAED;;;;OAIG;IACI,oBAAoB,GAAU,eAAe,MAAM,qBAEzD;IAED;;;;OAIG;IACI,SAAS,GAAU,gBAAgB,MAAM,qBAE/C;IAGD;;;;OAIG;IACI,YAAY,GAAU,gBAAgB,MAAM,qBAElD;IAED;;;;OAIG;IACI,eAAe,GAAU,cAAc,OAAO,qBAEpD;IAIM,cAAc,GAAU,eAAe,MAAM,EAAE,WAAW,aAAa,EAAE,qBAE/E;IAGD;;;;;;OAMG;IACI,QAAQ,GAAU,eAAe,MAAM,EAAE,oBAAoB,MAAM,EAAE,kBAAkB,MAAM,iCAEnG;IAED;;;;;OAKG;IACI,OAAO,GAAU,eAAe,MAAM,EAAE,oBAAoB,MAAM,qBAExE;CAKJ;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"SolanaEscrowAdmin.d.ts","sourceRoot":"","sources":["../../../../src/services/solana/escrow/SolanaEscrowAdmin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAqC,MAAM,iBAAiB,CAAC;AAEpG,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAkBtG,UAAU,2BAA2B;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,cAAM,iBAAiB;IACZ,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAU;IAClB,UAAU,EAAE,UAAU,CAAC;gBAG1B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,wBAAwB,EACzC,mBAAmB,EAAE,4BAA4B,EACjD,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,2BAA2B,EAC9C,UAAU,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;IAkCvC;;;OAGG;IACH,OAAO,CAAC,OAAO,CAGb;IAEF;;;OAGG;IACI,kBAAkB,wBAGvB;IAKF;;;OAGG;IACI,SAAS,yBAEf;IAED;;;;OAIG;IACI,QAAQ,GAAU,gBAAgB,MAAM,sBAE9C;IAED;;;;OAIG;IACI,gBAAgB,GAAU,eAAe,MAAM,sBAErD;IAEM,YAAY,oCAElB;IAGD;;;OAGG;IACI,kBAAkB,0BAExB;IAED;;;OAGG;IACI,UAAU,0BAEhB;IAED;;;;OAIG;IACI,iBAAiB,GAAU,eAAe,MAAM,qBAEtD;IAED;;;;OAIG;IACI,oBAAoB,GAAU,eAAe,MAAM,qBAEzD;IAED;;;;OAIG;IACI,SAAS,GAAU,gBAAgB,MAAM,qBAE/C;IAGD;;;;OAIG;IACI,YAAY,GAAU,gBAAgB,MAAM,qBAElD;IAED;;;;OAIG;IACI,eAAe,GAAU,cAAc,OAAO,qBAEpD;IAIM,cAAc,GAAU,eAAe,MAAM,EAAE,WAAW,aAAa,EAAE,qBAE/E;IAGD;;;;;;OAMG;IACI,QAAQ,GAAU,eAAe,MAAM,EAAE,oBAAoB,MAAM,EAAE,kBAAkB,MAAM,iCAEnG;IAED;;;;;OAKG;IACI,OAAO,GAAU,eAAe,MAAM,EAAE,oBAAoB,MAAM,qBAExE;CAKJ;AAED,eAAe,iBAAiB,CAAC"}
@@ -65,7 +65,7 @@ const get_connection = (network) => {
65
65
  }
66
66
  };
67
67
  class SolanaEscrowAdmin {
68
- constructor(escrowAddress, walletPublicKey, signTransaction, signAllTransactions, chainId, additionalParams) {
68
+ constructor(escrowAddress, walletPublicKey, signTransaction, signAllTransactions, chainId, additionalParams, connection) {
69
69
  /**
70
70
  *
71
71
  * @returns anchor.Idl - the escrowprogram's Idl file
@@ -189,10 +189,14 @@ class SolanaEscrowAdmin {
189
189
  // Inject address to idl file
190
190
  const target_idl = Object.assign(Object.assign({}, idl), { address: escrowAddress });
191
191
  // Create connection and provider using the provided wallet and signing methods
192
- const connection = get_connection(network);
193
- this.connection = connection;
192
+ if (!connection) {
193
+ this.connection = get_connection(network);
194
+ }
195
+ else {
196
+ this.connection = connection;
197
+ }
194
198
  // Create anchor provider instance
195
- const provider = new anchor.AnchorProvider(connection, {
199
+ const provider = new anchor.AnchorProvider(this.connection, {
196
200
  publicKey: walletPublicKey,
197
201
  signTransaction: signTransaction,
198
202
  signAllTransactions: signAllTransactions
@@ -1 +1 @@
1
- {"version":3,"file":"EscrowAdminUtility.d.ts","sourceRoot":"","sources":["../../../../../src/services/solana/escrow/services/EscrowAdminUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAoB,SAAS,EAA0E,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGjL,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAKzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,kBAAkB;IACpB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;gBAE3B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc;IAWrE;;;OAGG;IACU,SAAS;IAYtB;;;;OAIG;IACU,QAAQ,CAAC,cAAc,EAAE,MAAM;IAgB5C;;;;OAIG;IACU,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAgBvC,YAAY;IA2BzB;;;OAGG;IACU,kBAAkB;IAY/B;;;OAGG;IACU,UAAU;IAiBvB;;;;;OAKG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAkCtD,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAmBtE;;;;;OAKG;IACU,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAmBlE;;;;;OAKG;IACU,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAoBlE;;;;;OAKG;IACU,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO;IAqBpE;;;;;;OAMG;IACU,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAUxF;;;;;;;OAOG;IACU,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAWnH;;;;;;;OAOG;IACU,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO;IAUhG,0GAA0G;YAC5F,kBAAkB;YAsClB,kBAAkB;YA2ClB,YAAY;YAyBZ,YAAY;YAgCZ,WAAW;YAwBX,WAAW;IAuCnB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAUlC,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAU9C,eAAe;IA0BhB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1F,mBAAmB,CAC5B,SAAS,EAAE,oBAAoB,EAC/B,UAAU,GAAE,WAAW,GAAG,WAAyB,EACnD,SAAS,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,kBAAkB;IAKnF;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,kBAAkB;CAM/H;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"EscrowAdminUtility.d.ts","sourceRoot":"","sources":["../../../../../src/services/solana/escrow/services/EscrowAdminUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAoB,SAAS,EAA0E,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGjL,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAKzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,qBAAa,kBAAkB;IACpB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;gBAE3B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc;IAWrE;;;OAGG;IACU,SAAS;IAYtB;;;;OAIG;IACU,QAAQ,CAAC,cAAc,EAAE,MAAM;IAgB5C;;;;OAIG;IACU,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAgBvC,YAAY;IA6BzB;;;OAGG;IACU,kBAAkB;IAY/B;;;OAGG;IACU,UAAU;IAiBvB;;;;;OAKG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAkCtD,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAmBtE;;;;;OAKG;IACU,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAmBlE;;;;;OAKG;IACU,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAoBlE;;;;;OAKG;IACU,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO;IAqBpE;;;;;;OAMG;IACU,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAUxF;;;;;;;OAOG;IACU,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAWnH;;;;;;;OAOG;IACU,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO;IAUhG,0GAA0G;YAC5F,kBAAkB;YAsClB,kBAAkB;YA2ClB,YAAY;YAyBZ,YAAY;YAgCZ,WAAW;YAwBX,WAAW;IAuCnB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAUlC,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAU9C,eAAe;IA0BhB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1F,mBAAmB,CAC5B,SAAS,EAAE,oBAAoB,EAC/B,UAAU,GAAE,WAAW,GAAG,WAAyB,EACnD,SAAS,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,kBAAkB;IAKnF;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,kBAAkB;CAM/H;AAED,eAAe,kBAAkB,CAAC"}
@@ -55,6 +55,7 @@ const system_1 = require("@coral-xyz/anchor/dist/cjs/native/system");
55
55
  const TransactionsService_1 = require("./TransactionsService");
56
56
  const Errors_1 = __importDefault(require("./Errors"));
57
57
  const TokenAccountService_1 = require("./TokenAccountService");
58
+ const SolanaTokenProgramCache_1 = require("./SolanaTokenProgramCache");
58
59
  class EscrowAdminUtility {
59
60
  constructor(program, provider) {
60
61
  this.program = program;
@@ -135,8 +136,10 @@ class EscrowAdminUtility {
135
136
  balances.set(token_pubkey.toBase58(), bal);
136
137
  }
137
138
  else {
138
- const vault_ata = EscrowService.findVaultAta(token_pubkey, this.program.programId);
139
- const bal = yield this.provider.connection.getTokenAccountBalance(vault_ata);
139
+ // Get mint's token program id (2022 or standard)
140
+ const token_prog = yield SolanaTokenProgramCache_1.SolanaTokenProgramCache.getInstance().getTokenProgramId(this.provider.connection, new web3_js_1.PublicKey(token));
141
+ const ata = yield (0, spl_token_1.getAssociatedTokenAddress)(new web3_js_1.PublicKey(token), vault_authority, true, token_prog);
142
+ const bal = yield this.provider.connection.getTokenAccountBalance(ata);
140
143
  balances.set(token_pubkey.toBase58(), Number(bal.value.amount));
141
144
  }
142
145
  }
@@ -0,0 +1,9 @@
1
+ import web3, { PublicKey } from "@solana/web3.js";
2
+ export declare class SolanaTokenProgramCache {
3
+ private static instance;
4
+ private readonly cache;
5
+ private constructor();
6
+ static getInstance(): SolanaTokenProgramCache;
7
+ getTokenProgramId(connection: web3.Connection, mint: PublicKey): Promise<PublicKey>;
8
+ }
9
+ //# sourceMappingURL=SolanaTokenProgramCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaTokenProgramCache.d.ts","sourceRoot":"","sources":["../../../../../src/services/solana/escrow/services/SolanaTokenProgramCache.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGlD,qBAAa,uBAAuB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEtD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAOvC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CAS5F"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SolanaTokenProgramCache = void 0;
13
+ const spl_token_1 = require("@solana/spl-token");
14
+ class SolanaTokenProgramCache {
15
+ constructor() {
16
+ this.cache = new Map();
17
+ }
18
+ static getInstance() {
19
+ if (!SolanaTokenProgramCache.instance) {
20
+ SolanaTokenProgramCache.instance = new SolanaTokenProgramCache();
21
+ }
22
+ return SolanaTokenProgramCache.instance;
23
+ }
24
+ getTokenProgramId(connection, mint) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const key = mint.toBase58();
27
+ if (this.cache.has(key))
28
+ return this.cache.get(key);
29
+ const mintInfo = yield connection.getAccountInfo(mint);
30
+ if (!mintInfo)
31
+ throw new Error(`Mint ${mint.toBase58()} not found`);
32
+ const programId = mintInfo.owner.equals(spl_token_1.TOKEN_2022_PROGRAM_ID) ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID;
33
+ this.cache.set(key, programId);
34
+ return programId;
35
+ });
36
+ }
37
+ }
38
+ exports.SolanaTokenProgramCache = SolanaTokenProgramCache;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ercworldio/blockchain-shared",
3
- "version": "1.0.2-dev.4",
3
+ "version": "1.0.2-dev.6",
4
4
  "description": "Shared library for blockchain projects",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",