react-native-bdk-sdk 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cpp/generated/bdk_ffi.cpp +122 -0
- package/cpp/generated/bdk_ffi.hpp +6 -0
- package/lib/commonjs/generated/bdk_ffi-ffi.js.map +1 -1
- package/lib/commonjs/generated/bdk_ffi.js +132 -7
- package/lib/commonjs/generated/bdk_ffi.js.map +1 -1
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/wrapper.js +433 -0
- package/lib/commonjs/wrapper.js.map +1 -0
- package/lib/module/generated/bdk_ffi-ffi.js.map +1 -1
- package/lib/module/generated/bdk_ffi.js +128 -6
- package/lib/module/generated/bdk_ffi.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/wrapper.js +427 -0
- package/lib/module/wrapper.js.map +1 -0
- package/lib/typescript/commonjs/src/generated/bdk_ffi-ffi.d.ts +6 -0
- package/lib/typescript/commonjs/src/generated/bdk_ffi-ffi.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/generated/bdk_ffi.d.ts +61 -2
- package/lib/typescript/commonjs/src/generated/bdk_ffi.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/wrapper.d.ts +168 -0
- package/lib/typescript/commonjs/src/wrapper.d.ts.map +1 -0
- package/lib/typescript/module/src/generated/bdk_ffi-ffi.d.ts +6 -0
- package/lib/typescript/module/src/generated/bdk_ffi-ffi.d.ts.map +1 -1
- package/lib/typescript/module/src/generated/bdk_ffi.d.ts +61 -2
- package/lib/typescript/module/src/generated/bdk_ffi.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/wrapper.d.ts +168 -0
- package/lib/typescript/module/src/wrapper.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/generated/bdk_ffi-ffi.ts +20 -0
- package/src/generated/bdk_ffi.ts +232 -7
- package/src/index.tsx +3 -0
- package/src/wrapper.ts +614 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../../src/wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,SAAS,EACT,MAAM,EAEP,MAAM,qBAAqB,CAAC;AAM7B,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB,CAAC;AA+FF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAEvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,GAAG,EAAE,MAAM;IAIvB,IAAI,GAAG,IAAI,kBAAkB,CAE5B;CACF;AAaD,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAGpB;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAG7B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM;IAKhB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAMzC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAID,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;IAItD,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;IAItD,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;IAIvE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAI/D,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,EAAE;IAI1D,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxD,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAM1D,UAAU,IAAI,QAAQ;IAMtB,WAAW,IAAI,YAAY,EAAE;IAI7B,UAAU,IAAI,YAAY,EAAE;IAI5B,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IAKrD,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IASxF,YAAY,IAAI,UAAU,EAAE;IAI5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAK/C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAIhD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAI7B,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAMrC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5E,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC;IAIlB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAM3F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ;IAMxD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAM9D,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAIhD,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAIlD,SAAS,IAAI,YAAY,EAAE;IAI3B,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAIpD,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAI3D,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAMnD,gBAAgB,IAAI,OAAO,GAAG,SAAS;IAIvC,WAAW,IAAI,OAAO,EAAE;IAMxB,OAAO,IAAI,OAAO;IAMlB,OAAO,IAAI,OAAO;CAGnB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;;IAMlC,IAAI,GAAG,IAAI,SAAS,CAEnB;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvD,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAM/E,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAIlC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,IAAI,IAAI;IAInB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B,oBAAoB,IAAI,IAAI;IAI5B,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIjC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;IAI1C,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;IAI7C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIxC,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIpD,kBAAkB,IAAI,IAAI;IAI1B,gBAAgB,IAAI,IAAI;IAIxB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAI7C,SAAS,IAAI,IAAI;IAIjB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAIpC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAInC,eAAe,IAAI,IAAI;IAIvB,gCAAgC,IAAI,IAAI;IAIxC,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIlC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGnD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-bdk-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "React Native language bindings for the Bitcoin Development Kit",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
"access": "public"
|
|
80
80
|
},
|
|
81
81
|
"checksums": {
|
|
82
|
-
"android": "
|
|
83
|
-
"ios": "
|
|
82
|
+
"android": "b736828274b93dd960ae74f1697eae10f6415931b5867093673081d4079b66de",
|
|
83
|
+
"ios": "a0f1b46325f6bd8dd4bf93621adf8ea70f2051d062da370a17482b74148d12bd"
|
|
84
84
|
},
|
|
85
85
|
"dependencies": {
|
|
86
86
|
"uniffi-bindgen-react-native": "0.31.0-2"
|
|
@@ -523,6 +523,11 @@ interface NativeModuleInterface {
|
|
|
523
523
|
index: number,
|
|
524
524
|
uniffi_out_err: UniffiRustCallStatus
|
|
525
525
|
): number;
|
|
526
|
+
ubrn_uniffi_bdk_ffi_fn_func_address_from_script(
|
|
527
|
+
scriptHex: Uint8Array,
|
|
528
|
+
network: Uint8Array,
|
|
529
|
+
uniffi_out_err: UniffiRustCallStatus
|
|
530
|
+
): Uint8Array;
|
|
526
531
|
ubrn_uniffi_bdk_ffi_fn_func_create_descriptor(
|
|
527
532
|
mnemonic: bigint,
|
|
528
533
|
template: Uint8Array,
|
|
@@ -530,6 +535,13 @@ interface NativeModuleInterface {
|
|
|
530
535
|
network: Uint8Array,
|
|
531
536
|
uniffi_out_err: UniffiRustCallStatus
|
|
532
537
|
): Uint8Array;
|
|
538
|
+
ubrn_uniffi_bdk_ffi_fn_func_create_descriptor_from_string(
|
|
539
|
+
mnemonic: Uint8Array,
|
|
540
|
+
template: Uint8Array,
|
|
541
|
+
keychain: Uint8Array,
|
|
542
|
+
network: Uint8Array,
|
|
543
|
+
uniffi_out_err: UniffiRustCallStatus
|
|
544
|
+
): Uint8Array;
|
|
533
545
|
ubrn_uniffi_bdk_ffi_fn_func_create_public_descriptor(
|
|
534
546
|
xpub: Uint8Array,
|
|
535
547
|
template: Uint8Array,
|
|
@@ -560,6 +572,11 @@ interface NativeModuleInterface {
|
|
|
560
572
|
network: Uint8Array,
|
|
561
573
|
uniffi_out_err: UniffiRustCallStatus
|
|
562
574
|
): number;
|
|
575
|
+
ubrn_uniffi_bdk_ffi_fn_func_validate_descriptor(
|
|
576
|
+
descriptor: Uint8Array,
|
|
577
|
+
network: Uint8Array,
|
|
578
|
+
uniffi_out_err: UniffiRustCallStatus
|
|
579
|
+
): number;
|
|
563
580
|
ubrn_uniffi_bdk_ffi_fn_func_version(
|
|
564
581
|
uniffi_out_err: UniffiRustCallStatus
|
|
565
582
|
): Uint8Array;
|
|
@@ -701,12 +718,15 @@ interface NativeModuleInterface {
|
|
|
701
718
|
handle: bigint,
|
|
702
719
|
uniffi_out_err: UniffiRustCallStatus
|
|
703
720
|
): void;
|
|
721
|
+
ubrn_uniffi_bdk_ffi_checksum_func_address_from_script(): number;
|
|
704
722
|
ubrn_uniffi_bdk_ffi_checksum_func_create_descriptor(): number;
|
|
723
|
+
ubrn_uniffi_bdk_ffi_checksum_func_create_descriptor_from_string(): number;
|
|
705
724
|
ubrn_uniffi_bdk_ffi_checksum_func_create_public_descriptor(): number;
|
|
706
725
|
ubrn_uniffi_bdk_ffi_checksum_func_create_single_key_descriptor(): number;
|
|
707
726
|
ubrn_uniffi_bdk_ffi_checksum_func_create_wallet(): number;
|
|
708
727
|
ubrn_uniffi_bdk_ffi_checksum_func_export_wallet(): number;
|
|
709
728
|
ubrn_uniffi_bdk_ffi_checksum_func_is_valid_address(): number;
|
|
729
|
+
ubrn_uniffi_bdk_ffi_checksum_func_validate_descriptor(): number;
|
|
710
730
|
ubrn_uniffi_bdk_ffi_checksum_func_version(): number;
|
|
711
731
|
ubrn_uniffi_bdk_ffi_checksum_func_wallet_name_from_descriptor(): number;
|
|
712
732
|
ubrn_uniffi_bdk_ffi_checksum_method_mnemonic_language(): number;
|
package/src/generated/bdk_ffi.ts
CHANGED
|
@@ -76,6 +76,29 @@ const uniffiIsDebug =
|
|
|
76
76
|
false;
|
|
77
77
|
// Public interface members begin here.
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Convert a scriptPubKey (hex) to an address string for the given network.
|
|
81
|
+
*/
|
|
82
|
+
export function addressFromScript(
|
|
83
|
+
scriptHex: string,
|
|
84
|
+
network: Network
|
|
85
|
+
): string /*throws*/ {
|
|
86
|
+
return FfiConverterString.lift(
|
|
87
|
+
uniffiCaller.rustCallWithError(
|
|
88
|
+
/*liftError:*/ FfiConverterTypeBdkError.lift.bind(
|
|
89
|
+
FfiConverterTypeBdkError
|
|
90
|
+
),
|
|
91
|
+
/*caller:*/ (callStatus) => {
|
|
92
|
+
return nativeModule().ubrn_uniffi_bdk_ffi_fn_func_address_from_script(
|
|
93
|
+
FfiConverterString.lower(scriptHex),
|
|
94
|
+
FfiConverterTypeNetwork.lower(network),
|
|
95
|
+
callStatus
|
|
96
|
+
);
|
|
97
|
+
},
|
|
98
|
+
/*liftString:*/ FfiConverterString.lift
|
|
99
|
+
)
|
|
100
|
+
);
|
|
101
|
+
}
|
|
79
102
|
/**
|
|
80
103
|
* Generate an output descriptor string from a mnemonic using a standard BIP template.
|
|
81
104
|
*/
|
|
@@ -103,6 +126,33 @@ export function createDescriptor(
|
|
|
103
126
|
)
|
|
104
127
|
);
|
|
105
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Generate an output descriptor from a mnemonic string directly (convenience).
|
|
131
|
+
*/
|
|
132
|
+
export function createDescriptorFromString(
|
|
133
|
+
mnemonic: string,
|
|
134
|
+
template: DescriptorTemplate,
|
|
135
|
+
keychain: KeychainKind,
|
|
136
|
+
network: Network
|
|
137
|
+
): string /*throws*/ {
|
|
138
|
+
return FfiConverterString.lift(
|
|
139
|
+
uniffiCaller.rustCallWithError(
|
|
140
|
+
/*liftError:*/ FfiConverterTypeBdkError.lift.bind(
|
|
141
|
+
FfiConverterTypeBdkError
|
|
142
|
+
),
|
|
143
|
+
/*caller:*/ (callStatus) => {
|
|
144
|
+
return nativeModule().ubrn_uniffi_bdk_ffi_fn_func_create_descriptor_from_string(
|
|
145
|
+
FfiConverterString.lower(mnemonic),
|
|
146
|
+
FfiConverterTypeDescriptorTemplate.lower(template),
|
|
147
|
+
FfiConverterTypeKeychainKind.lower(keychain),
|
|
148
|
+
FfiConverterTypeNetwork.lower(network),
|
|
149
|
+
callStatus
|
|
150
|
+
);
|
|
151
|
+
},
|
|
152
|
+
/*liftString:*/ FfiConverterString.lift
|
|
153
|
+
)
|
|
154
|
+
);
|
|
155
|
+
}
|
|
106
156
|
/**
|
|
107
157
|
* Generate a public (watch-only) descriptor from an xpub string.
|
|
108
158
|
*/
|
|
@@ -157,10 +207,11 @@ export function createSingleKeyDescriptor(
|
|
|
157
207
|
}
|
|
158
208
|
/**
|
|
159
209
|
* Async wallet factory — creates or loads a wallet without blocking the JS thread.
|
|
210
|
+
* Pass null for change_descriptor to use the main descriptor for both keychains.
|
|
160
211
|
*/
|
|
161
212
|
export async function createWallet(
|
|
162
213
|
descriptor: string,
|
|
163
|
-
changeDescriptor: string,
|
|
214
|
+
changeDescriptor: string | undefined,
|
|
164
215
|
network: Network,
|
|
165
216
|
dbPath: string,
|
|
166
217
|
asyncOpts_?: { signal: AbortSignal }
|
|
@@ -172,7 +223,7 @@ export async function createWallet(
|
|
|
172
223
|
/*rustFutureFunc:*/ () => {
|
|
173
224
|
return nativeModule().ubrn_uniffi_bdk_ffi_fn_func_create_wallet(
|
|
174
225
|
FfiConverterString.lower(descriptor),
|
|
175
|
-
|
|
226
|
+
FfiConverterOptionalString.lower(changeDescriptor),
|
|
176
227
|
FfiConverterTypeNetwork.lower(network),
|
|
177
228
|
FfiConverterString.lower(dbPath)
|
|
178
229
|
);
|
|
@@ -238,6 +289,26 @@ export function isValidAddress(address: string, network: Network): boolean {
|
|
|
238
289
|
)
|
|
239
290
|
);
|
|
240
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* Validate a descriptor string for the given network without creating a wallet.
|
|
294
|
+
*/
|
|
295
|
+
export function validateDescriptor(
|
|
296
|
+
descriptor: string,
|
|
297
|
+
network: Network
|
|
298
|
+
): boolean {
|
|
299
|
+
return FfiConverterBool.lift(
|
|
300
|
+
uniffiCaller.rustCall(
|
|
301
|
+
/*caller:*/ (callStatus) => {
|
|
302
|
+
return nativeModule().ubrn_uniffi_bdk_ffi_fn_func_validate_descriptor(
|
|
303
|
+
FfiConverterString.lower(descriptor),
|
|
304
|
+
FfiConverterTypeNetwork.lower(network),
|
|
305
|
+
callStatus
|
|
306
|
+
);
|
|
307
|
+
},
|
|
308
|
+
/*liftString:*/ FfiConverterString.lift
|
|
309
|
+
)
|
|
310
|
+
);
|
|
311
|
+
}
|
|
241
312
|
/**
|
|
242
313
|
* Runtime version of the bdk_wallet crate.
|
|
243
314
|
*/
|
|
@@ -775,6 +846,10 @@ export type TxDetails = {
|
|
|
775
846
|
balanceDelta: /*i64*/ bigint;
|
|
776
847
|
confirmationBlockTime?: ConfirmationBlockTime;
|
|
777
848
|
txHex: string;
|
|
849
|
+
version: /*i32*/ number;
|
|
850
|
+
locktime: /*u32*/ number;
|
|
851
|
+
inputs: Array<TxInput>;
|
|
852
|
+
outputs: Array<TxOutput>;
|
|
778
853
|
};
|
|
779
854
|
|
|
780
855
|
/**
|
|
@@ -806,6 +881,10 @@ const FfiConverterTypeTxDetails = (() => {
|
|
|
806
881
|
confirmationBlockTime:
|
|
807
882
|
FfiConverterOptionalTypeConfirmationBlockTime.read(from),
|
|
808
883
|
txHex: FfiConverterString.read(from),
|
|
884
|
+
version: FfiConverterInt32.read(from),
|
|
885
|
+
locktime: FfiConverterUInt32.read(from),
|
|
886
|
+
inputs: FfiConverterArrayTypeTxInput.read(from),
|
|
887
|
+
outputs: FfiConverterArrayTypeTxOutput.read(from),
|
|
809
888
|
};
|
|
810
889
|
}
|
|
811
890
|
write(value: TypeName, into: RustBuffer): void {
|
|
@@ -820,6 +899,10 @@ const FfiConverterTypeTxDetails = (() => {
|
|
|
820
899
|
into
|
|
821
900
|
);
|
|
822
901
|
FfiConverterString.write(value.txHex, into);
|
|
902
|
+
FfiConverterInt32.write(value.version, into);
|
|
903
|
+
FfiConverterUInt32.write(value.locktime, into);
|
|
904
|
+
FfiConverterArrayTypeTxInput.write(value.inputs, into);
|
|
905
|
+
FfiConverterArrayTypeTxOutput.write(value.outputs, into);
|
|
823
906
|
}
|
|
824
907
|
allocationSize(value: TypeName): number {
|
|
825
908
|
return (
|
|
@@ -832,7 +915,66 @@ const FfiConverterTypeTxDetails = (() => {
|
|
|
832
915
|
FfiConverterOptionalTypeConfirmationBlockTime.allocationSize(
|
|
833
916
|
value.confirmationBlockTime
|
|
834
917
|
) +
|
|
835
|
-
FfiConverterString.allocationSize(value.txHex)
|
|
918
|
+
FfiConverterString.allocationSize(value.txHex) +
|
|
919
|
+
FfiConverterInt32.allocationSize(value.version) +
|
|
920
|
+
FfiConverterUInt32.allocationSize(value.locktime) +
|
|
921
|
+
FfiConverterArrayTypeTxInput.allocationSize(value.inputs) +
|
|
922
|
+
FfiConverterArrayTypeTxOutput.allocationSize(value.outputs)
|
|
923
|
+
);
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
return new FFIConverter();
|
|
927
|
+
})();
|
|
928
|
+
|
|
929
|
+
export type TxInput = {
|
|
930
|
+
previousTxid: string;
|
|
931
|
+
previousVout: /*u32*/ number;
|
|
932
|
+
sequence: /*u32*/ number;
|
|
933
|
+
scriptSigHex: string;
|
|
934
|
+
witness: Array<string>;
|
|
935
|
+
};
|
|
936
|
+
|
|
937
|
+
/**
|
|
938
|
+
* Generated factory for {@link TxInput} record objects.
|
|
939
|
+
*/
|
|
940
|
+
export const TxInput = (() => {
|
|
941
|
+
const defaults = () => ({});
|
|
942
|
+
const create = (() => {
|
|
943
|
+
return uniffiCreateRecord<TxInput, ReturnType<typeof defaults>>(defaults);
|
|
944
|
+
})();
|
|
945
|
+
return Object.freeze({
|
|
946
|
+
create,
|
|
947
|
+
new: create,
|
|
948
|
+
defaults: () => Object.freeze(defaults()) as Partial<TxInput>,
|
|
949
|
+
});
|
|
950
|
+
})();
|
|
951
|
+
|
|
952
|
+
const FfiConverterTypeTxInput = (() => {
|
|
953
|
+
type TypeName = TxInput;
|
|
954
|
+
class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
|
|
955
|
+
read(from: RustBuffer): TypeName {
|
|
956
|
+
return {
|
|
957
|
+
previousTxid: FfiConverterString.read(from),
|
|
958
|
+
previousVout: FfiConverterUInt32.read(from),
|
|
959
|
+
sequence: FfiConverterUInt32.read(from),
|
|
960
|
+
scriptSigHex: FfiConverterString.read(from),
|
|
961
|
+
witness: FfiConverterArrayString.read(from),
|
|
962
|
+
};
|
|
963
|
+
}
|
|
964
|
+
write(value: TypeName, into: RustBuffer): void {
|
|
965
|
+
FfiConverterString.write(value.previousTxid, into);
|
|
966
|
+
FfiConverterUInt32.write(value.previousVout, into);
|
|
967
|
+
FfiConverterUInt32.write(value.sequence, into);
|
|
968
|
+
FfiConverterString.write(value.scriptSigHex, into);
|
|
969
|
+
FfiConverterArrayString.write(value.witness, into);
|
|
970
|
+
}
|
|
971
|
+
allocationSize(value: TypeName): number {
|
|
972
|
+
return (
|
|
973
|
+
FfiConverterString.allocationSize(value.previousTxid) +
|
|
974
|
+
FfiConverterUInt32.allocationSize(value.previousVout) +
|
|
975
|
+
FfiConverterUInt32.allocationSize(value.sequence) +
|
|
976
|
+
FfiConverterString.allocationSize(value.scriptSigHex) +
|
|
977
|
+
FfiConverterArrayString.allocationSize(value.witness)
|
|
836
978
|
);
|
|
837
979
|
}
|
|
838
980
|
}
|
|
@@ -882,6 +1024,53 @@ const FfiConverterTypeTxOut = (() => {
|
|
|
882
1024
|
return new FFIConverter();
|
|
883
1025
|
})();
|
|
884
1026
|
|
|
1027
|
+
export type TxOutput = {
|
|
1028
|
+
value: /*u64*/ bigint;
|
|
1029
|
+
scriptPubkeyHex: string;
|
|
1030
|
+
address?: string;
|
|
1031
|
+
};
|
|
1032
|
+
|
|
1033
|
+
/**
|
|
1034
|
+
* Generated factory for {@link TxOutput} record objects.
|
|
1035
|
+
*/
|
|
1036
|
+
export const TxOutput = (() => {
|
|
1037
|
+
const defaults = () => ({});
|
|
1038
|
+
const create = (() => {
|
|
1039
|
+
return uniffiCreateRecord<TxOutput, ReturnType<typeof defaults>>(defaults);
|
|
1040
|
+
})();
|
|
1041
|
+
return Object.freeze({
|
|
1042
|
+
create,
|
|
1043
|
+
new: create,
|
|
1044
|
+
defaults: () => Object.freeze(defaults()) as Partial<TxOutput>,
|
|
1045
|
+
});
|
|
1046
|
+
})();
|
|
1047
|
+
|
|
1048
|
+
const FfiConverterTypeTxOutput = (() => {
|
|
1049
|
+
type TypeName = TxOutput;
|
|
1050
|
+
class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
|
|
1051
|
+
read(from: RustBuffer): TypeName {
|
|
1052
|
+
return {
|
|
1053
|
+
value: FfiConverterUInt64.read(from),
|
|
1054
|
+
scriptPubkeyHex: FfiConverterString.read(from),
|
|
1055
|
+
address: FfiConverterOptionalString.read(from),
|
|
1056
|
+
};
|
|
1057
|
+
}
|
|
1058
|
+
write(value: TypeName, into: RustBuffer): void {
|
|
1059
|
+
FfiConverterUInt64.write(value.value, into);
|
|
1060
|
+
FfiConverterString.write(value.scriptPubkeyHex, into);
|
|
1061
|
+
FfiConverterOptionalString.write(value.address, into);
|
|
1062
|
+
}
|
|
1063
|
+
allocationSize(value: TypeName): number {
|
|
1064
|
+
return (
|
|
1065
|
+
FfiConverterUInt64.allocationSize(value.value) +
|
|
1066
|
+
FfiConverterString.allocationSize(value.scriptPubkeyHex) +
|
|
1067
|
+
FfiConverterOptionalString.allocationSize(value.address)
|
|
1068
|
+
);
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
return new FFIConverter();
|
|
1072
|
+
})();
|
|
1073
|
+
|
|
885
1074
|
const stringConverter = {
|
|
886
1075
|
stringToBytes: (s: string) =>
|
|
887
1076
|
uniffiCaller.rustCall((status) =>
|
|
@@ -5574,7 +5763,7 @@ export class Wallet extends UniffiAbstractObject implements WalletLike {
|
|
|
5574
5763
|
*/
|
|
5575
5764
|
constructor(
|
|
5576
5765
|
descriptor: string,
|
|
5577
|
-
changeDescriptor: string,
|
|
5766
|
+
changeDescriptor: string | undefined,
|
|
5578
5767
|
network: Network,
|
|
5579
5768
|
dbPath: string
|
|
5580
5769
|
) /*throws*/ {
|
|
@@ -5586,7 +5775,7 @@ export class Wallet extends UniffiAbstractObject implements WalletLike {
|
|
|
5586
5775
|
/*caller:*/ (callStatus) => {
|
|
5587
5776
|
return nativeModule().ubrn_uniffi_bdk_ffi_fn_constructor_wallet_new(
|
|
5588
5777
|
FfiConverterString.lower(descriptor),
|
|
5589
|
-
|
|
5778
|
+
FfiConverterOptionalString.lower(changeDescriptor),
|
|
5590
5779
|
FfiConverterTypeNetwork.lower(network),
|
|
5591
5780
|
FfiConverterString.lower(dbPath),
|
|
5592
5781
|
callStatus
|
|
@@ -6730,6 +6919,16 @@ const FfiConverterArrayTypeTxDetails = new FfiConverterArray(
|
|
|
6730
6919
|
FfiConverterTypeTxDetails
|
|
6731
6920
|
);
|
|
6732
6921
|
|
|
6922
|
+
// FfiConverter for Array<TxInput>
|
|
6923
|
+
const FfiConverterArrayTypeTxInput = new FfiConverterArray(
|
|
6924
|
+
FfiConverterTypeTxInput
|
|
6925
|
+
);
|
|
6926
|
+
|
|
6927
|
+
// FfiConverter for Array<TxOutput>
|
|
6928
|
+
const FfiConverterArrayTypeTxOutput = new FfiConverterArray(
|
|
6929
|
+
FfiConverterTypeTxOutput
|
|
6930
|
+
);
|
|
6931
|
+
|
|
6733
6932
|
// FfiConverter for Array<string>
|
|
6734
6933
|
const FfiConverterArrayString = new FfiConverterArray(FfiConverterString);
|
|
6735
6934
|
|
|
@@ -6758,6 +6957,14 @@ function uniffiEnsureInitialized() {
|
|
|
6758
6957
|
bindingsContractVersion
|
|
6759
6958
|
);
|
|
6760
6959
|
}
|
|
6960
|
+
if (
|
|
6961
|
+
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_address_from_script() !==
|
|
6962
|
+
50547
|
|
6963
|
+
) {
|
|
6964
|
+
throw new UniffiInternalError.ApiChecksumMismatch(
|
|
6965
|
+
"uniffi_bdk_ffi_checksum_func_address_from_script"
|
|
6966
|
+
);
|
|
6967
|
+
}
|
|
6761
6968
|
if (
|
|
6762
6969
|
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_create_descriptor() !== 166
|
|
6763
6970
|
) {
|
|
@@ -6765,6 +6972,14 @@ function uniffiEnsureInitialized() {
|
|
|
6765
6972
|
"uniffi_bdk_ffi_checksum_func_create_descriptor"
|
|
6766
6973
|
);
|
|
6767
6974
|
}
|
|
6975
|
+
if (
|
|
6976
|
+
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_create_descriptor_from_string() !==
|
|
6977
|
+
29727
|
|
6978
|
+
) {
|
|
6979
|
+
throw new UniffiInternalError.ApiChecksumMismatch(
|
|
6980
|
+
"uniffi_bdk_ffi_checksum_func_create_descriptor_from_string"
|
|
6981
|
+
);
|
|
6982
|
+
}
|
|
6768
6983
|
if (
|
|
6769
6984
|
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_create_public_descriptor() !==
|
|
6770
6985
|
10610
|
|
@@ -6782,7 +6997,7 @@ function uniffiEnsureInitialized() {
|
|
|
6782
6997
|
);
|
|
6783
6998
|
}
|
|
6784
6999
|
if (
|
|
6785
|
-
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_create_wallet() !==
|
|
7000
|
+
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_create_wallet() !== 59494
|
|
6786
7001
|
) {
|
|
6787
7002
|
throw new UniffiInternalError.ApiChecksumMismatch(
|
|
6788
7003
|
"uniffi_bdk_ffi_checksum_func_create_wallet"
|
|
@@ -6803,6 +7018,14 @@ function uniffiEnsureInitialized() {
|
|
|
6803
7018
|
"uniffi_bdk_ffi_checksum_func_is_valid_address"
|
|
6804
7019
|
);
|
|
6805
7020
|
}
|
|
7021
|
+
if (
|
|
7022
|
+
nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_validate_descriptor() !==
|
|
7023
|
+
44572
|
|
7024
|
+
) {
|
|
7025
|
+
throw new UniffiInternalError.ApiChecksumMismatch(
|
|
7026
|
+
"uniffi_bdk_ffi_checksum_func_validate_descriptor"
|
|
7027
|
+
);
|
|
7028
|
+
}
|
|
6806
7029
|
if (nativeModule().ubrn_uniffi_bdk_ffi_checksum_func_version() !== 5205) {
|
|
6807
7030
|
throw new UniffiInternalError.ApiChecksumMismatch(
|
|
6808
7031
|
"uniffi_bdk_ffi_checksum_func_version"
|
|
@@ -7563,7 +7786,7 @@ function uniffiEnsureInitialized() {
|
|
|
7563
7786
|
}
|
|
7564
7787
|
if (
|
|
7565
7788
|
nativeModule().ubrn_uniffi_bdk_ffi_checksum_constructor_wallet_new() !==
|
|
7566
|
-
|
|
7789
|
+
64812
|
|
7567
7790
|
) {
|
|
7568
7791
|
throw new UniffiInternalError.ApiChecksumMismatch(
|
|
7569
7792
|
"uniffi_bdk_ffi_checksum_constructor_wallet_new"
|
|
@@ -7596,8 +7819,10 @@ export default Object.freeze({
|
|
|
7596
7819
|
FfiConverterTypeSingleKeyDescriptorTemplate,
|
|
7597
7820
|
FfiConverterTypeTxBuilder,
|
|
7598
7821
|
FfiConverterTypeTxDetails,
|
|
7822
|
+
FfiConverterTypeTxInput,
|
|
7599
7823
|
FfiConverterTypeTxOrdering,
|
|
7600
7824
|
FfiConverterTypeTxOut,
|
|
7825
|
+
FfiConverterTypeTxOutput,
|
|
7601
7826
|
FfiConverterTypeWallet,
|
|
7602
7827
|
FfiConverterTypeWalletEvent,
|
|
7603
7828
|
FfiConverterTypeWordCount,
|
package/src/index.tsx
CHANGED
|
@@ -13,6 +13,9 @@ if (!rustInstalled) {
|
|
|
13
13
|
// Export the generated bindings to the app.
|
|
14
14
|
export * from './generated/bdk_ffi';
|
|
15
15
|
|
|
16
|
+
// Export number-friendly wrappers (lives outside generated/ so codegen won't overwrite).
|
|
17
|
+
export * from './wrapper';
|
|
18
|
+
|
|
16
19
|
// Now import the bindings so we can:
|
|
17
20
|
// - intialize them
|
|
18
21
|
// - export them as namespaced objects as the default export.
|