react-native-rgb 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ios/Rgb.mm CHANGED
@@ -1,19 +1,15 @@
1
1
  #import "Rgb.h"
2
2
 
3
- // Forward declaration for Swift class
4
3
  @class RgbSwiftHelper;
5
4
 
6
- // Import Swift bridging header - CocoaPods will generate this automatically
7
- // The header name follows the pattern: <PodName>-Swift.h
5
+
8
6
  #if __has_include(<Rgb/Rgb-Swift.h>)
9
7
  #import <Rgb/Rgb-Swift.h>
10
8
  #elif __has_include("Rgb-Swift.h")
11
9
  #import "Rgb-Swift.h"
12
10
  #else
13
- // If bridging header is not found, we'll use runtime class lookup
14
11
  #endif
15
12
 
16
- // Macro to execute work on a background thread and catch Objective-C exceptions
17
13
  #define EXEC_ASYNC(methodBlock) \
18
14
  dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{ \
19
15
  @try { methodBlock } \
@@ -24,7 +20,6 @@
24
20
 
25
21
  @implementation Rgb
26
22
 
27
- // Helpers to ensure promise resolution/rejection happen on the main thread
28
23
  - (void)resolvePromise:(RCTPromiseResolveBlock)resolve withResult:(id)result {
29
24
  dispatch_async(dispatch_get_main_queue(), ^{
30
25
  if (resolve) {
@@ -95,19 +90,48 @@
95
90
  });
96
91
  }
97
92
 
93
+ - (void)restoreBackup:(NSString *)path
94
+ password:(NSString *)password
95
+ resolve:(RCTPromiseResolveBlock)resolve
96
+ reject:(RCTPromiseRejectBlock)reject
97
+ {
98
+ __weak Rgb *weakSelf = self;
99
+ RCTPromiseResolveBlock strongResolve = resolve;
100
+ RCTPromiseRejectBlock strongReject = reject;
101
+ NSString *strongPath = [path copy];
102
+ NSString *strongPassword = [password copy];
103
+
104
+ EXEC_ASYNC({
105
+ NSDictionary *result = [RgbSwiftHelper _restoreBackup:strongPath :strongPassword];
106
+ NSString *errorMessage = result[@"error"];
107
+ if (errorMessage != nil) {
108
+ NSString *errorCode = result[@"errorCode"] ?: @"RESTORE_BACKUP_ERROR";
109
+ dispatch_async(dispatch_get_main_queue(), ^{
110
+ if (strongReject) {
111
+ strongReject(errorCode, errorMessage, nil);
112
+ }
113
+ });
114
+ } else {
115
+ __strong Rgb *strongSelf = weakSelf;
116
+ if (strongSelf && strongResolve) {
117
+ [strongSelf resolvePromise:strongResolve withResult:nil];
118
+ }
119
+ }
120
+ });
121
+ }
122
+
98
123
  - (void)initializeWallet:(NSString *)network
99
124
  accountXpubVanilla:(NSString *)accountXpubVanilla
100
125
  accountXpubColored:(NSString *)accountXpubColored
101
126
  mnemonic:(NSString *)mnemonic
102
127
  masterFingerprint:(NSString *)masterFingerprint
103
128
  supportedSchemas:(NSArray<NSString *> *)supportedSchemas
104
- maxAllocationsPerUtxo:(NSNumber *)maxAllocationsPerUtxo
105
- vanillaKeychain:(NSNumber *)vanillaKeychain
129
+ maxAllocationsPerUtxo:(double)maxAllocationsPerUtxo
130
+ vanillaKeychain:(double)vanillaKeychain
106
131
  resolve:(RCTPromiseResolveBlock)resolve
107
132
  reject:(RCTPromiseRejectBlock)reject
108
133
  {
109
- // Validate required parameters
110
- if (!network || !accountXpubVanilla || !accountXpubColored || !mnemonic || !masterFingerprint || !supportedSchemas || !maxAllocationsPerUtxo || !vanillaKeychain) {
134
+ if (!network || !accountXpubVanilla || !accountXpubColored || !mnemonic || !masterFingerprint || !supportedSchemas) {
111
135
  if (reject) {
112
136
  reject(@"INITIALIZE_WALLET_ERROR", @"Missing required parameters", nil);
113
137
  }
@@ -118,20 +142,18 @@
118
142
  RCTPromiseResolveBlock strongResolve = resolve;
119
143
  RCTPromiseRejectBlock strongReject = reject;
120
144
 
121
- // Capture parameters strongly to ensure they're retained
122
145
  NSString *strongNetwork = [network copy];
123
146
  NSString *strongAccountXpubVanilla = [accountXpubVanilla copy];
124
147
  NSString *strongAccountXpubColored = [accountXpubColored copy];
125
148
  NSString *strongMnemonic = [mnemonic copy];
126
149
  NSString *strongMasterFingerprint = [masterFingerprint copy];
127
150
  NSArray<NSString *> *strongSupportedSchemas = [supportedSchemas copy];
128
- NSNumber *strongMaxAllocationsPerUtxo = [maxAllocationsPerUtxo copy];
129
- NSNumber *strongVanillaKeychain = [vanillaKeychain copy];
130
151
 
131
- // Ensure all parameters are non-nil before dispatching
132
- if (!strongNetwork || !strongAccountXpubVanilla || !strongAccountXpubColored ||
133
- !strongMnemonic || !strongMasterFingerprint || !strongSupportedSchemas ||
134
- !strongMaxAllocationsPerUtxo || !strongVanillaKeychain) {
152
+ NSNumber *strongMaxAllocationsPerUtxo = @(maxAllocationsPerUtxo);
153
+ NSNumber *strongVanillaKeychain = @(vanillaKeychain);
154
+
155
+ if (!strongNetwork || !strongAccountXpubVanilla || !strongAccountXpubColored ||
156
+ !strongMnemonic || !strongMasterFingerprint || !strongSupportedSchemas) {
135
157
  if (strongReject) {
136
158
  strongReject(@"INITIALIZE_WALLET_ERROR", @"One or more parameters became nil", nil);
137
159
  }
@@ -183,8 +205,8 @@
183
205
  });
184
206
  }
185
207
 
186
- - (void)goOnline:(NSNumber *)walletId
187
- skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
208
+ - (void)goOnline:(double)walletId
209
+ skipConsistencyCheck:(BOOL)skipConsistencyCheck
188
210
  indexerUrl:(NSString *)indexerUrl
189
211
  resolve:(RCTPromiseResolveBlock)resolve
190
212
  reject:(RCTPromiseRejectBlock)reject
@@ -192,13 +214,12 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
192
214
  __weak Rgb *weakSelf = self;
193
215
  RCTPromiseResolveBlock strongResolve = resolve;
194
216
  RCTPromiseRejectBlock strongReject = reject;
195
- NSNumber *strongWalletId = [walletId copy];
196
- NSNumber *strongSkipConsistencyCheck = [skipConsistencyCheck copy];
217
+ NSNumber *strongWalletId = @(walletId);
197
218
  NSString *strongIndexerUrl = [indexerUrl copy];
198
219
 
199
220
  EXEC_ASYNC({
200
221
  NSDictionary *result = [RgbSwiftHelper _goOnline:strongWalletId
201
- skipConsistencyCheck:[strongSkipConsistencyCheck boolValue]
222
+ skipConsistencyCheck:skipConsistencyCheck
202
223
  indexerUrl:strongIndexerUrl];
203
224
  NSString *errorMessage = result[@"error"];
204
225
  if (errorMessage != nil) {
@@ -217,20 +238,19 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
217
238
  });
218
239
  }
219
240
 
220
- - (void)getBtcBalance:(NSNumber *)walletId
221
- skipSync:(NSNumber *)skipSync
241
+ - (void)getBtcBalance:(double)walletId
242
+ skipSync:(BOOL)skipSync
222
243
  resolve:(RCTPromiseResolveBlock)resolve
223
244
  reject:(RCTPromiseRejectBlock)reject
224
245
  {
225
246
  __weak Rgb *weakSelf = self;
226
247
  RCTPromiseResolveBlock strongResolve = resolve;
227
248
  RCTPromiseRejectBlock strongReject = reject;
228
- NSNumber *strongWalletId = [walletId copy];
229
- NSNumber *strongSkipSync = [skipSync copy];
249
+ NSNumber *strongWalletId = @(walletId);
230
250
 
231
251
  EXEC_ASYNC({
232
252
  NSDictionary *result = [RgbSwiftHelper _getBtcBalance:strongWalletId
233
- skipSync:[strongSkipSync boolValue]];
253
+ skipSync:skipSync];
234
254
  NSString *errorMessage = result[@"error"];
235
255
  if (errorMessage != nil) {
236
256
  NSString *errorCode = result[@"errorCode"] ?: @"GET_BTC_BALANCE_ERROR";
@@ -248,14 +268,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
248
268
  });
249
269
  }
250
270
 
251
- - (void)walletClose:(NSNumber *)walletId
271
+ - (void)walletClose:(double)walletId
252
272
  resolve:(RCTPromiseResolveBlock)resolve
253
273
  reject:(RCTPromiseRejectBlock)reject
254
274
  {
255
275
  __weak Rgb *weakSelf = self;
256
276
  RCTPromiseResolveBlock strongResolve = resolve;
257
277
  RCTPromiseRejectBlock strongReject = reject;
258
- NSNumber *strongWalletId = [walletId copy];
278
+ NSNumber *strongWalletId = @(walletId);
259
279
 
260
280
  EXEC_ASYNC({
261
281
  NSDictionary *result = [RgbSwiftHelper _walletClose:strongWalletId];
@@ -276,17 +296,16 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
276
296
  });
277
297
  }
278
298
 
279
- // All wallet methods bridge implementations
280
- - (void)backup:(NSNumber *)walletId
281
- backupPath:(NSString *)backupPath
282
- password:(NSString *)password
299
+ - (void)backup:(double)walletId
300
+ backupPath:(NSString * _Nonnull)backupPath
301
+ password:(NSString * _Nonnull)password
283
302
  resolve:(RCTPromiseResolveBlock)resolve
284
303
  reject:(RCTPromiseRejectBlock)reject
285
304
  {
286
305
  __weak Rgb *weakSelf = self;
287
306
  RCTPromiseResolveBlock strongResolve = resolve;
288
307
  RCTPromiseRejectBlock strongReject = reject;
289
- NSNumber *strongWalletId = [walletId copy];
308
+ NSNumber *strongWalletId = @(walletId);
290
309
  NSString *strongBackupPath = [backupPath copy];
291
310
  NSString *strongPassword = [password copy];
292
311
 
@@ -309,14 +328,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
309
328
  });
310
329
  }
311
330
 
312
- - (void)backupInfo:(NSNumber *)walletId
331
+ - (void)backupInfo:(double)walletId
313
332
  resolve:(RCTPromiseResolveBlock)resolve
314
333
  reject:(RCTPromiseRejectBlock)reject
315
334
  {
316
335
  __weak Rgb *weakSelf = self;
317
336
  RCTPromiseResolveBlock strongResolve = resolve;
318
337
  RCTPromiseRejectBlock strongReject = reject;
319
- NSNumber *strongWalletId = [walletId copy];
338
+ NSNumber *strongWalletId = @(walletId);
320
339
 
321
340
  EXEC_ASYNC({
322
341
  NSDictionary *result = [RgbSwiftHelper _backupInfo:strongWalletId];
@@ -337,24 +356,29 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
337
356
  });
338
357
  }
339
358
 
340
- - (void)blindReceive:(NSNumber *)walletId
341
- assetId:(NSString *)assetId
342
- assignment:(NSDictionary *)assignment
359
+ - (void)blindReceive:(double)walletId
360
+ assetId:(NSString * _Nullable)assetId
361
+ assignment:(JS::NativeRgb::SpecBlindReceiveAssignment &)assignment
343
362
  durationSeconds:(NSNumber *)durationSeconds
344
363
  transportEndpoints:(NSArray<NSString *> *)transportEndpoints
345
- minConfirmations:(NSNumber *)minConfirmations
364
+ minConfirmations:(double)minConfirmations
346
365
  resolve:(RCTPromiseResolveBlock)resolve
347
366
  reject:(RCTPromiseRejectBlock)reject
348
367
  {
349
368
  __weak Rgb *weakSelf = self;
350
369
  RCTPromiseResolveBlock strongResolve = resolve;
351
370
  RCTPromiseRejectBlock strongReject = reject;
352
- NSNumber *strongWalletId = [walletId copy];
371
+ NSNumber *strongWalletId = @(walletId);
353
372
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
354
- NSDictionary *strongAssignment = [assignment copy];
373
+ NSMutableDictionary *strongAssignment = [NSMutableDictionary dictionary];
374
+ strongAssignment[@"type"] = assignment.type();
375
+ auto amountOpt = assignment.amount();
376
+ if (amountOpt.has_value()) {
377
+ strongAssignment[@"amount"] = @(amountOpt.value());
378
+ }
355
379
  NSNumber *strongDurationSeconds = durationSeconds ? [durationSeconds copy] : nil;
356
380
  NSArray *strongTransportEndpoints = [transportEndpoints copy];
357
- NSNumber *strongMinConfirmations = [minConfirmations copy];
381
+ NSNumber *strongMinConfirmations = @(minConfirmations);
358
382
 
359
383
  EXEC_ASYNC({
360
384
  NSDictionary *result = [RgbSwiftHelper _blindReceive:strongWalletId
@@ -380,24 +404,24 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
380
404
  });
381
405
  }
382
406
 
383
- - (void)createUtxos:(NSNumber *)walletId
384
- upTo:(NSNumber *)upTo
407
+ - (void)createUtxos:(double)walletId
408
+ upTo:(BOOL)upTo
385
409
  num:(NSNumber *)num
386
410
  size:(NSNumber *)size
387
- feeRate:(NSNumber *)feeRate
388
- skipSync:(NSNumber *)skipSync
411
+ feeRate:(double)feeRate
412
+ skipSync:(BOOL)skipSync
389
413
  resolve:(RCTPromiseResolveBlock)resolve
390
414
  reject:(RCTPromiseRejectBlock)reject
391
415
  {
392
416
  __weak Rgb *weakSelf = self;
393
417
  RCTPromiseResolveBlock strongResolve = resolve;
394
418
  RCTPromiseRejectBlock strongReject = reject;
395
- NSNumber *strongWalletId = [walletId copy];
396
- NSNumber *strongUpTo = [upTo copy];
419
+ NSNumber *strongWalletId = @(walletId);
420
+ NSNumber *strongUpTo = @(upTo);
397
421
  NSNumber *strongNum = num ? [num copy] : nil;
398
422
  NSNumber *strongSize = size ? [size copy] : nil;
399
- NSNumber *strongFeeRate = [feeRate copy];
400
- NSNumber *strongSkipSync = [skipSync copy];
423
+ NSNumber *strongFeeRate = @(feeRate);
424
+ NSNumber *strongSkipSync = @(skipSync);
401
425
 
402
426
  EXEC_ASYNC({
403
427
  NSDictionary *result = [RgbSwiftHelper _createUtxos:strongWalletId
@@ -423,24 +447,24 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
423
447
  });
424
448
  }
425
449
 
426
- - (void)createUtxosBegin:(NSNumber *)walletId
427
- upTo:(NSNumber *)upTo
450
+ - (void)createUtxosBegin:(double)walletId
451
+ upTo:(BOOL)upTo
428
452
  num:(NSNumber *)num
429
453
  size:(NSNumber *)size
430
- feeRate:(NSNumber *)feeRate
431
- skipSync:(NSNumber *)skipSync
454
+ feeRate:(double)feeRate
455
+ skipSync:(BOOL)skipSync
432
456
  resolve:(RCTPromiseResolveBlock)resolve
433
457
  reject:(RCTPromiseRejectBlock)reject
434
458
  {
435
459
  __weak Rgb *weakSelf = self;
436
460
  RCTPromiseResolveBlock strongResolve = resolve;
437
461
  RCTPromiseRejectBlock strongReject = reject;
438
- NSNumber *strongWalletId = [walletId copy];
439
- NSNumber *strongUpTo = [upTo copy];
462
+ NSNumber *strongWalletId = @(walletId);
463
+ NSNumber *strongUpTo = @(upTo);
440
464
  NSNumber *strongNum = num ? [num copy] : nil;
441
465
  NSNumber *strongSize = size ? [size copy] : nil;
442
- NSNumber *strongFeeRate = [feeRate copy];
443
- NSNumber *strongSkipSync = [skipSync copy];
466
+ NSNumber *strongFeeRate = @(feeRate);
467
+ NSNumber *strongSkipSync = @(skipSync);
444
468
 
445
469
  EXEC_ASYNC({
446
470
  NSDictionary *result = [RgbSwiftHelper _createUtxosBegin:strongWalletId
@@ -466,18 +490,18 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
466
490
  });
467
491
  }
468
492
 
469
- - (void)createUtxosEnd:(NSNumber *)walletId
493
+ - (void)createUtxosEnd:(double)walletId
470
494
  signedPsbt:(NSString *)signedPsbt
471
- skipSync:(NSNumber *)skipSync
495
+ skipSync:(BOOL)skipSync
472
496
  resolve:(RCTPromiseResolveBlock)resolve
473
497
  reject:(RCTPromiseRejectBlock)reject
474
498
  {
475
499
  __weak Rgb *weakSelf = self;
476
500
  RCTPromiseResolveBlock strongResolve = resolve;
477
501
  RCTPromiseRejectBlock strongReject = reject;
478
- NSNumber *strongWalletId = [walletId copy];
502
+ NSNumber *strongWalletId = @(walletId);
479
503
  NSString *strongSignedPsbt = [signedPsbt copy];
480
- NSNumber *strongSkipSync = [skipSync copy];
504
+ NSNumber *strongSkipSync = @(skipSync);
481
505
 
482
506
  EXEC_ASYNC({
483
507
  NSDictionary *result = [RgbSwiftHelper _createUtxosEnd:strongWalletId
@@ -500,18 +524,18 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
500
524
  });
501
525
  }
502
526
 
503
- - (void)deleteTransfers:(NSNumber *)walletId
527
+ - (void)deleteTransfers:(double)walletId
504
528
  batchTransferIdx:(NSNumber *)batchTransferIdx
505
- noAssetOnly:(NSNumber *)noAssetOnly
529
+ noAssetOnly:(BOOL)noAssetOnly
506
530
  resolve:(RCTPromiseResolveBlock)resolve
507
531
  reject:(RCTPromiseRejectBlock)reject
508
532
  {
509
533
  __weak Rgb *weakSelf = self;
510
534
  RCTPromiseResolveBlock strongResolve = resolve;
511
535
  RCTPromiseRejectBlock strongReject = reject;
512
- NSNumber *strongWalletId = [walletId copy];
536
+ NSNumber *strongWalletId = @(walletId);
513
537
  NSNumber *strongBatchTransferIdx = batchTransferIdx ? [batchTransferIdx copy] : nil;
514
- NSNumber *strongNoAssetOnly = [noAssetOnly copy];
538
+ NSNumber *strongNoAssetOnly = @(noAssetOnly);
515
539
 
516
540
  EXEC_ASYNC({
517
541
  NSDictionary *result = [RgbSwiftHelper _deleteTransfers:strongWalletId
@@ -534,20 +558,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
534
558
  });
535
559
  }
536
560
 
537
- - (void)drainTo:(NSNumber *)walletId
561
+ - (void)drainTo:(double)walletId
538
562
  address:(NSString *)address
539
- destroyAssets:(NSNumber *)destroyAssets
540
- feeRate:(NSNumber *)feeRate
563
+ destroyAssets:(BOOL)destroyAssets
564
+ feeRate:(double)feeRate
541
565
  resolve:(RCTPromiseResolveBlock)resolve
542
566
  reject:(RCTPromiseRejectBlock)reject
543
567
  {
544
568
  __weak Rgb *weakSelf = self;
545
569
  RCTPromiseResolveBlock strongResolve = resolve;
546
570
  RCTPromiseRejectBlock strongReject = reject;
547
- NSNumber *strongWalletId = [walletId copy];
571
+ NSNumber *strongWalletId = @(walletId);
548
572
  NSString *strongAddress = [address copy];
549
- NSNumber *strongDestroyAssets = [destroyAssets copy];
550
- NSNumber *strongFeeRate = [feeRate copy];
573
+ NSNumber *strongDestroyAssets = @(destroyAssets);
574
+ NSNumber *strongFeeRate = @(feeRate);
551
575
 
552
576
  EXEC_ASYNC({
553
577
  NSDictionary *result = [RgbSwiftHelper _drainTo:strongWalletId
@@ -571,20 +595,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
571
595
  });
572
596
  }
573
597
 
574
- - (void)drainToBegin:(NSNumber *)walletId
598
+ - (void)drainToBegin:(double)walletId
575
599
  address:(NSString *)address
576
- destroyAssets:(NSNumber *)destroyAssets
577
- feeRate:(NSNumber *)feeRate
600
+ destroyAssets:(BOOL)destroyAssets
601
+ feeRate:(double)feeRate
578
602
  resolve:(RCTPromiseResolveBlock)resolve
579
603
  reject:(RCTPromiseRejectBlock)reject
580
604
  {
581
605
  __weak Rgb *weakSelf = self;
582
606
  RCTPromiseResolveBlock strongResolve = resolve;
583
607
  RCTPromiseRejectBlock strongReject = reject;
584
- NSNumber *strongWalletId = [walletId copy];
608
+ NSNumber *strongWalletId = @(walletId);
585
609
  NSString *strongAddress = [address copy];
586
- NSNumber *strongDestroyAssets = [destroyAssets copy];
587
- NSNumber *strongFeeRate = [feeRate copy];
610
+ NSNumber *strongDestroyAssets = @(destroyAssets);
611
+ NSNumber *strongFeeRate = @(feeRate);
588
612
 
589
613
  EXEC_ASYNC({
590
614
  NSDictionary *result = [RgbSwiftHelper _drainToBegin:strongWalletId
@@ -608,15 +632,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
608
632
  });
609
633
  }
610
634
 
611
- - (void)drainToEnd:(NSNumber *)walletId
612
- signedPsbt:(NSString *)signedPsbt
635
+ - (void)drainToEnd:(double)walletId
636
+ signedPsbt:(NSString * _Nonnull)signedPsbt
613
637
  resolve:(RCTPromiseResolveBlock)resolve
614
638
  reject:(RCTPromiseRejectBlock)reject
615
639
  {
616
640
  __weak Rgb *weakSelf = self;
617
641
  RCTPromiseResolveBlock strongResolve = resolve;
618
642
  RCTPromiseRejectBlock strongReject = reject;
619
- NSNumber *strongWalletId = [walletId copy];
643
+ NSNumber *strongWalletId = @(walletId);
620
644
  NSString *strongSignedPsbt = [signedPsbt copy];
621
645
 
622
646
  EXEC_ASYNC({
@@ -638,20 +662,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
638
662
  });
639
663
  }
640
664
 
641
- - (void)failTransfers:(NSNumber *)walletId
665
+ - (void)failTransfers:(double)walletId
642
666
  batchTransferIdx:(NSNumber *)batchTransferIdx
643
- noAssetOnly:(NSNumber *)noAssetOnly
644
- skipSync:(NSNumber *)skipSync
667
+ noAssetOnly:(BOOL)noAssetOnly
668
+ skipSync:(BOOL)skipSync
645
669
  resolve:(RCTPromiseResolveBlock)resolve
646
670
  reject:(RCTPromiseRejectBlock)reject
647
671
  {
648
672
  __weak Rgb *weakSelf = self;
649
673
  RCTPromiseResolveBlock strongResolve = resolve;
650
674
  RCTPromiseRejectBlock strongReject = reject;
651
- NSNumber *strongWalletId = [walletId copy];
675
+ NSNumber *strongWalletId = @(walletId);
652
676
  NSNumber *strongBatchTransferIdx = batchTransferIdx ? [batchTransferIdx copy] : nil;
653
- NSNumber *strongNoAssetOnly = [noAssetOnly copy];
654
- NSNumber *strongSkipSync = [skipSync copy];
677
+ NSNumber *strongNoAssetOnly = @(noAssetOnly);
678
+ NSNumber *strongSkipSync = @(skipSync);
655
679
 
656
680
  EXEC_ASYNC({
657
681
  NSDictionary *result = [RgbSwiftHelper _failTransfers:strongWalletId
@@ -675,15 +699,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
675
699
  });
676
700
  }
677
701
 
678
- - (void)finalizePsbt:(NSNumber *)walletId
679
- signedPsbt:(NSString *)signedPsbt
702
+ - (void)finalizePsbt:(double)walletId
703
+ signedPsbt:(NSString * _Nonnull)signedPsbt
680
704
  resolve:(RCTPromiseResolveBlock)resolve
681
705
  reject:(RCTPromiseRejectBlock)reject
682
706
  {
683
707
  __weak Rgb *weakSelf = self;
684
708
  RCTPromiseResolveBlock strongResolve = resolve;
685
709
  RCTPromiseRejectBlock strongReject = reject;
686
- NSNumber *strongWalletId = [walletId copy];
710
+ NSNumber *strongWalletId = @(walletId);
687
711
  NSString *strongSignedPsbt = [signedPsbt copy];
688
712
 
689
713
  EXEC_ASYNC({
@@ -705,14 +729,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
705
729
  });
706
730
  }
707
731
 
708
- - (void)getAddress:(NSNumber *)walletId
732
+ - (void)getAddress:(double)walletId
709
733
  resolve:(RCTPromiseResolveBlock)resolve
710
734
  reject:(RCTPromiseRejectBlock)reject
711
735
  {
712
736
  __weak Rgb *weakSelf = self;
713
737
  RCTPromiseResolveBlock strongResolve = resolve;
714
738
  RCTPromiseRejectBlock strongReject = reject;
715
- NSNumber *strongWalletId = [walletId copy];
739
+ NSNumber *strongWalletId = @(walletId);
716
740
 
717
741
  EXEC_ASYNC({
718
742
  NSDictionary *result = [RgbSwiftHelper _getAddress:strongWalletId];
@@ -733,15 +757,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
733
757
  });
734
758
  }
735
759
 
736
- - (void)getAssetBalance:(NSNumber *)walletId
737
- assetId:(NSString *)assetId
760
+ - (void)getAssetBalance:(double)walletId
761
+ assetId:(NSString * _Nonnull)assetId
738
762
  resolve:(RCTPromiseResolveBlock)resolve
739
763
  reject:(RCTPromiseRejectBlock)reject
740
764
  {
741
765
  __weak Rgb *weakSelf = self;
742
766
  RCTPromiseResolveBlock strongResolve = resolve;
743
767
  RCTPromiseRejectBlock strongReject = reject;
744
- NSNumber *strongWalletId = [walletId copy];
768
+ NSNumber *strongWalletId = @(walletId);
745
769
  NSString *strongAssetId = [assetId copy];
746
770
 
747
771
  EXEC_ASYNC({
@@ -763,15 +787,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
763
787
  });
764
788
  }
765
789
 
766
- - (void)getAssetMetadata:(NSNumber *)walletId
767
- assetId:(NSString *)assetId
790
+ - (void)getAssetMetadata:(double)walletId
791
+ assetId:(NSString * _Nonnull)assetId
768
792
  resolve:(RCTPromiseResolveBlock)resolve
769
793
  reject:(RCTPromiseRejectBlock)reject
770
794
  {
771
795
  __weak Rgb *weakSelf = self;
772
796
  RCTPromiseResolveBlock strongResolve = resolve;
773
797
  RCTPromiseRejectBlock strongReject = reject;
774
- NSNumber *strongWalletId = [walletId copy];
798
+ NSNumber *strongWalletId = @(walletId);
775
799
  NSString *strongAssetId = [assetId copy];
776
800
 
777
801
  EXEC_ASYNC({
@@ -793,16 +817,16 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
793
817
  });
794
818
  }
795
819
 
796
- - (void)getFeeEstimation:(NSNumber *)walletId
797
- blocks:(NSNumber *)blocks
820
+ - (void)getFeeEstimation:(double)walletId
821
+ blocks:(double)blocks
798
822
  resolve:(RCTPromiseResolveBlock)resolve
799
823
  reject:(RCTPromiseRejectBlock)reject
800
824
  {
801
825
  __weak Rgb *weakSelf = self;
802
826
  RCTPromiseResolveBlock strongResolve = resolve;
803
827
  RCTPromiseRejectBlock strongReject = reject;
804
- NSNumber *strongWalletId = [walletId copy];
805
- NSNumber *strongBlocks = [blocks copy];
828
+ NSNumber *strongWalletId = @(walletId);
829
+ NSNumber *strongBlocks = @(blocks);
806
830
 
807
831
  EXEC_ASYNC({
808
832
  NSDictionary *result = [RgbSwiftHelper _getFeeEstimation:strongWalletId blocks:strongBlocks];
@@ -823,14 +847,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
823
847
  });
824
848
  }
825
849
 
826
- - (void)getMediaDir:(NSNumber *)walletId
850
+ - (void)getMediaDir:(double)walletId
827
851
  resolve:(RCTPromiseResolveBlock)resolve
828
852
  reject:(RCTPromiseRejectBlock)reject
829
853
  {
830
854
  __weak Rgb *weakSelf = self;
831
855
  RCTPromiseResolveBlock strongResolve = resolve;
832
856
  RCTPromiseRejectBlock strongReject = reject;
833
- NSNumber *strongWalletId = [walletId copy];
857
+ NSNumber *strongWalletId = @(walletId);
834
858
 
835
859
  EXEC_ASYNC({
836
860
  NSDictionary *result = [RgbSwiftHelper _getMediaDir:strongWalletId];
@@ -851,14 +875,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
851
875
  });
852
876
  }
853
877
 
854
- - (void)getWalletData:(NSNumber *)walletId
878
+ - (void)getWalletData:(double)walletId
855
879
  resolve:(RCTPromiseResolveBlock)resolve
856
880
  reject:(RCTPromiseRejectBlock)reject
857
881
  {
858
882
  __weak Rgb *weakSelf = self;
859
883
  RCTPromiseResolveBlock strongResolve = resolve;
860
884
  RCTPromiseRejectBlock strongReject = reject;
861
- NSNumber *strongWalletId = [walletId copy];
885
+ NSNumber *strongWalletId = @(walletId);
862
886
 
863
887
  EXEC_ASYNC({
864
888
  NSDictionary *result = [RgbSwiftHelper _getWalletData:strongWalletId];
@@ -879,14 +903,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
879
903
  });
880
904
  }
881
905
 
882
- - (void)getWalletDir:(NSNumber *)walletId
906
+ - (void)getWalletDir:(double)walletId
883
907
  resolve:(RCTPromiseResolveBlock)resolve
884
908
  reject:(RCTPromiseRejectBlock)reject
885
909
  {
886
910
  __weak Rgb *weakSelf = self;
887
911
  RCTPromiseResolveBlock strongResolve = resolve;
888
912
  RCTPromiseRejectBlock strongReject = reject;
889
- NSNumber *strongWalletId = [walletId copy];
913
+ NSNumber *strongWalletId = @(walletId);
890
914
 
891
915
  EXEC_ASYNC({
892
916
  NSDictionary *result = [RgbSwiftHelper _getWalletDir:strongWalletId];
@@ -907,22 +931,22 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
907
931
  });
908
932
  }
909
933
 
910
- - (void)inflate:(NSNumber *)walletId
934
+ - (void)inflate:(double)walletId
911
935
  assetId:(NSString *)assetId
912
936
  inflationAmounts:(NSArray<NSNumber *> *)inflationAmounts
913
- feeRate:(NSNumber *)feeRate
914
- minConfirmations:(NSNumber *)minConfirmations
937
+ feeRate:(double)feeRate
938
+ minConfirmations:(double)minConfirmations
915
939
  resolve:(RCTPromiseResolveBlock)resolve
916
940
  reject:(RCTPromiseRejectBlock)reject
917
941
  {
918
942
  __weak Rgb *weakSelf = self;
919
943
  RCTPromiseResolveBlock strongResolve = resolve;
920
944
  RCTPromiseRejectBlock strongReject = reject;
921
- NSNumber *strongWalletId = [walletId copy];
945
+ NSNumber *strongWalletId = @(walletId);
922
946
  NSString *strongAssetId = [assetId copy];
923
947
  NSArray *strongInflationAmounts = [inflationAmounts copy];
924
- NSNumber *strongFeeRate = [feeRate copy];
925
- NSNumber *strongMinConfirmations = [minConfirmations copy];
948
+ NSNumber *strongFeeRate = @(feeRate);
949
+ NSNumber *strongMinConfirmations = @(minConfirmations);
926
950
 
927
951
  EXEC_ASYNC({
928
952
  NSDictionary *result = [RgbSwiftHelper _inflate:strongWalletId
@@ -947,22 +971,22 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
947
971
  });
948
972
  }
949
973
 
950
- - (void)inflateBegin:(NSNumber *)walletId
974
+ - (void)inflateBegin:(double)walletId
951
975
  assetId:(NSString *)assetId
952
976
  inflationAmounts:(NSArray<NSNumber *> *)inflationAmounts
953
- feeRate:(NSNumber *)feeRate
954
- minConfirmations:(NSNumber *)minConfirmations
977
+ feeRate:(double)feeRate
978
+ minConfirmations:(double)minConfirmations
955
979
  resolve:(RCTPromiseResolveBlock)resolve
956
980
  reject:(RCTPromiseRejectBlock)reject
957
981
  {
958
982
  __weak Rgb *weakSelf = self;
959
983
  RCTPromiseResolveBlock strongResolve = resolve;
960
984
  RCTPromiseRejectBlock strongReject = reject;
961
- NSNumber *strongWalletId = [walletId copy];
985
+ NSNumber *strongWalletId = @(walletId);
962
986
  NSString *strongAssetId = [assetId copy];
963
987
  NSArray *strongInflationAmounts = [inflationAmounts copy];
964
- NSNumber *strongFeeRate = [feeRate copy];
965
- NSNumber *strongMinConfirmations = [minConfirmations copy];
988
+ NSNumber *strongFeeRate = @(feeRate);
989
+ NSNumber *strongMinConfirmations = @(minConfirmations);
966
990
 
967
991
  EXEC_ASYNC({
968
992
  NSDictionary *result = [RgbSwiftHelper _inflateBegin:strongWalletId
@@ -987,15 +1011,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
987
1011
  });
988
1012
  }
989
1013
 
990
- - (void)inflateEnd:(NSNumber *)walletId
991
- signedPsbt:(NSString *)signedPsbt
1014
+ - (void)inflateEnd:(double)walletId
1015
+ signedPsbt:(NSString * _Nonnull)signedPsbt
992
1016
  resolve:(RCTPromiseResolveBlock)resolve
993
1017
  reject:(RCTPromiseRejectBlock)reject
994
1018
  {
995
1019
  __weak Rgb *weakSelf = self;
996
1020
  RCTPromiseResolveBlock strongResolve = resolve;
997
1021
  RCTPromiseRejectBlock strongReject = reject;
998
- NSNumber *strongWalletId = [walletId copy];
1022
+ NSNumber *strongWalletId = @(walletId);
999
1023
  NSString *strongSignedPsbt = [signedPsbt copy];
1000
1024
 
1001
1025
  EXEC_ASYNC({
@@ -1017,22 +1041,22 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1017
1041
  });
1018
1042
  }
1019
1043
 
1020
- - (void)issueAssetCfa:(NSNumber *)walletId
1044
+ - (void)issueAssetCfa:(double)walletId
1021
1045
  name:(NSString *)name
1022
- details:(NSString *)details
1023
- precision:(NSNumber *)precision
1046
+ details:(NSString * _Nullable)details
1047
+ precision:(double)precision
1024
1048
  amounts:(NSArray<NSNumber *> *)amounts
1025
- filePath:(NSString *)filePath
1049
+ filePath:(NSString * _Nullable)filePath
1026
1050
  resolve:(RCTPromiseResolveBlock)resolve
1027
1051
  reject:(RCTPromiseRejectBlock)reject
1028
1052
  {
1029
1053
  __weak Rgb *weakSelf = self;
1030
1054
  RCTPromiseResolveBlock strongResolve = resolve;
1031
1055
  RCTPromiseRejectBlock strongReject = reject;
1032
- NSNumber *strongWalletId = [walletId copy];
1056
+ NSNumber *strongWalletId = @(walletId);
1033
1057
  NSString *strongName = [name copy];
1034
1058
  NSString *strongDetails = details ? [details copy] : nil;
1035
- NSNumber *strongPrecision = [precision copy];
1059
+ NSNumber *strongPrecision = @(precision);
1036
1060
  NSArray *strongAmounts = [amounts copy];
1037
1061
  NSString *strongFilePath = filePath ? [filePath copy] : nil;
1038
1062
 
@@ -1060,27 +1084,27 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1060
1084
  });
1061
1085
  }
1062
1086
 
1063
- - (void)issueAssetIfa:(NSNumber *)walletId
1087
+ - (void)issueAssetIfa:(double)walletId
1064
1088
  ticker:(NSString *)ticker
1065
1089
  name:(NSString *)name
1066
- precision:(NSNumber *)precision
1090
+ precision:(double)precision
1067
1091
  amounts:(NSArray<NSNumber *> *)amounts
1068
1092
  inflationAmounts:(NSArray<NSNumber *> *)inflationAmounts
1069
- replaceRightsNum:(NSNumber *)replaceRightsNum
1070
- rejectListUrl:(NSString *)rejectListUrl
1093
+ replaceRightsNum:(double)replaceRightsNum
1094
+ rejectListUrl:(NSString * _Nullable)rejectListUrl
1071
1095
  resolve:(RCTPromiseResolveBlock)resolve
1072
1096
  reject:(RCTPromiseRejectBlock)reject
1073
1097
  {
1074
1098
  __weak Rgb *weakSelf = self;
1075
1099
  RCTPromiseResolveBlock strongResolve = resolve;
1076
1100
  RCTPromiseRejectBlock strongReject = reject;
1077
- NSNumber *strongWalletId = [walletId copy];
1101
+ NSNumber *strongWalletId = @(walletId);
1078
1102
  NSString *strongTicker = [ticker copy];
1079
1103
  NSString *strongName = [name copy];
1080
- NSNumber *strongPrecision = [precision copy];
1104
+ NSNumber *strongPrecision = @(precision);
1081
1105
  NSArray *strongAmounts = [amounts copy];
1082
1106
  NSArray *strongInflationAmounts = [inflationAmounts copy];
1083
- NSNumber *strongReplaceRightsNum = [replaceRightsNum copy];
1107
+ NSNumber *strongReplaceRightsNum = @(replaceRightsNum);
1084
1108
  NSString *strongRejectListUrl = rejectListUrl ? [rejectListUrl copy] : nil;
1085
1109
 
1086
1110
  EXEC_ASYNC({
@@ -1109,10 +1133,10 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1109
1133
  });
1110
1134
  }
1111
1135
 
1112
- - (void)issueAssetNia:(NSNumber *)walletId
1136
+ - (void)issueAssetNia:(double)walletId
1113
1137
  ticker:(NSString *)ticker
1114
1138
  name:(NSString *)name
1115
- precision:(NSNumber *)precision
1139
+ precision:(double)precision
1116
1140
  amounts:(NSArray<NSNumber *> *)amounts
1117
1141
  resolve:(RCTPromiseResolveBlock)resolve
1118
1142
  reject:(RCTPromiseRejectBlock)reject
@@ -1120,10 +1144,10 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1120
1144
  __weak Rgb *weakSelf = self;
1121
1145
  RCTPromiseResolveBlock strongResolve = resolve;
1122
1146
  RCTPromiseRejectBlock strongReject = reject;
1123
- NSNumber *strongWalletId = [walletId copy];
1147
+ NSNumber *strongWalletId = @(walletId);
1124
1148
  NSString *strongTicker = [ticker copy];
1125
1149
  NSString *strongName = [name copy];
1126
- NSNumber *strongPrecision = [precision copy];
1150
+ NSNumber *strongPrecision = @(precision);
1127
1151
  NSArray *strongAmounts = [amounts copy];
1128
1152
 
1129
1153
  EXEC_ASYNC({
@@ -1149,12 +1173,12 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1149
1173
  });
1150
1174
  }
1151
1175
 
1152
- - (void)issueAssetUda:(NSNumber *)walletId
1176
+ - (void)issueAssetUda:(double)walletId
1153
1177
  ticker:(NSString *)ticker
1154
1178
  name:(NSString *)name
1155
- details:(NSString *)details
1156
- precision:(NSNumber *)precision
1157
- mediaFilePath:(NSString *)mediaFilePath
1179
+ details:(NSString * _Nullable)details
1180
+ precision:(double)precision
1181
+ mediaFilePath:(NSString * _Nullable)mediaFilePath
1158
1182
  attachmentsFilePaths:(NSArray<NSString *> *)attachmentsFilePaths
1159
1183
  resolve:(RCTPromiseResolveBlock)resolve
1160
1184
  reject:(RCTPromiseRejectBlock)reject
@@ -1162,11 +1186,11 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1162
1186
  __weak Rgb *weakSelf = self;
1163
1187
  RCTPromiseResolveBlock strongResolve = resolve;
1164
1188
  RCTPromiseRejectBlock strongReject = reject;
1165
- NSNumber *strongWalletId = [walletId copy];
1189
+ NSNumber *strongWalletId = @(walletId);
1166
1190
  NSString *strongTicker = [ticker copy];
1167
1191
  NSString *strongName = [name copy];
1168
1192
  NSString *strongDetails = details ? [details copy] : nil;
1169
- NSNumber *strongPrecision = [precision copy];
1193
+ NSNumber *strongPrecision = @(precision);
1170
1194
  NSString *strongMediaFilePath = mediaFilePath ? [mediaFilePath copy] : nil;
1171
1195
  NSArray *strongAttachmentsFilePaths = [attachmentsFilePaths copy];
1172
1196
 
@@ -1195,7 +1219,7 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1195
1219
  });
1196
1220
  }
1197
1221
 
1198
- - (void)listAssets:(NSNumber *)walletId
1222
+ - (void)listAssets:(double)walletId
1199
1223
  filterAssetSchemas:(NSArray<NSString *> *)filterAssetSchemas
1200
1224
  resolve:(RCTPromiseResolveBlock)resolve
1201
1225
  reject:(RCTPromiseRejectBlock)reject
@@ -1203,7 +1227,7 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1203
1227
  __weak Rgb *weakSelf = self;
1204
1228
  RCTPromiseResolveBlock strongResolve = resolve;
1205
1229
  RCTPromiseRejectBlock strongReject = reject;
1206
- NSNumber *strongWalletId = [walletId copy];
1230
+ NSNumber *strongWalletId = @(walletId);
1207
1231
  NSArray *strongFilterAssetSchemas = [filterAssetSchemas copy];
1208
1232
 
1209
1233
  EXEC_ASYNC({
@@ -1225,16 +1249,16 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1225
1249
  });
1226
1250
  }
1227
1251
 
1228
- - (void)listTransactions:(NSNumber *)walletId
1229
- skipSync:(NSNumber *)skipSync
1252
+ - (void)listTransactions:(double)walletId
1253
+ skipSync:(BOOL)skipSync
1230
1254
  resolve:(RCTPromiseResolveBlock)resolve
1231
1255
  reject:(RCTPromiseRejectBlock)reject
1232
1256
  {
1233
1257
  __weak Rgb *weakSelf = self;
1234
1258
  RCTPromiseResolveBlock strongResolve = resolve;
1235
1259
  RCTPromiseRejectBlock strongReject = reject;
1236
- NSNumber *strongWalletId = [walletId copy];
1237
- NSNumber *strongSkipSync = [skipSync copy];
1260
+ NSNumber *strongWalletId = @(walletId);
1261
+ NSNumber *strongSkipSync = @(skipSync);
1238
1262
 
1239
1263
  EXEC_ASYNC({
1240
1264
  NSDictionary *result = [RgbSwiftHelper _listTransactions:strongWalletId skipSync:strongSkipSync];
@@ -1255,15 +1279,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1255
1279
  });
1256
1280
  }
1257
1281
 
1258
- - (void)listTransfers:(NSNumber *)walletId
1259
- assetId:(NSString *)assetId
1282
+ - (void)listTransfers:(double)walletId
1283
+ assetId:(NSString * _Nullable)assetId
1260
1284
  resolve:(RCTPromiseResolveBlock)resolve
1261
1285
  reject:(RCTPromiseRejectBlock)reject
1262
1286
  {
1263
1287
  __weak Rgb *weakSelf = self;
1264
1288
  RCTPromiseResolveBlock strongResolve = resolve;
1265
1289
  RCTPromiseRejectBlock strongReject = reject;
1266
- NSNumber *strongWalletId = [walletId copy];
1290
+ NSNumber *strongWalletId = @(walletId);
1267
1291
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
1268
1292
 
1269
1293
  EXEC_ASYNC({
@@ -1285,18 +1309,18 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1285
1309
  });
1286
1310
  }
1287
1311
 
1288
- - (void)listUnspents:(NSNumber *)walletId
1289
- settledOnly:(NSNumber *)settledOnly
1290
- skipSync:(NSNumber *)skipSync
1312
+ - (void)listUnspents:(double)walletId
1313
+ settledOnly:(BOOL)settledOnly
1314
+ skipSync:(BOOL)skipSync
1291
1315
  resolve:(RCTPromiseResolveBlock)resolve
1292
1316
  reject:(RCTPromiseRejectBlock)reject
1293
1317
  {
1294
1318
  __weak Rgb *weakSelf = self;
1295
1319
  RCTPromiseResolveBlock strongResolve = resolve;
1296
1320
  RCTPromiseRejectBlock strongReject = reject;
1297
- NSNumber *strongWalletId = [walletId copy];
1298
- NSNumber *strongSettledOnly = [settledOnly copy];
1299
- NSNumber *strongSkipSync = [skipSync copy];
1321
+ NSNumber *strongWalletId = @(walletId);
1322
+ NSNumber *strongSettledOnly = @(settledOnly);
1323
+ NSNumber *strongSkipSync = @(skipSync);
1300
1324
 
1301
1325
  EXEC_ASYNC({
1302
1326
  NSDictionary *result = [RgbSwiftHelper _listUnspents:strongWalletId
@@ -1319,20 +1343,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1319
1343
  });
1320
1344
  }
1321
1345
 
1322
- - (void)refresh:(NSNumber *)walletId
1323
- assetId:(NSString *)assetId
1346
+ - (void)refresh:(double)walletId
1347
+ assetId:(NSString * _Nullable)assetId
1324
1348
  filter:(NSArray<NSDictionary *> *)filter
1325
- skipSync:(NSNumber *)skipSync
1349
+ skipSync:(BOOL)skipSync
1326
1350
  resolve:(RCTPromiseResolveBlock)resolve
1327
1351
  reject:(RCTPromiseRejectBlock)reject
1328
1352
  {
1329
1353
  __weak Rgb *weakSelf = self;
1330
1354
  RCTPromiseResolveBlock strongResolve = resolve;
1331
1355
  RCTPromiseRejectBlock strongReject = reject;
1332
- NSNumber *strongWalletId = [walletId copy];
1356
+ NSNumber *strongWalletId = @(walletId);
1333
1357
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
1334
1358
  NSArray *strongFilter = [filter copy];
1335
- NSNumber *strongSkipSync = [skipSync copy];
1359
+ NSNumber *strongSkipSync = @(skipSync);
1336
1360
 
1337
1361
  EXEC_ASYNC({
1338
1362
  NSDictionary *result = [RgbSwiftHelper _refresh:strongWalletId
@@ -1356,24 +1380,24 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1356
1380
  });
1357
1381
  }
1358
1382
 
1359
- - (void)send:(NSNumber *)walletId
1383
+ - (void)send:(double)walletId
1360
1384
  recipientMap:(NSDictionary *)recipientMap
1361
- donation:(NSNumber *)donation
1362
- feeRate:(NSNumber *)feeRate
1363
- minConfirmations:(NSNumber *)minConfirmations
1364
- skipSync:(NSNumber *)skipSync
1385
+ donation:(BOOL)donation
1386
+ feeRate:(double)feeRate
1387
+ minConfirmations:(double)minConfirmations
1388
+ skipSync:(BOOL)skipSync
1365
1389
  resolve:(RCTPromiseResolveBlock)resolve
1366
1390
  reject:(RCTPromiseRejectBlock)reject
1367
1391
  {
1368
1392
  __weak Rgb *weakSelf = self;
1369
1393
  RCTPromiseResolveBlock strongResolve = resolve;
1370
1394
  RCTPromiseRejectBlock strongReject = reject;
1371
- NSNumber *strongWalletId = [walletId copy];
1395
+ NSNumber *strongWalletId = @(walletId);
1372
1396
  NSDictionary *strongRecipientMap = [recipientMap copy];
1373
- NSNumber *strongDonation = [donation copy];
1374
- NSNumber *strongFeeRate = [feeRate copy];
1375
- NSNumber *strongMinConfirmations = [minConfirmations copy];
1376
- NSNumber *strongSkipSync = [skipSync copy];
1397
+ NSNumber *strongDonation = @(donation);
1398
+ NSNumber *strongFeeRate = @(feeRate);
1399
+ NSNumber *strongMinConfirmations = @(minConfirmations);
1400
+ NSNumber *strongSkipSync = @(skipSync);
1377
1401
 
1378
1402
  EXEC_ASYNC({
1379
1403
  NSDictionary *result = [RgbSwiftHelper _send:strongWalletId
@@ -1399,22 +1423,22 @@ minConfirmations:(NSNumber *)minConfirmations
1399
1423
  });
1400
1424
  }
1401
1425
 
1402
- - (void)sendBegin:(NSNumber *)walletId
1426
+ - (void)sendBegin:(double)walletId
1403
1427
  recipientMap:(NSDictionary *)recipientMap
1404
- donation:(NSNumber *)donation
1405
- feeRate:(NSNumber *)feeRate
1406
- minConfirmations:(NSNumber *)minConfirmations
1428
+ donation:(BOOL)donation
1429
+ feeRate:(double)feeRate
1430
+ minConfirmations:(double)minConfirmations
1407
1431
  resolve:(RCTPromiseResolveBlock)resolve
1408
1432
  reject:(RCTPromiseRejectBlock)reject
1409
1433
  {
1410
1434
  __weak Rgb *weakSelf = self;
1411
1435
  RCTPromiseResolveBlock strongResolve = resolve;
1412
1436
  RCTPromiseRejectBlock strongReject = reject;
1413
- NSNumber *strongWalletId = [walletId copy];
1437
+ NSNumber *strongWalletId = @(walletId);
1414
1438
  NSDictionary *strongRecipientMap = [recipientMap copy];
1415
- NSNumber *strongDonation = [donation copy];
1416
- NSNumber *strongFeeRate = [feeRate copy];
1417
- NSNumber *strongMinConfirmations = [minConfirmations copy];
1439
+ NSNumber *strongDonation = @(donation);
1440
+ NSNumber *strongFeeRate = @(feeRate);
1441
+ NSNumber *strongMinConfirmations = @(minConfirmations);
1418
1442
 
1419
1443
  EXEC_ASYNC({
1420
1444
  NSDictionary *result = [RgbSwiftHelper _sendBegin:strongWalletId
@@ -1439,22 +1463,22 @@ minConfirmations:(NSNumber *)minConfirmations
1439
1463
  });
1440
1464
  }
1441
1465
 
1442
- - (void)sendBtc:(NSNumber *)walletId
1466
+ - (void)sendBtc:(double)walletId
1443
1467
  address:(NSString *)address
1444
- amount:(NSNumber *)amount
1445
- feeRate:(NSNumber *)feeRate
1446
- skipSync:(NSNumber *)skipSync
1468
+ amount:(double)amount
1469
+ feeRate:(double)feeRate
1470
+ skipSync:(BOOL)skipSync
1447
1471
  resolve:(RCTPromiseResolveBlock)resolve
1448
1472
  reject:(RCTPromiseRejectBlock)reject
1449
1473
  {
1450
1474
  __weak Rgb *weakSelf = self;
1451
1475
  RCTPromiseResolveBlock strongResolve = resolve;
1452
1476
  RCTPromiseRejectBlock strongReject = reject;
1453
- NSNumber *strongWalletId = [walletId copy];
1477
+ NSNumber *strongWalletId = @(walletId);
1454
1478
  NSString *strongAddress = [address copy];
1455
- NSNumber *strongAmount = [amount copy];
1456
- NSNumber *strongFeeRate = [feeRate copy];
1457
- NSNumber *strongSkipSync = [skipSync copy];
1479
+ NSNumber *strongAmount = @(amount);
1480
+ NSNumber *strongFeeRate = @(feeRate);
1481
+ NSNumber *strongSkipSync = @(skipSync);
1458
1482
 
1459
1483
  EXEC_ASYNC({
1460
1484
  NSDictionary *result = [RgbSwiftHelper _sendBtc:strongWalletId
@@ -1479,22 +1503,22 @@ minConfirmations:(NSNumber *)minConfirmations
1479
1503
  });
1480
1504
  }
1481
1505
 
1482
- - (void)sendBtcBegin:(NSNumber *)walletId
1506
+ - (void)sendBtcBegin:(double)walletId
1483
1507
  address:(NSString *)address
1484
- amount:(NSNumber *)amount
1485
- feeRate:(NSNumber *)feeRate
1486
- skipSync:(NSNumber *)skipSync
1508
+ amount:(double)amount
1509
+ feeRate:(double)feeRate
1510
+ skipSync:(BOOL)skipSync
1487
1511
  resolve:(RCTPromiseResolveBlock)resolve
1488
1512
  reject:(RCTPromiseRejectBlock)reject
1489
1513
  {
1490
1514
  __weak Rgb *weakSelf = self;
1491
1515
  RCTPromiseResolveBlock strongResolve = resolve;
1492
1516
  RCTPromiseRejectBlock strongReject = reject;
1493
- NSNumber *strongWalletId = [walletId copy];
1517
+ NSNumber *strongWalletId = @(walletId);
1494
1518
  NSString *strongAddress = [address copy];
1495
- NSNumber *strongAmount = [amount copy];
1496
- NSNumber *strongFeeRate = [feeRate copy];
1497
- NSNumber *strongSkipSync = [skipSync copy];
1519
+ NSNumber *strongAmount = @(amount);
1520
+ NSNumber *strongFeeRate = @(feeRate);
1521
+ NSNumber *strongSkipSync = @(skipSync);
1498
1522
 
1499
1523
  EXEC_ASYNC({
1500
1524
  NSDictionary *result = [RgbSwiftHelper _sendBtcBegin:strongWalletId
@@ -1519,18 +1543,18 @@ minConfirmations:(NSNumber *)minConfirmations
1519
1543
  });
1520
1544
  }
1521
1545
 
1522
- - (void)sendBtcEnd:(NSNumber *)walletId
1546
+ - (void)sendBtcEnd:(double)walletId
1523
1547
  signedPsbt:(NSString *)signedPsbt
1524
- skipSync:(NSNumber *)skipSync
1548
+ skipSync:(BOOL)skipSync
1525
1549
  resolve:(RCTPromiseResolveBlock)resolve
1526
1550
  reject:(RCTPromiseRejectBlock)reject
1527
1551
  {
1528
1552
  __weak Rgb *weakSelf = self;
1529
1553
  RCTPromiseResolveBlock strongResolve = resolve;
1530
1554
  RCTPromiseRejectBlock strongReject = reject;
1531
- NSNumber *strongWalletId = [walletId copy];
1555
+ NSNumber *strongWalletId = @(walletId);
1532
1556
  NSString *strongSignedPsbt = [signedPsbt copy];
1533
- NSNumber *strongSkipSync = [skipSync copy];
1557
+ NSNumber *strongSkipSync = @(skipSync);
1534
1558
 
1535
1559
  EXEC_ASYNC({
1536
1560
  NSDictionary *result = [RgbSwiftHelper _sendBtcEnd:strongWalletId signedPsbt:strongSignedPsbt skipSync:strongSkipSync];
@@ -1551,18 +1575,18 @@ minConfirmations:(NSNumber *)minConfirmations
1551
1575
  });
1552
1576
  }
1553
1577
 
1554
- - (void)sendEnd:(NSNumber *)walletId
1578
+ - (void)sendEnd:(double)walletId
1555
1579
  signedPsbt:(NSString *)signedPsbt
1556
- skipSync:(NSNumber *)skipSync
1580
+ skipSync:(BOOL)skipSync
1557
1581
  resolve:(RCTPromiseResolveBlock)resolve
1558
1582
  reject:(RCTPromiseRejectBlock)reject
1559
1583
  {
1560
1584
  __weak Rgb *weakSelf = self;
1561
1585
  RCTPromiseResolveBlock strongResolve = resolve;
1562
1586
  RCTPromiseRejectBlock strongReject = reject;
1563
- NSNumber *strongWalletId = [walletId copy];
1587
+ NSNumber *strongWalletId = @(walletId);
1564
1588
  NSString *strongSignedPsbt = [signedPsbt copy];
1565
- NSNumber *strongSkipSync = [skipSync copy];
1589
+ NSNumber *strongSkipSync = @(skipSync);
1566
1590
 
1567
1591
  EXEC_ASYNC({
1568
1592
  NSDictionary *result = [RgbSwiftHelper _sendEnd:strongWalletId signedPsbt:strongSignedPsbt skipSync:strongSkipSync];
@@ -1583,7 +1607,7 @@ minConfirmations:(NSNumber *)minConfirmations
1583
1607
  });
1584
1608
  }
1585
1609
 
1586
- - (void)signPsbt:(NSNumber *)walletId
1610
+ - (void)signPsbt:(double)walletId
1587
1611
  unsignedPsbt:(NSString *)unsignedPsbt
1588
1612
  resolve:(RCTPromiseResolveBlock)resolve
1589
1613
  reject:(RCTPromiseRejectBlock)reject
@@ -1591,7 +1615,7 @@ minConfirmations:(NSNumber *)minConfirmations
1591
1615
  __weak Rgb *weakSelf = self;
1592
1616
  RCTPromiseResolveBlock strongResolve = resolve;
1593
1617
  RCTPromiseRejectBlock strongReject = reject;
1594
- NSNumber *strongWalletId = [walletId copy];
1618
+ NSNumber *strongWalletId = @(walletId);
1595
1619
  NSString *strongUnsignedPsbt = [unsignedPsbt copy];
1596
1620
 
1597
1621
  EXEC_ASYNC({
@@ -1613,14 +1637,14 @@ minConfirmations:(NSNumber *)minConfirmations
1613
1637
  });
1614
1638
  }
1615
1639
 
1616
- - (void)sync:(NSNumber *)walletId
1640
+ - (void)sync:(double)walletId
1617
1641
  resolve:(RCTPromiseResolveBlock)resolve
1618
1642
  reject:(RCTPromiseRejectBlock)reject
1619
1643
  {
1620
1644
  __weak Rgb *weakSelf = self;
1621
1645
  RCTPromiseResolveBlock strongResolve = resolve;
1622
1646
  RCTPromiseRejectBlock strongReject = reject;
1623
- NSNumber *strongWalletId = [walletId copy];
1647
+ NSNumber *strongWalletId = @(walletId);
1624
1648
 
1625
1649
  EXEC_ASYNC({
1626
1650
  NSDictionary *result = [RgbSwiftHelper _sync:strongWalletId];
@@ -1641,24 +1665,29 @@ minConfirmations:(NSNumber *)minConfirmations
1641
1665
  });
1642
1666
  }
1643
1667
 
1644
- - (void)witnessReceive:(NSNumber *)walletId
1645
- assetId:(NSString *)assetId
1646
- assignment:(NSDictionary *)assignment
1668
+ - (void)witnessReceive:(double)walletId
1669
+ assetId:(NSString * _Nullable)assetId
1670
+ assignment:(JS::NativeRgb::SpecWitnessReceiveAssignment &)assignment
1647
1671
  durationSeconds:(NSNumber *)durationSeconds
1648
1672
  transportEndpoints:(NSArray<NSString *> *)transportEndpoints
1649
- minConfirmations:(NSNumber *)minConfirmations
1673
+ minConfirmations:(double)minConfirmations
1650
1674
  resolve:(RCTPromiseResolveBlock)resolve
1651
1675
  reject:(RCTPromiseRejectBlock)reject
1652
1676
  {
1653
1677
  __weak Rgb *weakSelf = self;
1654
1678
  RCTPromiseResolveBlock strongResolve = resolve;
1655
1679
  RCTPromiseRejectBlock strongReject = reject;
1656
- NSNumber *strongWalletId = [walletId copy];
1680
+ NSNumber *strongWalletId = @(walletId);
1657
1681
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
1658
- NSDictionary *strongAssignment = [assignment copy];
1682
+ NSMutableDictionary *strongAssignment = [NSMutableDictionary dictionary];
1683
+ strongAssignment[@"type"] = assignment.type();
1684
+ auto amountOpt = assignment.amount();
1685
+ if (amountOpt.has_value()) {
1686
+ strongAssignment[@"amount"] = @(amountOpt.value());
1687
+ }
1659
1688
  NSNumber *strongDurationSeconds = durationSeconds ? [durationSeconds copy] : nil;
1660
1689
  NSArray *strongTransportEndpoints = [transportEndpoints copy];
1661
- NSNumber *strongMinConfirmations = [minConfirmations copy];
1690
+ NSNumber *strongMinConfirmations = @(minConfirmations);
1662
1691
 
1663
1692
  EXEC_ASYNC({
1664
1693
  NSDictionary *result = [RgbSwiftHelper _witnessReceive:strongWalletId