react-native-rgb 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +165 -0
  3. package/Rgb.podspec +23 -0
  4. package/android/build.gradle +80 -0
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/rgb/AppConstants.kt +57 -0
  8. package/android/src/main/java/com/rgb/RgbModule.kt +1959 -0
  9. package/android/src/main/java/com/rgb/RgbPackage.kt +33 -0
  10. package/android/src/main/java/com/rgb/WalletStore.kt +49 -0
  11. package/ios/AppConstants.swift +71 -0
  12. package/ios/Rgb.h +5 -0
  13. package/ios/Rgb.mm +1740 -0
  14. package/ios/Rgb.swift +1916 -0
  15. package/ios/RgbLib.swift +7615 -0
  16. package/ios/WalletStore.swift +61 -0
  17. package/lib/module/Interfaces.js +65 -0
  18. package/lib/module/Interfaces.js.map +1 -0
  19. package/lib/module/NativeRgb.js +5 -0
  20. package/lib/module/NativeRgb.js.map +1 -0
  21. package/lib/module/RgbError.js +65 -0
  22. package/lib/module/RgbError.js.map +1 -0
  23. package/lib/module/Wallet.js +854 -0
  24. package/lib/module/Wallet.js.map +1 -0
  25. package/lib/module/index.js +39 -0
  26. package/lib/module/index.js.map +1 -0
  27. package/lib/module/package.json +1 -0
  28. package/lib/typescript/package.json +1 -0
  29. package/lib/typescript/src/Interfaces.d.ts +390 -0
  30. package/lib/typescript/src/Interfaces.d.ts.map +1 -0
  31. package/lib/typescript/src/NativeRgb.d.ts +417 -0
  32. package/lib/typescript/src/NativeRgb.d.ts.map +1 -0
  33. package/lib/typescript/src/RgbError.d.ts +28 -0
  34. package/lib/typescript/src/RgbError.d.ts.map +1 -0
  35. package/lib/typescript/src/Wallet.d.ts +648 -0
  36. package/lib/typescript/src/Wallet.d.ts.map +1 -0
  37. package/lib/typescript/src/index.d.ts +28 -0
  38. package/lib/typescript/src/index.d.ts.map +1 -0
  39. package/package.json +174 -0
  40. package/src/Interfaces.ts +376 -0
  41. package/src/NativeRgb.ts +630 -0
  42. package/src/RgbError.ts +84 -0
  43. package/src/Wallet.ts +1118 -0
  44. package/src/index.tsx +46 -0
@@ -0,0 +1,417 @@
1
+ import { type TurboModule } from 'react-native';
2
+ import type { InvoiceData } from './Interfaces';
3
+ export interface Spec extends TurboModule {
4
+ generateKeys(bitcoinNetwork: 'MAINNET' | 'TESTNET' | 'TESTNET4' | 'REGTEST' | 'SIGNET'): Promise<{
5
+ mnemonic: string;
6
+ xpub: string;
7
+ accountXpubVanilla: string;
8
+ accountXpubColored: string;
9
+ masterFingerprint: string;
10
+ }>;
11
+ restoreKeys(bitcoinNetwork: 'MAINNET' | 'TESTNET' | 'TESTNET4' | 'REGTEST' | 'SIGNET', mnemonic: string): Promise<{
12
+ mnemonic: string;
13
+ xpub: string;
14
+ accountXpubVanilla: string;
15
+ accountXpubColored: string;
16
+ masterFingerprint: string;
17
+ }>;
18
+ initializeWallet(network: string, accountXpubVanilla: string, accountXpubColored: string, mnemonic: string, masterFingerprint: string, supportedSchemas: string[], maxAllocationsPerUtxo: number, vanillaKeychain: number): Promise<number>;
19
+ goOnline(walletId: number, skipConsistencyCheck: boolean, indexerUrl: string): Promise<void>;
20
+ getBtcBalance(walletId: number, skipSync: boolean): Promise<{
21
+ vanilla: {
22
+ settled: number;
23
+ future: number;
24
+ spendable: number;
25
+ };
26
+ colored: {
27
+ settled: number;
28
+ future: number;
29
+ spendable: number;
30
+ };
31
+ }>;
32
+ walletClose(walletId: number): Promise<void>;
33
+ backup(walletId: number, backupPath: string, password: string): Promise<void>;
34
+ backupInfo(walletId: number): Promise<boolean>;
35
+ blindReceive(walletId: number, assetId: string | null, assignment: {
36
+ type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY';
37
+ amount?: number;
38
+ }, durationSeconds: number | null, transportEndpoints: string[], minConfirmations: number): Promise<{
39
+ invoice: string;
40
+ recipientId: string;
41
+ expirationTimestamp: number | null;
42
+ batchTransferIdx: number;
43
+ }>;
44
+ createUtxos(walletId: number, upTo: boolean, num: number | null, size: number | null, feeRate: number, skipSync: boolean): Promise<number>;
45
+ createUtxosBegin(walletId: number, upTo: boolean, num: number | null, size: number | null, feeRate: number, skipSync: boolean): Promise<string>;
46
+ createUtxosEnd(walletId: number, signedPsbt: string, skipSync: boolean): Promise<number>;
47
+ deleteTransfers(walletId: number, batchTransferIdx: number | null, noAssetOnly: boolean): Promise<boolean>;
48
+ drainTo(walletId: number, address: string, destroyAssets: boolean, feeRate: number): Promise<string>;
49
+ drainToBegin(walletId: number, address: string, destroyAssets: boolean, feeRate: number): Promise<string>;
50
+ drainToEnd(walletId: number, signedPsbt: string): Promise<string>;
51
+ failTransfers(walletId: number, batchTransferIdx: number | null, noAssetOnly: boolean, skipSync: boolean): Promise<boolean>;
52
+ finalizePsbt(walletId: number, signedPsbt: string): Promise<string>;
53
+ getAddress(walletId: number): Promise<string>;
54
+ getAssetBalance(walletId: number, assetId: string): Promise<{
55
+ settled: number;
56
+ future: number;
57
+ spendable: number;
58
+ }>;
59
+ getAssetMetadata(walletId: number, assetId: string): Promise<{
60
+ assetId: string;
61
+ name: string;
62
+ ticker?: string;
63
+ details?: string;
64
+ precision?: number;
65
+ issuedSupply?: number;
66
+ timestamp?: number;
67
+ amounts?: number[];
68
+ assetNia?: {
69
+ assetId: string;
70
+ ticker: string;
71
+ name: string;
72
+ precision: number;
73
+ amounts: number;
74
+ timestamp: number;
75
+ addedAt: number;
76
+ balance: {
77
+ settled: number;
78
+ future: number;
79
+ spendable: number;
80
+ };
81
+ };
82
+ assetUda?: {
83
+ assetId: string;
84
+ ticker: string;
85
+ name: string;
86
+ details?: string;
87
+ precision: number;
88
+ timestamp: number;
89
+ addedAt: number;
90
+ balance: {
91
+ settled: number;
92
+ future: number;
93
+ spendable: number;
94
+ };
95
+ media?: {
96
+ filePath: string;
97
+ mime: string;
98
+ };
99
+ attachments: Array<{
100
+ filePath: string;
101
+ mime: string;
102
+ }>;
103
+ };
104
+ assetCfa?: {
105
+ assetId: string;
106
+ name: string;
107
+ details?: string;
108
+ precision: number;
109
+ issuedSupply: number;
110
+ timestamp: number;
111
+ addedAt: number;
112
+ balance: {
113
+ settled: number;
114
+ future: number;
115
+ spendable: number;
116
+ };
117
+ media?: {
118
+ filePath: string;
119
+ mime: string;
120
+ };
121
+ };
122
+ assetIfa?: {
123
+ assetId: string;
124
+ ticker: string;
125
+ name: string;
126
+ details?: string;
127
+ precision: number;
128
+ initialSupply: number;
129
+ maxSupply: number;
130
+ knownCirculatingSupply: number;
131
+ timestamp: number;
132
+ addedAt: number;
133
+ balance: {
134
+ settled: number;
135
+ future: number;
136
+ spendable: number;
137
+ };
138
+ media?: {
139
+ filePath: string;
140
+ mime: string;
141
+ };
142
+ rejectListUrl?: string;
143
+ };
144
+ }>;
145
+ getFeeEstimation(walletId: number, blocks: number): Promise<number>;
146
+ getMediaDir(walletId: number): Promise<string>;
147
+ getWalletData(walletId: number): Promise<{
148
+ dataDir: string;
149
+ bitcoinNetwork: string;
150
+ databaseType: string;
151
+ maxAllocationsPerUtxo: number;
152
+ accountXpubVanilla: string;
153
+ accountXpubColored: string;
154
+ mnemonic?: string;
155
+ masterFingerprint: string;
156
+ vanillaKeychain?: number;
157
+ supportedSchemas: string[];
158
+ }>;
159
+ getWalletDir(walletId: number): Promise<string>;
160
+ inflate(walletId: number, assetId: string, inflationAmounts: number[], feeRate: number, minConfirmations: number): Promise<{
161
+ txid: string;
162
+ batchTransferIdx: number;
163
+ }>;
164
+ inflateBegin(walletId: number, assetId: string, inflationAmounts: number[], feeRate: number, minConfirmations: number): Promise<string>;
165
+ inflateEnd(walletId: number, signedPsbt: string): Promise<{
166
+ txid: string;
167
+ batchTransferIdx: number;
168
+ }>;
169
+ issueAssetCfa(walletId: number, name: string, details: string | null, precision: number, amounts: number[], filePath: string | null): Promise<{
170
+ assetId: string;
171
+ name: string;
172
+ details?: string;
173
+ precision: number;
174
+ issuedSupply: number;
175
+ timestamp: number;
176
+ addedAt: number;
177
+ balance: {
178
+ settled: number;
179
+ future: number;
180
+ spendable: number;
181
+ };
182
+ media?: {
183
+ filePath: string;
184
+ mime: string;
185
+ };
186
+ }>;
187
+ issueAssetIfa(walletId: number, ticker: string, name: string, precision: number, amounts: number[], inflationAmounts: number[], replaceRightsNum: number, rejectListUrl: string | null): Promise<{
188
+ assetId: string;
189
+ ticker: string;
190
+ name: string;
191
+ details?: string;
192
+ precision: number;
193
+ initialSupply: number;
194
+ maxSupply: number;
195
+ knownCirculatingSupply: number;
196
+ timestamp: number;
197
+ addedAt: number;
198
+ balance: {
199
+ settled: number;
200
+ future: number;
201
+ spendable: number;
202
+ };
203
+ media?: {
204
+ filePath: string;
205
+ mime: string;
206
+ };
207
+ rejectListUrl?: string;
208
+ }>;
209
+ issueAssetNia(walletId: number, ticker: string, name: string, precision: number, amounts: number[]): Promise<{
210
+ assetId: string;
211
+ ticker: string;
212
+ name: string;
213
+ precision: number;
214
+ amounts: number;
215
+ timestamp: number;
216
+ addedAt: number;
217
+ balance: {
218
+ settled: number;
219
+ future: number;
220
+ spendable: number;
221
+ };
222
+ }>;
223
+ issueAssetUda(walletId: number, ticker: string, name: string, details: string | null, precision: number, mediaFilePath: string | null, attachmentsFilePaths: string[]): Promise<{
224
+ assetId: string;
225
+ ticker: string;
226
+ name: string;
227
+ details?: string;
228
+ precision: number;
229
+ timestamp: number;
230
+ addedAt: number;
231
+ balance: {
232
+ settled: number;
233
+ future: number;
234
+ spendable: number;
235
+ };
236
+ media?: {
237
+ filePath: string;
238
+ mime: string;
239
+ };
240
+ attachments: Array<{
241
+ filePath: string;
242
+ mime: string;
243
+ }>;
244
+ }>;
245
+ listAssets(walletId: number, filterAssetSchemas: string[]): Promise<{
246
+ nia: Array<{
247
+ assetId: string;
248
+ ticker: string;
249
+ name: string;
250
+ precision: number;
251
+ amounts: number;
252
+ timestamp: number;
253
+ addedAt: number;
254
+ balance: {
255
+ settled: number;
256
+ future: number;
257
+ spendable: number;
258
+ };
259
+ }>;
260
+ uda: Array<{
261
+ assetId: string;
262
+ ticker: string;
263
+ name: string;
264
+ details?: string;
265
+ precision: number;
266
+ timestamp: number;
267
+ addedAt: number;
268
+ balance: {
269
+ settled: number;
270
+ future: number;
271
+ spendable: number;
272
+ };
273
+ media?: {
274
+ filePath: string;
275
+ mime: string;
276
+ };
277
+ attachments: Array<{
278
+ filePath: string;
279
+ mime: string;
280
+ }>;
281
+ }>;
282
+ cfa: Array<{
283
+ assetId: string;
284
+ name: string;
285
+ details?: string;
286
+ precision: number;
287
+ issuedSupply: number;
288
+ timestamp: number;
289
+ addedAt: number;
290
+ balance: {
291
+ settled: number;
292
+ future: number;
293
+ spendable: number;
294
+ };
295
+ media?: {
296
+ filePath: string;
297
+ mime: string;
298
+ };
299
+ }>;
300
+ ifa: Array<{
301
+ assetId: string;
302
+ ticker: string;
303
+ name: string;
304
+ details?: string;
305
+ precision: number;
306
+ initialSupply: number;
307
+ maxSupply: number;
308
+ knownCirculatingSupply: number;
309
+ timestamp: number;
310
+ addedAt: number;
311
+ balance: {
312
+ settled: number;
313
+ future: number;
314
+ spendable: number;
315
+ };
316
+ media?: {
317
+ filePath: string;
318
+ mime: string;
319
+ };
320
+ rejectListUrl?: string;
321
+ }>;
322
+ }>;
323
+ listTransactions(walletId: number, skipSync: boolean): Promise<Array<{
324
+ transactionType: 'RGB_SEND' | 'DRAIN' | 'CREATE_UTXOS' | 'USER';
325
+ txid: string;
326
+ received: number;
327
+ sent: number;
328
+ fee: number;
329
+ confirmationTime?: number;
330
+ }>>;
331
+ listTransfers(walletId: number, assetId: string | null): Promise<Array<{
332
+ transferIdx: number;
333
+ batchTransferIdx: number;
334
+ createdAt: number;
335
+ updatedAt: number;
336
+ kind: 'ISSUANCE' | 'RECEIVE_BLIND' | 'RECEIVE_WITNESS' | 'SEND' | 'INFLATION';
337
+ status: 'WAITING_COUNTERPARTY' | 'WAITING_CONFIRMATIONS' | 'SETTLED' | 'FAILED';
338
+ txid?: string;
339
+ recipientId?: string;
340
+ receiveUtxo?: number;
341
+ changeUtxo?: number;
342
+ expiration?: number;
343
+ transportEndpoints: string;
344
+ invoiceString?: string;
345
+ consignmentPath?: string;
346
+ assignments: number;
347
+ }>>;
348
+ listUnspents(walletId: number, settledOnly: boolean, skipSync: boolean): Promise<Array<{
349
+ utxo: string;
350
+ vout: number;
351
+ amount: number;
352
+ colorable: string;
353
+ rgbAllocations: number;
354
+ }>>;
355
+ refresh(walletId: number, assetId: string | null, filter: Array<{
356
+ status: 'WAITING_COUNTERPARTY' | 'WAITING_CONFIRMATIONS';
357
+ incoming: boolean;
358
+ }>, skipSync: boolean): Promise<{
359
+ [key: string]: {
360
+ updatedStatus?: 'WAITING_COUNTERPARTY' | 'WAITING_CONFIRMATIONS' | 'SETTLED' | 'FAILED';
361
+ failure?: string;
362
+ };
363
+ }>;
364
+ send(walletId: number, recipientMap: {
365
+ [key: string]: Array<{
366
+ recipientId: string;
367
+ witnessData?: {
368
+ amountSat: number;
369
+ blinding?: number;
370
+ };
371
+ assignment: {
372
+ type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY';
373
+ amount?: number;
374
+ };
375
+ transportEndpoints: string[];
376
+ }>;
377
+ }, donation: boolean, feeRate: number, minConfirmations: number, skipSync: boolean): Promise<{
378
+ txid: string;
379
+ batchTransferIdx: number;
380
+ }>;
381
+ sendBegin(walletId: number, recipientMap: {
382
+ [key: string]: Array<{
383
+ recipientId: string;
384
+ witnessData?: {
385
+ amountSat: number;
386
+ blinding?: number;
387
+ };
388
+ assignment: {
389
+ type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY';
390
+ amount?: number;
391
+ };
392
+ transportEndpoints: string[];
393
+ }>;
394
+ }, donation: boolean, feeRate: number, minConfirmations: number): Promise<string>;
395
+ sendBtc(walletId: number, address: string, amount: number, feeRate: number, skipSync: boolean): Promise<string>;
396
+ sendBtcBegin(walletId: number, address: string, amount: number, feeRate: number, skipSync: boolean): Promise<string>;
397
+ sendBtcEnd(walletId: number, signedPsbt: string, skipSync: boolean): Promise<string>;
398
+ sendEnd(walletId: number, signedPsbt: string, skipSync: boolean): Promise<{
399
+ txid: string;
400
+ batchTransferIdx: number;
401
+ }>;
402
+ signPsbt(walletId: number, unsignedPsbt: string): Promise<string>;
403
+ sync(walletId: number): Promise<void>;
404
+ witnessReceive(walletId: number, assetId: string | null, assignment: {
405
+ type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY';
406
+ amount?: number;
407
+ }, durationSeconds: number | null, transportEndpoints: string[], minConfirmations: number): Promise<{
408
+ invoice: string;
409
+ recipientId: string;
410
+ expirationTimestamp: number | null;
411
+ batchTransferIdx: number;
412
+ }>;
413
+ decodeInvoice(invoice: string): Promise<InvoiceData>;
414
+ }
415
+ declare const _default: Spec;
416
+ export default _default;
417
+ //# sourceMappingURL=NativeRgb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeRgb.d.ts","sourceRoot":"","sources":["../../../src/NativeRgb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { RgbLibErrors } from './Interfaces';
2
+ /**
3
+ * Custom error class for RGB library errors.
4
+ * Provides structured error information with error codes and messages.
5
+ */
6
+ export declare class RgbError extends Error {
7
+ readonly originalError?: unknown | undefined;
8
+ /**
9
+ * Error code from the native module.
10
+ * This helps identify which operation failed.
11
+ */
12
+ readonly code: RgbLibErrors;
13
+ /**
14
+ * Original error message from the native module.
15
+ */
16
+ readonly nativeMessage: string;
17
+ constructor(code: RgbLibErrors, message: string, originalError?: unknown | undefined);
18
+ isCode(code: RgbLibErrors): boolean;
19
+ toString(): string;
20
+ /**
21
+ * Converts a React Native error to an RgbError.
22
+ * React Native errors from native modules typically have a code and message.
23
+ * @param error - The error from React Native
24
+ * @returns An RgbError instance, or the original error if it cannot be converted
25
+ */
26
+ static fromReactNativeError(error: unknown): RgbError | Error;
27
+ }
28
+ //# sourceMappingURL=RgbError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RgbError.d.ts","sourceRoot":"","sources":["../../../src/RgbError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAef,aAAa,CAAC,EAAE,OAAO;IAdzC;;;OAGG;IACH,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC;;OAEG;IACH,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAGpC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,EACC,aAAa,CAAC,EAAE,OAAO,YAAA;IAYlC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAgBnC,QAAQ,IAAI,MAAM;IAQzB;;;;;OAKG;WACW,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK;CAoBrE"}