react-native-rgb 0.2.2 → 0.2.3

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) {
@@ -101,13 +96,12 @@
101
96
  mnemonic:(NSString *)mnemonic
102
97
  masterFingerprint:(NSString *)masterFingerprint
103
98
  supportedSchemas:(NSArray<NSString *> *)supportedSchemas
104
- maxAllocationsPerUtxo:(NSNumber *)maxAllocationsPerUtxo
105
- vanillaKeychain:(NSNumber *)vanillaKeychain
99
+ maxAllocationsPerUtxo:(double)maxAllocationsPerUtxo
100
+ vanillaKeychain:(double)vanillaKeychain
106
101
  resolve:(RCTPromiseResolveBlock)resolve
107
102
  reject:(RCTPromiseRejectBlock)reject
108
103
  {
109
- // Validate required parameters
110
- if (!network || !accountXpubVanilla || !accountXpubColored || !mnemonic || !masterFingerprint || !supportedSchemas || !maxAllocationsPerUtxo || !vanillaKeychain) {
104
+ if (!network || !accountXpubVanilla || !accountXpubColored || !mnemonic || !masterFingerprint || !supportedSchemas) {
111
105
  if (reject) {
112
106
  reject(@"INITIALIZE_WALLET_ERROR", @"Missing required parameters", nil);
113
107
  }
@@ -118,20 +112,18 @@
118
112
  RCTPromiseResolveBlock strongResolve = resolve;
119
113
  RCTPromiseRejectBlock strongReject = reject;
120
114
 
121
- // Capture parameters strongly to ensure they're retained
122
115
  NSString *strongNetwork = [network copy];
123
116
  NSString *strongAccountXpubVanilla = [accountXpubVanilla copy];
124
117
  NSString *strongAccountXpubColored = [accountXpubColored copy];
125
118
  NSString *strongMnemonic = [mnemonic copy];
126
119
  NSString *strongMasterFingerprint = [masterFingerprint copy];
127
120
  NSArray<NSString *> *strongSupportedSchemas = [supportedSchemas copy];
128
- NSNumber *strongMaxAllocationsPerUtxo = [maxAllocationsPerUtxo copy];
129
- NSNumber *strongVanillaKeychain = [vanillaKeychain copy];
130
121
 
131
- // Ensure all parameters are non-nil before dispatching
132
- if (!strongNetwork || !strongAccountXpubVanilla || !strongAccountXpubColored ||
133
- !strongMnemonic || !strongMasterFingerprint || !strongSupportedSchemas ||
134
- !strongMaxAllocationsPerUtxo || !strongVanillaKeychain) {
122
+ NSNumber *strongMaxAllocationsPerUtxo = @(maxAllocationsPerUtxo);
123
+ NSNumber *strongVanillaKeychain = @(vanillaKeychain);
124
+
125
+ if (!strongNetwork || !strongAccountXpubVanilla || !strongAccountXpubColored ||
126
+ !strongMnemonic || !strongMasterFingerprint || !strongSupportedSchemas) {
135
127
  if (strongReject) {
136
128
  strongReject(@"INITIALIZE_WALLET_ERROR", @"One or more parameters became nil", nil);
137
129
  }
@@ -183,8 +175,8 @@
183
175
  });
184
176
  }
185
177
 
186
- - (void)goOnline:(NSNumber *)walletId
187
- skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
178
+ - (void)goOnline:(double)walletId
179
+ skipConsistencyCheck:(BOOL)skipConsistencyCheck
188
180
  indexerUrl:(NSString *)indexerUrl
189
181
  resolve:(RCTPromiseResolveBlock)resolve
190
182
  reject:(RCTPromiseRejectBlock)reject
@@ -192,13 +184,12 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
192
184
  __weak Rgb *weakSelf = self;
193
185
  RCTPromiseResolveBlock strongResolve = resolve;
194
186
  RCTPromiseRejectBlock strongReject = reject;
195
- NSNumber *strongWalletId = [walletId copy];
196
- NSNumber *strongSkipConsistencyCheck = [skipConsistencyCheck copy];
187
+ NSNumber *strongWalletId = @(walletId);
197
188
  NSString *strongIndexerUrl = [indexerUrl copy];
198
189
 
199
190
  EXEC_ASYNC({
200
191
  NSDictionary *result = [RgbSwiftHelper _goOnline:strongWalletId
201
- skipConsistencyCheck:[strongSkipConsistencyCheck boolValue]
192
+ skipConsistencyCheck:skipConsistencyCheck
202
193
  indexerUrl:strongIndexerUrl];
203
194
  NSString *errorMessage = result[@"error"];
204
195
  if (errorMessage != nil) {
@@ -217,20 +208,19 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
217
208
  });
218
209
  }
219
210
 
220
- - (void)getBtcBalance:(NSNumber *)walletId
221
- skipSync:(NSNumber *)skipSync
211
+ - (void)getBtcBalance:(double)walletId
212
+ skipSync:(BOOL)skipSync
222
213
  resolve:(RCTPromiseResolveBlock)resolve
223
214
  reject:(RCTPromiseRejectBlock)reject
224
215
  {
225
216
  __weak Rgb *weakSelf = self;
226
217
  RCTPromiseResolveBlock strongResolve = resolve;
227
218
  RCTPromiseRejectBlock strongReject = reject;
228
- NSNumber *strongWalletId = [walletId copy];
229
- NSNumber *strongSkipSync = [skipSync copy];
219
+ NSNumber *strongWalletId = @(walletId);
230
220
 
231
221
  EXEC_ASYNC({
232
222
  NSDictionary *result = [RgbSwiftHelper _getBtcBalance:strongWalletId
233
- skipSync:[strongSkipSync boolValue]];
223
+ skipSync:skipSync];
234
224
  NSString *errorMessage = result[@"error"];
235
225
  if (errorMessage != nil) {
236
226
  NSString *errorCode = result[@"errorCode"] ?: @"GET_BTC_BALANCE_ERROR";
@@ -248,14 +238,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
248
238
  });
249
239
  }
250
240
 
251
- - (void)walletClose:(NSNumber *)walletId
241
+ - (void)walletClose:(double)walletId
252
242
  resolve:(RCTPromiseResolveBlock)resolve
253
243
  reject:(RCTPromiseRejectBlock)reject
254
244
  {
255
245
  __weak Rgb *weakSelf = self;
256
246
  RCTPromiseResolveBlock strongResolve = resolve;
257
247
  RCTPromiseRejectBlock strongReject = reject;
258
- NSNumber *strongWalletId = [walletId copy];
248
+ NSNumber *strongWalletId = @(walletId);
259
249
 
260
250
  EXEC_ASYNC({
261
251
  NSDictionary *result = [RgbSwiftHelper _walletClose:strongWalletId];
@@ -276,17 +266,16 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
276
266
  });
277
267
  }
278
268
 
279
- // All wallet methods bridge implementations
280
- - (void)backup:(NSNumber *)walletId
281
- backupPath:(NSString *)backupPath
282
- password:(NSString *)password
269
+ - (void)backup:(double)walletId
270
+ backupPath:(NSString * _Nonnull)backupPath
271
+ password:(NSString * _Nonnull)password
283
272
  resolve:(RCTPromiseResolveBlock)resolve
284
273
  reject:(RCTPromiseRejectBlock)reject
285
274
  {
286
275
  __weak Rgb *weakSelf = self;
287
276
  RCTPromiseResolveBlock strongResolve = resolve;
288
277
  RCTPromiseRejectBlock strongReject = reject;
289
- NSNumber *strongWalletId = [walletId copy];
278
+ NSNumber *strongWalletId = @(walletId);
290
279
  NSString *strongBackupPath = [backupPath copy];
291
280
  NSString *strongPassword = [password copy];
292
281
 
@@ -309,14 +298,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
309
298
  });
310
299
  }
311
300
 
312
- - (void)backupInfo:(NSNumber *)walletId
301
+ - (void)backupInfo:(double)walletId
313
302
  resolve:(RCTPromiseResolveBlock)resolve
314
303
  reject:(RCTPromiseRejectBlock)reject
315
304
  {
316
305
  __weak Rgb *weakSelf = self;
317
306
  RCTPromiseResolveBlock strongResolve = resolve;
318
307
  RCTPromiseRejectBlock strongReject = reject;
319
- NSNumber *strongWalletId = [walletId copy];
308
+ NSNumber *strongWalletId = @(walletId);
320
309
 
321
310
  EXEC_ASYNC({
322
311
  NSDictionary *result = [RgbSwiftHelper _backupInfo:strongWalletId];
@@ -337,24 +326,29 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
337
326
  });
338
327
  }
339
328
 
340
- - (void)blindReceive:(NSNumber *)walletId
341
- assetId:(NSString *)assetId
342
- assignment:(NSDictionary *)assignment
329
+ - (void)blindReceive:(double)walletId
330
+ assetId:(NSString * _Nullable)assetId
331
+ assignment:(JS::NativeRgb::SpecBlindReceiveAssignment &)assignment
343
332
  durationSeconds:(NSNumber *)durationSeconds
344
333
  transportEndpoints:(NSArray<NSString *> *)transportEndpoints
345
- minConfirmations:(NSNumber *)minConfirmations
334
+ minConfirmations:(double)minConfirmations
346
335
  resolve:(RCTPromiseResolveBlock)resolve
347
336
  reject:(RCTPromiseRejectBlock)reject
348
337
  {
349
338
  __weak Rgb *weakSelf = self;
350
339
  RCTPromiseResolveBlock strongResolve = resolve;
351
340
  RCTPromiseRejectBlock strongReject = reject;
352
- NSNumber *strongWalletId = [walletId copy];
341
+ NSNumber *strongWalletId = @(walletId);
353
342
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
354
- NSDictionary *strongAssignment = [assignment copy];
343
+ NSMutableDictionary *strongAssignment = [NSMutableDictionary dictionary];
344
+ strongAssignment[@"type"] = assignment.type();
345
+ auto amountOpt = assignment.amount();
346
+ if (amountOpt.has_value()) {
347
+ strongAssignment[@"amount"] = @(amountOpt.value());
348
+ }
355
349
  NSNumber *strongDurationSeconds = durationSeconds ? [durationSeconds copy] : nil;
356
350
  NSArray *strongTransportEndpoints = [transportEndpoints copy];
357
- NSNumber *strongMinConfirmations = [minConfirmations copy];
351
+ NSNumber *strongMinConfirmations = @(minConfirmations);
358
352
 
359
353
  EXEC_ASYNC({
360
354
  NSDictionary *result = [RgbSwiftHelper _blindReceive:strongWalletId
@@ -380,24 +374,24 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
380
374
  });
381
375
  }
382
376
 
383
- - (void)createUtxos:(NSNumber *)walletId
384
- upTo:(NSNumber *)upTo
377
+ - (void)createUtxos:(double)walletId
378
+ upTo:(BOOL)upTo
385
379
  num:(NSNumber *)num
386
380
  size:(NSNumber *)size
387
- feeRate:(NSNumber *)feeRate
388
- skipSync:(NSNumber *)skipSync
381
+ feeRate:(double)feeRate
382
+ skipSync:(BOOL)skipSync
389
383
  resolve:(RCTPromiseResolveBlock)resolve
390
384
  reject:(RCTPromiseRejectBlock)reject
391
385
  {
392
386
  __weak Rgb *weakSelf = self;
393
387
  RCTPromiseResolveBlock strongResolve = resolve;
394
388
  RCTPromiseRejectBlock strongReject = reject;
395
- NSNumber *strongWalletId = [walletId copy];
396
- NSNumber *strongUpTo = [upTo copy];
389
+ NSNumber *strongWalletId = @(walletId);
390
+ NSNumber *strongUpTo = @(upTo);
397
391
  NSNumber *strongNum = num ? [num copy] : nil;
398
392
  NSNumber *strongSize = size ? [size copy] : nil;
399
- NSNumber *strongFeeRate = [feeRate copy];
400
- NSNumber *strongSkipSync = [skipSync copy];
393
+ NSNumber *strongFeeRate = @(feeRate);
394
+ NSNumber *strongSkipSync = @(skipSync);
401
395
 
402
396
  EXEC_ASYNC({
403
397
  NSDictionary *result = [RgbSwiftHelper _createUtxos:strongWalletId
@@ -423,24 +417,24 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
423
417
  });
424
418
  }
425
419
 
426
- - (void)createUtxosBegin:(NSNumber *)walletId
427
- upTo:(NSNumber *)upTo
420
+ - (void)createUtxosBegin:(double)walletId
421
+ upTo:(BOOL)upTo
428
422
  num:(NSNumber *)num
429
423
  size:(NSNumber *)size
430
- feeRate:(NSNumber *)feeRate
431
- skipSync:(NSNumber *)skipSync
424
+ feeRate:(double)feeRate
425
+ skipSync:(BOOL)skipSync
432
426
  resolve:(RCTPromiseResolveBlock)resolve
433
427
  reject:(RCTPromiseRejectBlock)reject
434
428
  {
435
429
  __weak Rgb *weakSelf = self;
436
430
  RCTPromiseResolveBlock strongResolve = resolve;
437
431
  RCTPromiseRejectBlock strongReject = reject;
438
- NSNumber *strongWalletId = [walletId copy];
439
- NSNumber *strongUpTo = [upTo copy];
432
+ NSNumber *strongWalletId = @(walletId);
433
+ NSNumber *strongUpTo = @(upTo);
440
434
  NSNumber *strongNum = num ? [num copy] : nil;
441
435
  NSNumber *strongSize = size ? [size copy] : nil;
442
- NSNumber *strongFeeRate = [feeRate copy];
443
- NSNumber *strongSkipSync = [skipSync copy];
436
+ NSNumber *strongFeeRate = @(feeRate);
437
+ NSNumber *strongSkipSync = @(skipSync);
444
438
 
445
439
  EXEC_ASYNC({
446
440
  NSDictionary *result = [RgbSwiftHelper _createUtxosBegin:strongWalletId
@@ -466,18 +460,18 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
466
460
  });
467
461
  }
468
462
 
469
- - (void)createUtxosEnd:(NSNumber *)walletId
463
+ - (void)createUtxosEnd:(double)walletId
470
464
  signedPsbt:(NSString *)signedPsbt
471
- skipSync:(NSNumber *)skipSync
465
+ skipSync:(BOOL)skipSync
472
466
  resolve:(RCTPromiseResolveBlock)resolve
473
467
  reject:(RCTPromiseRejectBlock)reject
474
468
  {
475
469
  __weak Rgb *weakSelf = self;
476
470
  RCTPromiseResolveBlock strongResolve = resolve;
477
471
  RCTPromiseRejectBlock strongReject = reject;
478
- NSNumber *strongWalletId = [walletId copy];
472
+ NSNumber *strongWalletId = @(walletId);
479
473
  NSString *strongSignedPsbt = [signedPsbt copy];
480
- NSNumber *strongSkipSync = [skipSync copy];
474
+ NSNumber *strongSkipSync = @(skipSync);
481
475
 
482
476
  EXEC_ASYNC({
483
477
  NSDictionary *result = [RgbSwiftHelper _createUtxosEnd:strongWalletId
@@ -500,18 +494,18 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
500
494
  });
501
495
  }
502
496
 
503
- - (void)deleteTransfers:(NSNumber *)walletId
497
+ - (void)deleteTransfers:(double)walletId
504
498
  batchTransferIdx:(NSNumber *)batchTransferIdx
505
- noAssetOnly:(NSNumber *)noAssetOnly
499
+ noAssetOnly:(BOOL)noAssetOnly
506
500
  resolve:(RCTPromiseResolveBlock)resolve
507
501
  reject:(RCTPromiseRejectBlock)reject
508
502
  {
509
503
  __weak Rgb *weakSelf = self;
510
504
  RCTPromiseResolveBlock strongResolve = resolve;
511
505
  RCTPromiseRejectBlock strongReject = reject;
512
- NSNumber *strongWalletId = [walletId copy];
506
+ NSNumber *strongWalletId = @(walletId);
513
507
  NSNumber *strongBatchTransferIdx = batchTransferIdx ? [batchTransferIdx copy] : nil;
514
- NSNumber *strongNoAssetOnly = [noAssetOnly copy];
508
+ NSNumber *strongNoAssetOnly = @(noAssetOnly);
515
509
 
516
510
  EXEC_ASYNC({
517
511
  NSDictionary *result = [RgbSwiftHelper _deleteTransfers:strongWalletId
@@ -534,20 +528,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
534
528
  });
535
529
  }
536
530
 
537
- - (void)drainTo:(NSNumber *)walletId
531
+ - (void)drainTo:(double)walletId
538
532
  address:(NSString *)address
539
- destroyAssets:(NSNumber *)destroyAssets
540
- feeRate:(NSNumber *)feeRate
533
+ destroyAssets:(BOOL)destroyAssets
534
+ feeRate:(double)feeRate
541
535
  resolve:(RCTPromiseResolveBlock)resolve
542
536
  reject:(RCTPromiseRejectBlock)reject
543
537
  {
544
538
  __weak Rgb *weakSelf = self;
545
539
  RCTPromiseResolveBlock strongResolve = resolve;
546
540
  RCTPromiseRejectBlock strongReject = reject;
547
- NSNumber *strongWalletId = [walletId copy];
541
+ NSNumber *strongWalletId = @(walletId);
548
542
  NSString *strongAddress = [address copy];
549
- NSNumber *strongDestroyAssets = [destroyAssets copy];
550
- NSNumber *strongFeeRate = [feeRate copy];
543
+ NSNumber *strongDestroyAssets = @(destroyAssets);
544
+ NSNumber *strongFeeRate = @(feeRate);
551
545
 
552
546
  EXEC_ASYNC({
553
547
  NSDictionary *result = [RgbSwiftHelper _drainTo:strongWalletId
@@ -571,20 +565,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
571
565
  });
572
566
  }
573
567
 
574
- - (void)drainToBegin:(NSNumber *)walletId
568
+ - (void)drainToBegin:(double)walletId
575
569
  address:(NSString *)address
576
- destroyAssets:(NSNumber *)destroyAssets
577
- feeRate:(NSNumber *)feeRate
570
+ destroyAssets:(BOOL)destroyAssets
571
+ feeRate:(double)feeRate
578
572
  resolve:(RCTPromiseResolveBlock)resolve
579
573
  reject:(RCTPromiseRejectBlock)reject
580
574
  {
581
575
  __weak Rgb *weakSelf = self;
582
576
  RCTPromiseResolveBlock strongResolve = resolve;
583
577
  RCTPromiseRejectBlock strongReject = reject;
584
- NSNumber *strongWalletId = [walletId copy];
578
+ NSNumber *strongWalletId = @(walletId);
585
579
  NSString *strongAddress = [address copy];
586
- NSNumber *strongDestroyAssets = [destroyAssets copy];
587
- NSNumber *strongFeeRate = [feeRate copy];
580
+ NSNumber *strongDestroyAssets = @(destroyAssets);
581
+ NSNumber *strongFeeRate = @(feeRate);
588
582
 
589
583
  EXEC_ASYNC({
590
584
  NSDictionary *result = [RgbSwiftHelper _drainToBegin:strongWalletId
@@ -608,15 +602,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
608
602
  });
609
603
  }
610
604
 
611
- - (void)drainToEnd:(NSNumber *)walletId
612
- signedPsbt:(NSString *)signedPsbt
605
+ - (void)drainToEnd:(double)walletId
606
+ signedPsbt:(NSString * _Nonnull)signedPsbt
613
607
  resolve:(RCTPromiseResolveBlock)resolve
614
608
  reject:(RCTPromiseRejectBlock)reject
615
609
  {
616
610
  __weak Rgb *weakSelf = self;
617
611
  RCTPromiseResolveBlock strongResolve = resolve;
618
612
  RCTPromiseRejectBlock strongReject = reject;
619
- NSNumber *strongWalletId = [walletId copy];
613
+ NSNumber *strongWalletId = @(walletId);
620
614
  NSString *strongSignedPsbt = [signedPsbt copy];
621
615
 
622
616
  EXEC_ASYNC({
@@ -638,20 +632,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
638
632
  });
639
633
  }
640
634
 
641
- - (void)failTransfers:(NSNumber *)walletId
635
+ - (void)failTransfers:(double)walletId
642
636
  batchTransferIdx:(NSNumber *)batchTransferIdx
643
- noAssetOnly:(NSNumber *)noAssetOnly
644
- skipSync:(NSNumber *)skipSync
637
+ noAssetOnly:(BOOL)noAssetOnly
638
+ skipSync:(BOOL)skipSync
645
639
  resolve:(RCTPromiseResolveBlock)resolve
646
640
  reject:(RCTPromiseRejectBlock)reject
647
641
  {
648
642
  __weak Rgb *weakSelf = self;
649
643
  RCTPromiseResolveBlock strongResolve = resolve;
650
644
  RCTPromiseRejectBlock strongReject = reject;
651
- NSNumber *strongWalletId = [walletId copy];
645
+ NSNumber *strongWalletId = @(walletId);
652
646
  NSNumber *strongBatchTransferIdx = batchTransferIdx ? [batchTransferIdx copy] : nil;
653
- NSNumber *strongNoAssetOnly = [noAssetOnly copy];
654
- NSNumber *strongSkipSync = [skipSync copy];
647
+ NSNumber *strongNoAssetOnly = @(noAssetOnly);
648
+ NSNumber *strongSkipSync = @(skipSync);
655
649
 
656
650
  EXEC_ASYNC({
657
651
  NSDictionary *result = [RgbSwiftHelper _failTransfers:strongWalletId
@@ -675,15 +669,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
675
669
  });
676
670
  }
677
671
 
678
- - (void)finalizePsbt:(NSNumber *)walletId
679
- signedPsbt:(NSString *)signedPsbt
672
+ - (void)finalizePsbt:(double)walletId
673
+ signedPsbt:(NSString * _Nonnull)signedPsbt
680
674
  resolve:(RCTPromiseResolveBlock)resolve
681
675
  reject:(RCTPromiseRejectBlock)reject
682
676
  {
683
677
  __weak Rgb *weakSelf = self;
684
678
  RCTPromiseResolveBlock strongResolve = resolve;
685
679
  RCTPromiseRejectBlock strongReject = reject;
686
- NSNumber *strongWalletId = [walletId copy];
680
+ NSNumber *strongWalletId = @(walletId);
687
681
  NSString *strongSignedPsbt = [signedPsbt copy];
688
682
 
689
683
  EXEC_ASYNC({
@@ -705,14 +699,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
705
699
  });
706
700
  }
707
701
 
708
- - (void)getAddress:(NSNumber *)walletId
702
+ - (void)getAddress:(double)walletId
709
703
  resolve:(RCTPromiseResolveBlock)resolve
710
704
  reject:(RCTPromiseRejectBlock)reject
711
705
  {
712
706
  __weak Rgb *weakSelf = self;
713
707
  RCTPromiseResolveBlock strongResolve = resolve;
714
708
  RCTPromiseRejectBlock strongReject = reject;
715
- NSNumber *strongWalletId = [walletId copy];
709
+ NSNumber *strongWalletId = @(walletId);
716
710
 
717
711
  EXEC_ASYNC({
718
712
  NSDictionary *result = [RgbSwiftHelper _getAddress:strongWalletId];
@@ -733,15 +727,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
733
727
  });
734
728
  }
735
729
 
736
- - (void)getAssetBalance:(NSNumber *)walletId
737
- assetId:(NSString *)assetId
730
+ - (void)getAssetBalance:(double)walletId
731
+ assetId:(NSString * _Nonnull)assetId
738
732
  resolve:(RCTPromiseResolveBlock)resolve
739
733
  reject:(RCTPromiseRejectBlock)reject
740
734
  {
741
735
  __weak Rgb *weakSelf = self;
742
736
  RCTPromiseResolveBlock strongResolve = resolve;
743
737
  RCTPromiseRejectBlock strongReject = reject;
744
- NSNumber *strongWalletId = [walletId copy];
738
+ NSNumber *strongWalletId = @(walletId);
745
739
  NSString *strongAssetId = [assetId copy];
746
740
 
747
741
  EXEC_ASYNC({
@@ -763,15 +757,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
763
757
  });
764
758
  }
765
759
 
766
- - (void)getAssetMetadata:(NSNumber *)walletId
767
- assetId:(NSString *)assetId
760
+ - (void)getAssetMetadata:(double)walletId
761
+ assetId:(NSString * _Nonnull)assetId
768
762
  resolve:(RCTPromiseResolveBlock)resolve
769
763
  reject:(RCTPromiseRejectBlock)reject
770
764
  {
771
765
  __weak Rgb *weakSelf = self;
772
766
  RCTPromiseResolveBlock strongResolve = resolve;
773
767
  RCTPromiseRejectBlock strongReject = reject;
774
- NSNumber *strongWalletId = [walletId copy];
768
+ NSNumber *strongWalletId = @(walletId);
775
769
  NSString *strongAssetId = [assetId copy];
776
770
 
777
771
  EXEC_ASYNC({
@@ -793,16 +787,16 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
793
787
  });
794
788
  }
795
789
 
796
- - (void)getFeeEstimation:(NSNumber *)walletId
797
- blocks:(NSNumber *)blocks
790
+ - (void)getFeeEstimation:(double)walletId
791
+ blocks:(double)blocks
798
792
  resolve:(RCTPromiseResolveBlock)resolve
799
793
  reject:(RCTPromiseRejectBlock)reject
800
794
  {
801
795
  __weak Rgb *weakSelf = self;
802
796
  RCTPromiseResolveBlock strongResolve = resolve;
803
797
  RCTPromiseRejectBlock strongReject = reject;
804
- NSNumber *strongWalletId = [walletId copy];
805
- NSNumber *strongBlocks = [blocks copy];
798
+ NSNumber *strongWalletId = @(walletId);
799
+ NSNumber *strongBlocks = @(blocks);
806
800
 
807
801
  EXEC_ASYNC({
808
802
  NSDictionary *result = [RgbSwiftHelper _getFeeEstimation:strongWalletId blocks:strongBlocks];
@@ -823,14 +817,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
823
817
  });
824
818
  }
825
819
 
826
- - (void)getMediaDir:(NSNumber *)walletId
820
+ - (void)getMediaDir:(double)walletId
827
821
  resolve:(RCTPromiseResolveBlock)resolve
828
822
  reject:(RCTPromiseRejectBlock)reject
829
823
  {
830
824
  __weak Rgb *weakSelf = self;
831
825
  RCTPromiseResolveBlock strongResolve = resolve;
832
826
  RCTPromiseRejectBlock strongReject = reject;
833
- NSNumber *strongWalletId = [walletId copy];
827
+ NSNumber *strongWalletId = @(walletId);
834
828
 
835
829
  EXEC_ASYNC({
836
830
  NSDictionary *result = [RgbSwiftHelper _getMediaDir:strongWalletId];
@@ -851,14 +845,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
851
845
  });
852
846
  }
853
847
 
854
- - (void)getWalletData:(NSNumber *)walletId
848
+ - (void)getWalletData:(double)walletId
855
849
  resolve:(RCTPromiseResolveBlock)resolve
856
850
  reject:(RCTPromiseRejectBlock)reject
857
851
  {
858
852
  __weak Rgb *weakSelf = self;
859
853
  RCTPromiseResolveBlock strongResolve = resolve;
860
854
  RCTPromiseRejectBlock strongReject = reject;
861
- NSNumber *strongWalletId = [walletId copy];
855
+ NSNumber *strongWalletId = @(walletId);
862
856
 
863
857
  EXEC_ASYNC({
864
858
  NSDictionary *result = [RgbSwiftHelper _getWalletData:strongWalletId];
@@ -879,14 +873,14 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
879
873
  });
880
874
  }
881
875
 
882
- - (void)getWalletDir:(NSNumber *)walletId
876
+ - (void)getWalletDir:(double)walletId
883
877
  resolve:(RCTPromiseResolveBlock)resolve
884
878
  reject:(RCTPromiseRejectBlock)reject
885
879
  {
886
880
  __weak Rgb *weakSelf = self;
887
881
  RCTPromiseResolveBlock strongResolve = resolve;
888
882
  RCTPromiseRejectBlock strongReject = reject;
889
- NSNumber *strongWalletId = [walletId copy];
883
+ NSNumber *strongWalletId = @(walletId);
890
884
 
891
885
  EXEC_ASYNC({
892
886
  NSDictionary *result = [RgbSwiftHelper _getWalletDir:strongWalletId];
@@ -907,22 +901,22 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
907
901
  });
908
902
  }
909
903
 
910
- - (void)inflate:(NSNumber *)walletId
904
+ - (void)inflate:(double)walletId
911
905
  assetId:(NSString *)assetId
912
906
  inflationAmounts:(NSArray<NSNumber *> *)inflationAmounts
913
- feeRate:(NSNumber *)feeRate
914
- minConfirmations:(NSNumber *)minConfirmations
907
+ feeRate:(double)feeRate
908
+ minConfirmations:(double)minConfirmations
915
909
  resolve:(RCTPromiseResolveBlock)resolve
916
910
  reject:(RCTPromiseRejectBlock)reject
917
911
  {
918
912
  __weak Rgb *weakSelf = self;
919
913
  RCTPromiseResolveBlock strongResolve = resolve;
920
914
  RCTPromiseRejectBlock strongReject = reject;
921
- NSNumber *strongWalletId = [walletId copy];
915
+ NSNumber *strongWalletId = @(walletId);
922
916
  NSString *strongAssetId = [assetId copy];
923
917
  NSArray *strongInflationAmounts = [inflationAmounts copy];
924
- NSNumber *strongFeeRate = [feeRate copy];
925
- NSNumber *strongMinConfirmations = [minConfirmations copy];
918
+ NSNumber *strongFeeRate = @(feeRate);
919
+ NSNumber *strongMinConfirmations = @(minConfirmations);
926
920
 
927
921
  EXEC_ASYNC({
928
922
  NSDictionary *result = [RgbSwiftHelper _inflate:strongWalletId
@@ -947,22 +941,22 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
947
941
  });
948
942
  }
949
943
 
950
- - (void)inflateBegin:(NSNumber *)walletId
944
+ - (void)inflateBegin:(double)walletId
951
945
  assetId:(NSString *)assetId
952
946
  inflationAmounts:(NSArray<NSNumber *> *)inflationAmounts
953
- feeRate:(NSNumber *)feeRate
954
- minConfirmations:(NSNumber *)minConfirmations
947
+ feeRate:(double)feeRate
948
+ minConfirmations:(double)minConfirmations
955
949
  resolve:(RCTPromiseResolveBlock)resolve
956
950
  reject:(RCTPromiseRejectBlock)reject
957
951
  {
958
952
  __weak Rgb *weakSelf = self;
959
953
  RCTPromiseResolveBlock strongResolve = resolve;
960
954
  RCTPromiseRejectBlock strongReject = reject;
961
- NSNumber *strongWalletId = [walletId copy];
955
+ NSNumber *strongWalletId = @(walletId);
962
956
  NSString *strongAssetId = [assetId copy];
963
957
  NSArray *strongInflationAmounts = [inflationAmounts copy];
964
- NSNumber *strongFeeRate = [feeRate copy];
965
- NSNumber *strongMinConfirmations = [minConfirmations copy];
958
+ NSNumber *strongFeeRate = @(feeRate);
959
+ NSNumber *strongMinConfirmations = @(minConfirmations);
966
960
 
967
961
  EXEC_ASYNC({
968
962
  NSDictionary *result = [RgbSwiftHelper _inflateBegin:strongWalletId
@@ -987,15 +981,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
987
981
  });
988
982
  }
989
983
 
990
- - (void)inflateEnd:(NSNumber *)walletId
991
- signedPsbt:(NSString *)signedPsbt
984
+ - (void)inflateEnd:(double)walletId
985
+ signedPsbt:(NSString * _Nonnull)signedPsbt
992
986
  resolve:(RCTPromiseResolveBlock)resolve
993
987
  reject:(RCTPromiseRejectBlock)reject
994
988
  {
995
989
  __weak Rgb *weakSelf = self;
996
990
  RCTPromiseResolveBlock strongResolve = resolve;
997
991
  RCTPromiseRejectBlock strongReject = reject;
998
- NSNumber *strongWalletId = [walletId copy];
992
+ NSNumber *strongWalletId = @(walletId);
999
993
  NSString *strongSignedPsbt = [signedPsbt copy];
1000
994
 
1001
995
  EXEC_ASYNC({
@@ -1017,22 +1011,22 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1017
1011
  });
1018
1012
  }
1019
1013
 
1020
- - (void)issueAssetCfa:(NSNumber *)walletId
1014
+ - (void)issueAssetCfa:(double)walletId
1021
1015
  name:(NSString *)name
1022
- details:(NSString *)details
1023
- precision:(NSNumber *)precision
1016
+ details:(NSString * _Nullable)details
1017
+ precision:(double)precision
1024
1018
  amounts:(NSArray<NSNumber *> *)amounts
1025
- filePath:(NSString *)filePath
1019
+ filePath:(NSString * _Nullable)filePath
1026
1020
  resolve:(RCTPromiseResolveBlock)resolve
1027
1021
  reject:(RCTPromiseRejectBlock)reject
1028
1022
  {
1029
1023
  __weak Rgb *weakSelf = self;
1030
1024
  RCTPromiseResolveBlock strongResolve = resolve;
1031
1025
  RCTPromiseRejectBlock strongReject = reject;
1032
- NSNumber *strongWalletId = [walletId copy];
1026
+ NSNumber *strongWalletId = @(walletId);
1033
1027
  NSString *strongName = [name copy];
1034
1028
  NSString *strongDetails = details ? [details copy] : nil;
1035
- NSNumber *strongPrecision = [precision copy];
1029
+ NSNumber *strongPrecision = @(precision);
1036
1030
  NSArray *strongAmounts = [amounts copy];
1037
1031
  NSString *strongFilePath = filePath ? [filePath copy] : nil;
1038
1032
 
@@ -1060,27 +1054,27 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1060
1054
  });
1061
1055
  }
1062
1056
 
1063
- - (void)issueAssetIfa:(NSNumber *)walletId
1057
+ - (void)issueAssetIfa:(double)walletId
1064
1058
  ticker:(NSString *)ticker
1065
1059
  name:(NSString *)name
1066
- precision:(NSNumber *)precision
1060
+ precision:(double)precision
1067
1061
  amounts:(NSArray<NSNumber *> *)amounts
1068
1062
  inflationAmounts:(NSArray<NSNumber *> *)inflationAmounts
1069
- replaceRightsNum:(NSNumber *)replaceRightsNum
1070
- rejectListUrl:(NSString *)rejectListUrl
1063
+ replaceRightsNum:(double)replaceRightsNum
1064
+ rejectListUrl:(NSString * _Nullable)rejectListUrl
1071
1065
  resolve:(RCTPromiseResolveBlock)resolve
1072
1066
  reject:(RCTPromiseRejectBlock)reject
1073
1067
  {
1074
1068
  __weak Rgb *weakSelf = self;
1075
1069
  RCTPromiseResolveBlock strongResolve = resolve;
1076
1070
  RCTPromiseRejectBlock strongReject = reject;
1077
- NSNumber *strongWalletId = [walletId copy];
1071
+ NSNumber *strongWalletId = @(walletId);
1078
1072
  NSString *strongTicker = [ticker copy];
1079
1073
  NSString *strongName = [name copy];
1080
- NSNumber *strongPrecision = [precision copy];
1074
+ NSNumber *strongPrecision = @(precision);
1081
1075
  NSArray *strongAmounts = [amounts copy];
1082
1076
  NSArray *strongInflationAmounts = [inflationAmounts copy];
1083
- NSNumber *strongReplaceRightsNum = [replaceRightsNum copy];
1077
+ NSNumber *strongReplaceRightsNum = @(replaceRightsNum);
1084
1078
  NSString *strongRejectListUrl = rejectListUrl ? [rejectListUrl copy] : nil;
1085
1079
 
1086
1080
  EXEC_ASYNC({
@@ -1109,10 +1103,10 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1109
1103
  });
1110
1104
  }
1111
1105
 
1112
- - (void)issueAssetNia:(NSNumber *)walletId
1106
+ - (void)issueAssetNia:(double)walletId
1113
1107
  ticker:(NSString *)ticker
1114
1108
  name:(NSString *)name
1115
- precision:(NSNumber *)precision
1109
+ precision:(double)precision
1116
1110
  amounts:(NSArray<NSNumber *> *)amounts
1117
1111
  resolve:(RCTPromiseResolveBlock)resolve
1118
1112
  reject:(RCTPromiseRejectBlock)reject
@@ -1120,10 +1114,10 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1120
1114
  __weak Rgb *weakSelf = self;
1121
1115
  RCTPromiseResolveBlock strongResolve = resolve;
1122
1116
  RCTPromiseRejectBlock strongReject = reject;
1123
- NSNumber *strongWalletId = [walletId copy];
1117
+ NSNumber *strongWalletId = @(walletId);
1124
1118
  NSString *strongTicker = [ticker copy];
1125
1119
  NSString *strongName = [name copy];
1126
- NSNumber *strongPrecision = [precision copy];
1120
+ NSNumber *strongPrecision = @(precision);
1127
1121
  NSArray *strongAmounts = [amounts copy];
1128
1122
 
1129
1123
  EXEC_ASYNC({
@@ -1149,12 +1143,12 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1149
1143
  });
1150
1144
  }
1151
1145
 
1152
- - (void)issueAssetUda:(NSNumber *)walletId
1146
+ - (void)issueAssetUda:(double)walletId
1153
1147
  ticker:(NSString *)ticker
1154
1148
  name:(NSString *)name
1155
- details:(NSString *)details
1156
- precision:(NSNumber *)precision
1157
- mediaFilePath:(NSString *)mediaFilePath
1149
+ details:(NSString * _Nullable)details
1150
+ precision:(double)precision
1151
+ mediaFilePath:(NSString * _Nullable)mediaFilePath
1158
1152
  attachmentsFilePaths:(NSArray<NSString *> *)attachmentsFilePaths
1159
1153
  resolve:(RCTPromiseResolveBlock)resolve
1160
1154
  reject:(RCTPromiseRejectBlock)reject
@@ -1162,11 +1156,11 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1162
1156
  __weak Rgb *weakSelf = self;
1163
1157
  RCTPromiseResolveBlock strongResolve = resolve;
1164
1158
  RCTPromiseRejectBlock strongReject = reject;
1165
- NSNumber *strongWalletId = [walletId copy];
1159
+ NSNumber *strongWalletId = @(walletId);
1166
1160
  NSString *strongTicker = [ticker copy];
1167
1161
  NSString *strongName = [name copy];
1168
1162
  NSString *strongDetails = details ? [details copy] : nil;
1169
- NSNumber *strongPrecision = [precision copy];
1163
+ NSNumber *strongPrecision = @(precision);
1170
1164
  NSString *strongMediaFilePath = mediaFilePath ? [mediaFilePath copy] : nil;
1171
1165
  NSArray *strongAttachmentsFilePaths = [attachmentsFilePaths copy];
1172
1166
 
@@ -1195,7 +1189,7 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1195
1189
  });
1196
1190
  }
1197
1191
 
1198
- - (void)listAssets:(NSNumber *)walletId
1192
+ - (void)listAssets:(double)walletId
1199
1193
  filterAssetSchemas:(NSArray<NSString *> *)filterAssetSchemas
1200
1194
  resolve:(RCTPromiseResolveBlock)resolve
1201
1195
  reject:(RCTPromiseRejectBlock)reject
@@ -1203,7 +1197,7 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1203
1197
  __weak Rgb *weakSelf = self;
1204
1198
  RCTPromiseResolveBlock strongResolve = resolve;
1205
1199
  RCTPromiseRejectBlock strongReject = reject;
1206
- NSNumber *strongWalletId = [walletId copy];
1200
+ NSNumber *strongWalletId = @(walletId);
1207
1201
  NSArray *strongFilterAssetSchemas = [filterAssetSchemas copy];
1208
1202
 
1209
1203
  EXEC_ASYNC({
@@ -1225,16 +1219,16 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1225
1219
  });
1226
1220
  }
1227
1221
 
1228
- - (void)listTransactions:(NSNumber *)walletId
1229
- skipSync:(NSNumber *)skipSync
1222
+ - (void)listTransactions:(double)walletId
1223
+ skipSync:(BOOL)skipSync
1230
1224
  resolve:(RCTPromiseResolveBlock)resolve
1231
1225
  reject:(RCTPromiseRejectBlock)reject
1232
1226
  {
1233
1227
  __weak Rgb *weakSelf = self;
1234
1228
  RCTPromiseResolveBlock strongResolve = resolve;
1235
1229
  RCTPromiseRejectBlock strongReject = reject;
1236
- NSNumber *strongWalletId = [walletId copy];
1237
- NSNumber *strongSkipSync = [skipSync copy];
1230
+ NSNumber *strongWalletId = @(walletId);
1231
+ NSNumber *strongSkipSync = @(skipSync);
1238
1232
 
1239
1233
  EXEC_ASYNC({
1240
1234
  NSDictionary *result = [RgbSwiftHelper _listTransactions:strongWalletId skipSync:strongSkipSync];
@@ -1255,15 +1249,15 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1255
1249
  });
1256
1250
  }
1257
1251
 
1258
- - (void)listTransfers:(NSNumber *)walletId
1259
- assetId:(NSString *)assetId
1252
+ - (void)listTransfers:(double)walletId
1253
+ assetId:(NSString * _Nullable)assetId
1260
1254
  resolve:(RCTPromiseResolveBlock)resolve
1261
1255
  reject:(RCTPromiseRejectBlock)reject
1262
1256
  {
1263
1257
  __weak Rgb *weakSelf = self;
1264
1258
  RCTPromiseResolveBlock strongResolve = resolve;
1265
1259
  RCTPromiseRejectBlock strongReject = reject;
1266
- NSNumber *strongWalletId = [walletId copy];
1260
+ NSNumber *strongWalletId = @(walletId);
1267
1261
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
1268
1262
 
1269
1263
  EXEC_ASYNC({
@@ -1285,18 +1279,18 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1285
1279
  });
1286
1280
  }
1287
1281
 
1288
- - (void)listUnspents:(NSNumber *)walletId
1289
- settledOnly:(NSNumber *)settledOnly
1290
- skipSync:(NSNumber *)skipSync
1282
+ - (void)listUnspents:(double)walletId
1283
+ settledOnly:(BOOL)settledOnly
1284
+ skipSync:(BOOL)skipSync
1291
1285
  resolve:(RCTPromiseResolveBlock)resolve
1292
1286
  reject:(RCTPromiseRejectBlock)reject
1293
1287
  {
1294
1288
  __weak Rgb *weakSelf = self;
1295
1289
  RCTPromiseResolveBlock strongResolve = resolve;
1296
1290
  RCTPromiseRejectBlock strongReject = reject;
1297
- NSNumber *strongWalletId = [walletId copy];
1298
- NSNumber *strongSettledOnly = [settledOnly copy];
1299
- NSNumber *strongSkipSync = [skipSync copy];
1291
+ NSNumber *strongWalletId = @(walletId);
1292
+ NSNumber *strongSettledOnly = @(settledOnly);
1293
+ NSNumber *strongSkipSync = @(skipSync);
1300
1294
 
1301
1295
  EXEC_ASYNC({
1302
1296
  NSDictionary *result = [RgbSwiftHelper _listUnspents:strongWalletId
@@ -1319,20 +1313,20 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1319
1313
  });
1320
1314
  }
1321
1315
 
1322
- - (void)refresh:(NSNumber *)walletId
1323
- assetId:(NSString *)assetId
1316
+ - (void)refresh:(double)walletId
1317
+ assetId:(NSString * _Nullable)assetId
1324
1318
  filter:(NSArray<NSDictionary *> *)filter
1325
- skipSync:(NSNumber *)skipSync
1319
+ skipSync:(BOOL)skipSync
1326
1320
  resolve:(RCTPromiseResolveBlock)resolve
1327
1321
  reject:(RCTPromiseRejectBlock)reject
1328
1322
  {
1329
1323
  __weak Rgb *weakSelf = self;
1330
1324
  RCTPromiseResolveBlock strongResolve = resolve;
1331
1325
  RCTPromiseRejectBlock strongReject = reject;
1332
- NSNumber *strongWalletId = [walletId copy];
1326
+ NSNumber *strongWalletId = @(walletId);
1333
1327
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
1334
1328
  NSArray *strongFilter = [filter copy];
1335
- NSNumber *strongSkipSync = [skipSync copy];
1329
+ NSNumber *strongSkipSync = @(skipSync);
1336
1330
 
1337
1331
  EXEC_ASYNC({
1338
1332
  NSDictionary *result = [RgbSwiftHelper _refresh:strongWalletId
@@ -1356,24 +1350,24 @@ skipConsistencyCheck:(NSNumber *)skipConsistencyCheck
1356
1350
  });
1357
1351
  }
1358
1352
 
1359
- - (void)send:(NSNumber *)walletId
1353
+ - (void)send:(double)walletId
1360
1354
  recipientMap:(NSDictionary *)recipientMap
1361
- donation:(NSNumber *)donation
1362
- feeRate:(NSNumber *)feeRate
1363
- minConfirmations:(NSNumber *)minConfirmations
1364
- skipSync:(NSNumber *)skipSync
1355
+ donation:(BOOL)donation
1356
+ feeRate:(double)feeRate
1357
+ minConfirmations:(double)minConfirmations
1358
+ skipSync:(BOOL)skipSync
1365
1359
  resolve:(RCTPromiseResolveBlock)resolve
1366
1360
  reject:(RCTPromiseRejectBlock)reject
1367
1361
  {
1368
1362
  __weak Rgb *weakSelf = self;
1369
1363
  RCTPromiseResolveBlock strongResolve = resolve;
1370
1364
  RCTPromiseRejectBlock strongReject = reject;
1371
- NSNumber *strongWalletId = [walletId copy];
1365
+ NSNumber *strongWalletId = @(walletId);
1372
1366
  NSDictionary *strongRecipientMap = [recipientMap copy];
1373
- NSNumber *strongDonation = [donation copy];
1374
- NSNumber *strongFeeRate = [feeRate copy];
1375
- NSNumber *strongMinConfirmations = [minConfirmations copy];
1376
- NSNumber *strongSkipSync = [skipSync copy];
1367
+ NSNumber *strongDonation = @(donation);
1368
+ NSNumber *strongFeeRate = @(feeRate);
1369
+ NSNumber *strongMinConfirmations = @(minConfirmations);
1370
+ NSNumber *strongSkipSync = @(skipSync);
1377
1371
 
1378
1372
  EXEC_ASYNC({
1379
1373
  NSDictionary *result = [RgbSwiftHelper _send:strongWalletId
@@ -1399,22 +1393,22 @@ minConfirmations:(NSNumber *)minConfirmations
1399
1393
  });
1400
1394
  }
1401
1395
 
1402
- - (void)sendBegin:(NSNumber *)walletId
1396
+ - (void)sendBegin:(double)walletId
1403
1397
  recipientMap:(NSDictionary *)recipientMap
1404
- donation:(NSNumber *)donation
1405
- feeRate:(NSNumber *)feeRate
1406
- minConfirmations:(NSNumber *)minConfirmations
1398
+ donation:(BOOL)donation
1399
+ feeRate:(double)feeRate
1400
+ minConfirmations:(double)minConfirmations
1407
1401
  resolve:(RCTPromiseResolveBlock)resolve
1408
1402
  reject:(RCTPromiseRejectBlock)reject
1409
1403
  {
1410
1404
  __weak Rgb *weakSelf = self;
1411
1405
  RCTPromiseResolveBlock strongResolve = resolve;
1412
1406
  RCTPromiseRejectBlock strongReject = reject;
1413
- NSNumber *strongWalletId = [walletId copy];
1407
+ NSNumber *strongWalletId = @(walletId);
1414
1408
  NSDictionary *strongRecipientMap = [recipientMap copy];
1415
- NSNumber *strongDonation = [donation copy];
1416
- NSNumber *strongFeeRate = [feeRate copy];
1417
- NSNumber *strongMinConfirmations = [minConfirmations copy];
1409
+ NSNumber *strongDonation = @(donation);
1410
+ NSNumber *strongFeeRate = @(feeRate);
1411
+ NSNumber *strongMinConfirmations = @(minConfirmations);
1418
1412
 
1419
1413
  EXEC_ASYNC({
1420
1414
  NSDictionary *result = [RgbSwiftHelper _sendBegin:strongWalletId
@@ -1439,22 +1433,22 @@ minConfirmations:(NSNumber *)minConfirmations
1439
1433
  });
1440
1434
  }
1441
1435
 
1442
- - (void)sendBtc:(NSNumber *)walletId
1436
+ - (void)sendBtc:(double)walletId
1443
1437
  address:(NSString *)address
1444
- amount:(NSNumber *)amount
1445
- feeRate:(NSNumber *)feeRate
1446
- skipSync:(NSNumber *)skipSync
1438
+ amount:(double)amount
1439
+ feeRate:(double)feeRate
1440
+ skipSync:(BOOL)skipSync
1447
1441
  resolve:(RCTPromiseResolveBlock)resolve
1448
1442
  reject:(RCTPromiseRejectBlock)reject
1449
1443
  {
1450
1444
  __weak Rgb *weakSelf = self;
1451
1445
  RCTPromiseResolveBlock strongResolve = resolve;
1452
1446
  RCTPromiseRejectBlock strongReject = reject;
1453
- NSNumber *strongWalletId = [walletId copy];
1447
+ NSNumber *strongWalletId = @(walletId);
1454
1448
  NSString *strongAddress = [address copy];
1455
- NSNumber *strongAmount = [amount copy];
1456
- NSNumber *strongFeeRate = [feeRate copy];
1457
- NSNumber *strongSkipSync = [skipSync copy];
1449
+ NSNumber *strongAmount = @(amount);
1450
+ NSNumber *strongFeeRate = @(feeRate);
1451
+ NSNumber *strongSkipSync = @(skipSync);
1458
1452
 
1459
1453
  EXEC_ASYNC({
1460
1454
  NSDictionary *result = [RgbSwiftHelper _sendBtc:strongWalletId
@@ -1479,22 +1473,22 @@ minConfirmations:(NSNumber *)minConfirmations
1479
1473
  });
1480
1474
  }
1481
1475
 
1482
- - (void)sendBtcBegin:(NSNumber *)walletId
1476
+ - (void)sendBtcBegin:(double)walletId
1483
1477
  address:(NSString *)address
1484
- amount:(NSNumber *)amount
1485
- feeRate:(NSNumber *)feeRate
1486
- skipSync:(NSNumber *)skipSync
1478
+ amount:(double)amount
1479
+ feeRate:(double)feeRate
1480
+ skipSync:(BOOL)skipSync
1487
1481
  resolve:(RCTPromiseResolveBlock)resolve
1488
1482
  reject:(RCTPromiseRejectBlock)reject
1489
1483
  {
1490
1484
  __weak Rgb *weakSelf = self;
1491
1485
  RCTPromiseResolveBlock strongResolve = resolve;
1492
1486
  RCTPromiseRejectBlock strongReject = reject;
1493
- NSNumber *strongWalletId = [walletId copy];
1487
+ NSNumber *strongWalletId = @(walletId);
1494
1488
  NSString *strongAddress = [address copy];
1495
- NSNumber *strongAmount = [amount copy];
1496
- NSNumber *strongFeeRate = [feeRate copy];
1497
- NSNumber *strongSkipSync = [skipSync copy];
1489
+ NSNumber *strongAmount = @(amount);
1490
+ NSNumber *strongFeeRate = @(feeRate);
1491
+ NSNumber *strongSkipSync = @(skipSync);
1498
1492
 
1499
1493
  EXEC_ASYNC({
1500
1494
  NSDictionary *result = [RgbSwiftHelper _sendBtcBegin:strongWalletId
@@ -1519,18 +1513,18 @@ minConfirmations:(NSNumber *)minConfirmations
1519
1513
  });
1520
1514
  }
1521
1515
 
1522
- - (void)sendBtcEnd:(NSNumber *)walletId
1516
+ - (void)sendBtcEnd:(double)walletId
1523
1517
  signedPsbt:(NSString *)signedPsbt
1524
- skipSync:(NSNumber *)skipSync
1518
+ skipSync:(BOOL)skipSync
1525
1519
  resolve:(RCTPromiseResolveBlock)resolve
1526
1520
  reject:(RCTPromiseRejectBlock)reject
1527
1521
  {
1528
1522
  __weak Rgb *weakSelf = self;
1529
1523
  RCTPromiseResolveBlock strongResolve = resolve;
1530
1524
  RCTPromiseRejectBlock strongReject = reject;
1531
- NSNumber *strongWalletId = [walletId copy];
1525
+ NSNumber *strongWalletId = @(walletId);
1532
1526
  NSString *strongSignedPsbt = [signedPsbt copy];
1533
- NSNumber *strongSkipSync = [skipSync copy];
1527
+ NSNumber *strongSkipSync = @(skipSync);
1534
1528
 
1535
1529
  EXEC_ASYNC({
1536
1530
  NSDictionary *result = [RgbSwiftHelper _sendBtcEnd:strongWalletId signedPsbt:strongSignedPsbt skipSync:strongSkipSync];
@@ -1551,18 +1545,18 @@ minConfirmations:(NSNumber *)minConfirmations
1551
1545
  });
1552
1546
  }
1553
1547
 
1554
- - (void)sendEnd:(NSNumber *)walletId
1548
+ - (void)sendEnd:(double)walletId
1555
1549
  signedPsbt:(NSString *)signedPsbt
1556
- skipSync:(NSNumber *)skipSync
1550
+ skipSync:(BOOL)skipSync
1557
1551
  resolve:(RCTPromiseResolveBlock)resolve
1558
1552
  reject:(RCTPromiseRejectBlock)reject
1559
1553
  {
1560
1554
  __weak Rgb *weakSelf = self;
1561
1555
  RCTPromiseResolveBlock strongResolve = resolve;
1562
1556
  RCTPromiseRejectBlock strongReject = reject;
1563
- NSNumber *strongWalletId = [walletId copy];
1557
+ NSNumber *strongWalletId = @(walletId);
1564
1558
  NSString *strongSignedPsbt = [signedPsbt copy];
1565
- NSNumber *strongSkipSync = [skipSync copy];
1559
+ NSNumber *strongSkipSync = @(skipSync);
1566
1560
 
1567
1561
  EXEC_ASYNC({
1568
1562
  NSDictionary *result = [RgbSwiftHelper _sendEnd:strongWalletId signedPsbt:strongSignedPsbt skipSync:strongSkipSync];
@@ -1583,7 +1577,7 @@ minConfirmations:(NSNumber *)minConfirmations
1583
1577
  });
1584
1578
  }
1585
1579
 
1586
- - (void)signPsbt:(NSNumber *)walletId
1580
+ - (void)signPsbt:(double)walletId
1587
1581
  unsignedPsbt:(NSString *)unsignedPsbt
1588
1582
  resolve:(RCTPromiseResolveBlock)resolve
1589
1583
  reject:(RCTPromiseRejectBlock)reject
@@ -1591,7 +1585,7 @@ minConfirmations:(NSNumber *)minConfirmations
1591
1585
  __weak Rgb *weakSelf = self;
1592
1586
  RCTPromiseResolveBlock strongResolve = resolve;
1593
1587
  RCTPromiseRejectBlock strongReject = reject;
1594
- NSNumber *strongWalletId = [walletId copy];
1588
+ NSNumber *strongWalletId = @(walletId);
1595
1589
  NSString *strongUnsignedPsbt = [unsignedPsbt copy];
1596
1590
 
1597
1591
  EXEC_ASYNC({
@@ -1613,14 +1607,14 @@ minConfirmations:(NSNumber *)minConfirmations
1613
1607
  });
1614
1608
  }
1615
1609
 
1616
- - (void)sync:(NSNumber *)walletId
1610
+ - (void)sync:(double)walletId
1617
1611
  resolve:(RCTPromiseResolveBlock)resolve
1618
1612
  reject:(RCTPromiseRejectBlock)reject
1619
1613
  {
1620
1614
  __weak Rgb *weakSelf = self;
1621
1615
  RCTPromiseResolveBlock strongResolve = resolve;
1622
1616
  RCTPromiseRejectBlock strongReject = reject;
1623
- NSNumber *strongWalletId = [walletId copy];
1617
+ NSNumber *strongWalletId = @(walletId);
1624
1618
 
1625
1619
  EXEC_ASYNC({
1626
1620
  NSDictionary *result = [RgbSwiftHelper _sync:strongWalletId];
@@ -1641,24 +1635,29 @@ minConfirmations:(NSNumber *)minConfirmations
1641
1635
  });
1642
1636
  }
1643
1637
 
1644
- - (void)witnessReceive:(NSNumber *)walletId
1645
- assetId:(NSString *)assetId
1646
- assignment:(NSDictionary *)assignment
1638
+ - (void)witnessReceive:(double)walletId
1639
+ assetId:(NSString * _Nullable)assetId
1640
+ assignment:(JS::NativeRgb::SpecWitnessReceiveAssignment &)assignment
1647
1641
  durationSeconds:(NSNumber *)durationSeconds
1648
1642
  transportEndpoints:(NSArray<NSString *> *)transportEndpoints
1649
- minConfirmations:(NSNumber *)minConfirmations
1643
+ minConfirmations:(double)minConfirmations
1650
1644
  resolve:(RCTPromiseResolveBlock)resolve
1651
1645
  reject:(RCTPromiseRejectBlock)reject
1652
1646
  {
1653
1647
  __weak Rgb *weakSelf = self;
1654
1648
  RCTPromiseResolveBlock strongResolve = resolve;
1655
1649
  RCTPromiseRejectBlock strongReject = reject;
1656
- NSNumber *strongWalletId = [walletId copy];
1650
+ NSNumber *strongWalletId = @(walletId);
1657
1651
  NSString *strongAssetId = assetId ? [assetId copy] : nil;
1658
- NSDictionary *strongAssignment = [assignment copy];
1652
+ NSMutableDictionary *strongAssignment = [NSMutableDictionary dictionary];
1653
+ strongAssignment[@"type"] = assignment.type();
1654
+ auto amountOpt = assignment.amount();
1655
+ if (amountOpt.has_value()) {
1656
+ strongAssignment[@"amount"] = @(amountOpt.value());
1657
+ }
1659
1658
  NSNumber *strongDurationSeconds = durationSeconds ? [durationSeconds copy] : nil;
1660
1659
  NSArray *strongTransportEndpoints = [transportEndpoints copy];
1661
- NSNumber *strongMinConfirmations = [minConfirmations copy];
1660
+ NSNumber *strongMinConfirmations = @(minConfirmations);
1662
1661
 
1663
1662
  EXEC_ASYNC({
1664
1663
  NSDictionary *result = [RgbSwiftHelper _witnessReceive:strongWalletId