react-native-nitro-ark 0.0.44 → 0.0.46
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/NitroArk.hpp +38 -2
- package/cpp/generated/ark_cxx.h +7 -1
- package/lib/module/index.js +34 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NitroArk.nitro.d.ts +4 -1
- package/lib/typescript/src/NitroArk.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +24 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroArkSpec.cpp +3 -0
- package/nitrogen/generated/shared/c++/HybridNitroArkSpec.hpp +4 -1
- package/package.json +1 -1
- package/src/NitroArk.nitro.ts +8 -1
- package/src/index.tsx +40 -5
package/cpp/NitroArk.hpp
CHANGED
|
@@ -48,7 +48,7 @@ public:
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
std::shared_ptr<Promise<void>>
|
|
51
|
-
|
|
51
|
+
createWallet(const std::string &datadir, const BarkCreateOpts &opts) override {
|
|
52
52
|
return Promise<void>::async([datadir, opts]() {
|
|
53
53
|
try {
|
|
54
54
|
bark_cxx::ConfigOpts config_opts;
|
|
@@ -81,7 +81,18 @@ public:
|
|
|
81
81
|
}
|
|
82
82
|
create_opts.config = config_opts;
|
|
83
83
|
|
|
84
|
-
bark_cxx::
|
|
84
|
+
bark_cxx::create_wallet(datadir, create_opts);
|
|
85
|
+
} catch (const rust::Error &e) {
|
|
86
|
+
throw std::runtime_error(e.what());
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
std::shared_ptr<Promise<void>>
|
|
92
|
+
loadWallet(const std::string &datadir, const std::string &mnemonic) override {
|
|
93
|
+
return Promise<void>::async([datadir, mnemonic]() {
|
|
94
|
+
try {
|
|
95
|
+
bark_cxx::load_wallet(datadir, mnemonic);
|
|
85
96
|
} catch (const rust::Error &e) {
|
|
86
97
|
throw std::runtime_error(e.what());
|
|
87
98
|
}
|
|
@@ -261,6 +272,31 @@ public:
|
|
|
261
272
|
});
|
|
262
273
|
}
|
|
263
274
|
|
|
275
|
+
std::shared_ptr<Promise<std::string>>
|
|
276
|
+
signMessage(const std::string &message, double index) override {
|
|
277
|
+
return Promise<std::string>::async([message, index]() {
|
|
278
|
+
try {
|
|
279
|
+
uint32_t index_val = static_cast<uint32_t>(index);
|
|
280
|
+
rust::String signature_rs = bark_cxx::sign_message(message, index_val);
|
|
281
|
+
return std::string(signature_rs.data(), signature_rs.length());
|
|
282
|
+
} catch (const rust::Error &e) {
|
|
283
|
+
throw std::runtime_error(e.what());
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
std::shared_ptr<Promise<bool>>
|
|
289
|
+
verifyMessage(const std::string &message, const std::string &signature,
|
|
290
|
+
const std::string &publicKey) override {
|
|
291
|
+
return Promise<bool>::async([message, signature, publicKey]() {
|
|
292
|
+
try {
|
|
293
|
+
return bark_cxx::verify_message(message, signature, publicKey);
|
|
294
|
+
} catch (const rust::Error &e) {
|
|
295
|
+
throw std::runtime_error(e.what());
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
|
|
264
300
|
std::shared_ptr<Promise<std::vector<BarkVtxo>>> getVtxos() override {
|
|
265
301
|
return Promise<std::vector<BarkVtxo>>::async([]() {
|
|
266
302
|
try {
|
package/cpp/generated/ark_cxx.h
CHANGED
|
@@ -1022,6 +1022,10 @@ void persist_config(::bark_cxx::ConfigOpts opts);
|
|
|
1022
1022
|
|
|
1023
1023
|
::bark_cxx::NewAddressResult new_address();
|
|
1024
1024
|
|
|
1025
|
+
::rust::String sign_message(::rust::Str message, ::std::uint32_t index);
|
|
1026
|
+
|
|
1027
|
+
bool verify_message(::rust::Str message, ::rust::Str signature, ::rust::Str public_key);
|
|
1028
|
+
|
|
1025
1029
|
::rust::Vec<::bark_cxx::BarkVtxo> get_vtxos();
|
|
1026
1030
|
|
|
1027
1031
|
::rust::String bolt11_invoice(::std::uint64_t amount_msat);
|
|
@@ -1032,7 +1036,9 @@ void sync();
|
|
|
1032
1036
|
|
|
1033
1037
|
void sync_rounds();
|
|
1034
1038
|
|
|
1035
|
-
void
|
|
1039
|
+
void create_wallet(::rust::Str datadir, ::bark_cxx::CreateOpts opts);
|
|
1040
|
+
|
|
1041
|
+
void load_wallet(::rust::Str datadir, ::rust::Str mnemonic);
|
|
1036
1042
|
|
|
1037
1043
|
::rust::String board_amount(::std::uint64_t amount_sat);
|
|
1038
1044
|
|
package/lib/module/index.js
CHANGED
|
@@ -14,15 +14,25 @@ export function createMnemonic() {
|
|
|
14
14
|
return NitroArkHybridObject.createMnemonic();
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new wallet at the specified directory.
|
|
19
|
+
* @param datadir Path to the data directory.
|
|
20
|
+
* @param opts The options for wallet creation.
|
|
21
|
+
* @returns A promise that resolves on success or rejects on error.
|
|
22
|
+
*/
|
|
23
|
+
export function createWallet(datadir, opts) {
|
|
24
|
+
return NitroArkHybridObject.createWallet(datadir, opts);
|
|
25
|
+
}
|
|
26
|
+
|
|
17
27
|
/**
|
|
18
28
|
* Loads an existing wallet or creates a new one at the specified directory.
|
|
19
29
|
* Once loaded, the wallet state is managed internally.
|
|
20
30
|
* @param datadir Path to the data directory.
|
|
21
|
-
* @param
|
|
31
|
+
* @param mnemonic The BIP39 mnemonic phrase for the wallet.
|
|
22
32
|
* @returns A promise that resolves on success or rejects on error.
|
|
23
33
|
*/
|
|
24
|
-
export function loadWallet(datadir,
|
|
25
|
-
return NitroArkHybridObject.loadWallet(datadir,
|
|
34
|
+
export function loadWallet(datadir, mnemonic) {
|
|
35
|
+
return NitroArkHybridObject.loadWallet(datadir, mnemonic);
|
|
26
36
|
}
|
|
27
37
|
|
|
28
38
|
/**
|
|
@@ -125,6 +135,27 @@ export function newAddress() {
|
|
|
125
135
|
return NitroArkHybridObject.newAddress();
|
|
126
136
|
}
|
|
127
137
|
|
|
138
|
+
/**
|
|
139
|
+
* Signs a message with the private key at the specified index.
|
|
140
|
+
* @param message The message to sign.
|
|
141
|
+
* @param index The index of the keypair to use for signing.
|
|
142
|
+
* @returns A promise resolving to the signature string.
|
|
143
|
+
*/
|
|
144
|
+
export function signMessage(message, index) {
|
|
145
|
+
return NitroArkHybridObject.signMessage(message, index);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Verifies a signed message.
|
|
150
|
+
* @param message The original message.
|
|
151
|
+
* @param signature The signature to verify.
|
|
152
|
+
* @param publicKey The public key corresponding to the private key used for signing.
|
|
153
|
+
* @returns A promise resolving to true if the signature is valid, false otherwise.
|
|
154
|
+
*/
|
|
155
|
+
export function verifyMessage(message, signature, publicKey) {
|
|
156
|
+
return NitroArkHybridObject.verifyMessage(message, signature, publicKey);
|
|
157
|
+
}
|
|
158
|
+
|
|
128
159
|
/**
|
|
129
160
|
* Gets the list of VTXOs as a JSON string for the loaded wallet.
|
|
130
161
|
* @param no_sync If true, skips synchronization with the blockchain. Defaults to false.
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","NitroArkHybridObject","createHybridObject","createMnemonic","
|
|
1
|
+
{"version":3,"names":["NitroModules","NitroArkHybridObject","createHybridObject","createMnemonic","createWallet","datadir","opts","loadWallet","mnemonic","closeWallet","isWalletLoaded","persistConfig","maintenance","sync","syncExits","syncRounds","getArkInfo","offchainBalance","deriveStoreNextKeypair","peakKeyPair","index","newAddress","signMessage","message","verifyMessage","signature","publicKey","getVtxos","onchainBalance","onchainSync","onchainListUnspent","onchainUtxos","onchainAddress","onchainSend","destination","amountSat","onchainDrain","onchainSendMany","outputs","bolt11Invoice","amountMsat","finishLightningReceive","bolt11","sendLightningPayment","sendLnaddr","addr","comment","boardAmount","boardAll","sendArkoorPayment","sendRoundOnchainPayment","offboardSpecific","vtxoIds","destinationAddress","offboardAll"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -85,7 +85,8 @@ export interface NitroArk extends HybridObject<{
|
|
|
85
85
|
android: 'c++';
|
|
86
86
|
}> {
|
|
87
87
|
createMnemonic(): Promise<string>;
|
|
88
|
-
|
|
88
|
+
createWallet(datadir: string, opts: BarkCreateOpts): Promise<void>;
|
|
89
|
+
loadWallet(datadir: string, mnemonic: string): Promise<void>;
|
|
89
90
|
isWalletLoaded(): Promise<boolean>;
|
|
90
91
|
closeWallet(): Promise<void>;
|
|
91
92
|
persistConfig(opts: BarkConfigOpts): Promise<void>;
|
|
@@ -98,6 +99,8 @@ export interface NitroArk extends HybridObject<{
|
|
|
98
99
|
deriveStoreNextKeypair(): Promise<KeyPairResult>;
|
|
99
100
|
peakKeyPair(index: number): Promise<KeyPairResult>;
|
|
100
101
|
newAddress(): Promise<NewAddressResult>;
|
|
102
|
+
signMessage(message: string, index: number): Promise<string>;
|
|
103
|
+
verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>;
|
|
101
104
|
getVtxos(): Promise<BarkVtxo[]>;
|
|
102
105
|
onchainBalance(): Promise<OnchainBalanceResult>;
|
|
103
106
|
onchainSync(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NitroArk.nitro.d.ts","sourceRoot":"","sources":["../../../src/NitroArk.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM/D,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IAEnC,QAAQ,EAAE,MAAM,CAAC;IAEjB,eAAe,EAAE,MAAM,CAAC;IAExB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,QAAS,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAE5E,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"NitroArk.nitro.d.ts","sourceRoot":"","sources":["../../../src/NitroArk.nitro.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,21 @@ export declare const NitroArkHybridObject: NitroArk;
|
|
|
5
5
|
* @returns A promise resolving to the mnemonic string.
|
|
6
6
|
*/
|
|
7
7
|
export declare function createMnemonic(): Promise<string>;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new wallet at the specified directory.
|
|
10
|
+
* @param datadir Path to the data directory.
|
|
11
|
+
* @param opts The options for wallet creation.
|
|
12
|
+
* @returns A promise that resolves on success or rejects on error.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createWallet(datadir: string, opts: BarkCreateOpts): Promise<void>;
|
|
8
15
|
/**
|
|
9
16
|
* Loads an existing wallet or creates a new one at the specified directory.
|
|
10
17
|
* Once loaded, the wallet state is managed internally.
|
|
11
18
|
* @param datadir Path to the data directory.
|
|
12
|
-
* @param
|
|
19
|
+
* @param mnemonic The BIP39 mnemonic phrase for the wallet.
|
|
13
20
|
* @returns A promise that resolves on success or rejects on error.
|
|
14
21
|
*/
|
|
15
|
-
export declare function loadWallet(datadir: string,
|
|
22
|
+
export declare function loadWallet(datadir: string, mnemonic: string): Promise<void>;
|
|
16
23
|
/**
|
|
17
24
|
* Closes the currently loaded wallet, clearing its state from memory.
|
|
18
25
|
* @returns A promise that resolves on success or rejects on error.
|
|
@@ -75,6 +82,21 @@ export declare function peakKeyPair(index: number): Promise<KeyPairResult>;
|
|
|
75
82
|
* @returns A promise resolving to NewAddressResult object.
|
|
76
83
|
*/
|
|
77
84
|
export declare function newAddress(): Promise<NewAddressResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Signs a message with the private key at the specified index.
|
|
87
|
+
* @param message The message to sign.
|
|
88
|
+
* @param index The index of the keypair to use for signing.
|
|
89
|
+
* @returns A promise resolving to the signature string.
|
|
90
|
+
*/
|
|
91
|
+
export declare function signMessage(message: string, index: number): Promise<string>;
|
|
92
|
+
/**
|
|
93
|
+
* Verifies a signed message.
|
|
94
|
+
* @param message The original message.
|
|
95
|
+
* @param signature The signature to verify.
|
|
96
|
+
* @param publicKey The public key corresponding to the private key used for signing.
|
|
97
|
+
* @returns A promise resolving to true if the signature is valid, false otherwise.
|
|
98
|
+
*/
|
|
99
|
+
export declare function verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>;
|
|
78
100
|
/**
|
|
79
101
|
* Gets the list of VTXOs as a JSON string for the loaded wallet.
|
|
80
102
|
* @param no_sync If true, skips synchronization with the blockchain. Defaults to false.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,oBAAoB,UACsB,CAAC;AAIxD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhD;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ namespace margelo::nitro::nitroark {
|
|
|
15
15
|
// load custom methods/properties
|
|
16
16
|
registerHybrids(this, [](Prototype& prototype) {
|
|
17
17
|
prototype.registerHybridMethod("createMnemonic", &HybridNitroArkSpec::createMnemonic);
|
|
18
|
+
prototype.registerHybridMethod("createWallet", &HybridNitroArkSpec::createWallet);
|
|
18
19
|
prototype.registerHybridMethod("loadWallet", &HybridNitroArkSpec::loadWallet);
|
|
19
20
|
prototype.registerHybridMethod("isWalletLoaded", &HybridNitroArkSpec::isWalletLoaded);
|
|
20
21
|
prototype.registerHybridMethod("closeWallet", &HybridNitroArkSpec::closeWallet);
|
|
@@ -28,6 +29,8 @@ namespace margelo::nitro::nitroark {
|
|
|
28
29
|
prototype.registerHybridMethod("deriveStoreNextKeypair", &HybridNitroArkSpec::deriveStoreNextKeypair);
|
|
29
30
|
prototype.registerHybridMethod("peakKeyPair", &HybridNitroArkSpec::peakKeyPair);
|
|
30
31
|
prototype.registerHybridMethod("newAddress", &HybridNitroArkSpec::newAddress);
|
|
32
|
+
prototype.registerHybridMethod("signMessage", &HybridNitroArkSpec::signMessage);
|
|
33
|
+
prototype.registerHybridMethod("verifyMessage", &HybridNitroArkSpec::verifyMessage);
|
|
31
34
|
prototype.registerHybridMethod("getVtxos", &HybridNitroArkSpec::getVtxos);
|
|
32
35
|
prototype.registerHybridMethod("onchainBalance", &HybridNitroArkSpec::onchainBalance);
|
|
33
36
|
prototype.registerHybridMethod("onchainSync", &HybridNitroArkSpec::onchainSync);
|
|
@@ -90,7 +90,8 @@ namespace margelo::nitro::nitroark {
|
|
|
90
90
|
public:
|
|
91
91
|
// Methods
|
|
92
92
|
virtual std::shared_ptr<Promise<std::string>> createMnemonic() = 0;
|
|
93
|
-
virtual std::shared_ptr<Promise<void>>
|
|
93
|
+
virtual std::shared_ptr<Promise<void>> createWallet(const std::string& datadir, const BarkCreateOpts& opts) = 0;
|
|
94
|
+
virtual std::shared_ptr<Promise<void>> loadWallet(const std::string& datadir, const std::string& mnemonic) = 0;
|
|
94
95
|
virtual std::shared_ptr<Promise<bool>> isWalletLoaded() = 0;
|
|
95
96
|
virtual std::shared_ptr<Promise<void>> closeWallet() = 0;
|
|
96
97
|
virtual std::shared_ptr<Promise<void>> persistConfig(const BarkConfigOpts& opts) = 0;
|
|
@@ -103,6 +104,8 @@ namespace margelo::nitro::nitroark {
|
|
|
103
104
|
virtual std::shared_ptr<Promise<KeyPairResult>> deriveStoreNextKeypair() = 0;
|
|
104
105
|
virtual std::shared_ptr<Promise<KeyPairResult>> peakKeyPair(double index) = 0;
|
|
105
106
|
virtual std::shared_ptr<Promise<NewAddressResult>> newAddress() = 0;
|
|
107
|
+
virtual std::shared_ptr<Promise<std::string>> signMessage(const std::string& message, double index) = 0;
|
|
108
|
+
virtual std::shared_ptr<Promise<bool>> verifyMessage(const std::string& message, const std::string& signature, const std::string& publicKey) = 0;
|
|
106
109
|
virtual std::shared_ptr<Promise<std::vector<BarkVtxo>>> getVtxos() = 0;
|
|
107
110
|
virtual std::shared_ptr<Promise<OnchainBalanceResult>> onchainBalance() = 0;
|
|
108
111
|
virtual std::shared_ptr<Promise<void>> onchainSync() = 0;
|
package/package.json
CHANGED
package/src/NitroArk.nitro.ts
CHANGED
|
@@ -109,7 +109,8 @@ export interface KeyPairResult {
|
|
|
109
109
|
export interface NitroArk extends HybridObject<{ ios: 'c++'; android: 'c++' }> {
|
|
110
110
|
// --- Management ---
|
|
111
111
|
createMnemonic(): Promise<string>;
|
|
112
|
-
|
|
112
|
+
createWallet(datadir: string, opts: BarkCreateOpts): Promise<void>;
|
|
113
|
+
loadWallet(datadir: string, mnemonic: string): Promise<void>;
|
|
113
114
|
isWalletLoaded(): Promise<boolean>;
|
|
114
115
|
closeWallet(): Promise<void>;
|
|
115
116
|
persistConfig(opts: BarkConfigOpts): Promise<void>;
|
|
@@ -124,6 +125,12 @@ export interface NitroArk extends HybridObject<{ ios: 'c++'; android: 'c++' }> {
|
|
|
124
125
|
deriveStoreNextKeypair(): Promise<KeyPairResult>;
|
|
125
126
|
peakKeyPair(index: number): Promise<KeyPairResult>;
|
|
126
127
|
newAddress(): Promise<NewAddressResult>;
|
|
128
|
+
signMessage(message: string, index: number): Promise<string>;
|
|
129
|
+
verifyMessage(
|
|
130
|
+
message: string,
|
|
131
|
+
signature: string,
|
|
132
|
+
publicKey: string
|
|
133
|
+
): Promise<boolean>;
|
|
127
134
|
getVtxos(): Promise<BarkVtxo[]>; // Returns JSON string
|
|
128
135
|
|
|
129
136
|
// --- Onchain Operations ---
|
package/src/index.tsx
CHANGED
|
@@ -31,17 +31,27 @@ export function createMnemonic(): Promise<string> {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
35
|
-
* Once loaded, the wallet state is managed internally.
|
|
34
|
+
* Creates a new wallet at the specified directory.
|
|
36
35
|
* @param datadir Path to the data directory.
|
|
37
|
-
* @param opts
|
|
36
|
+
* @param opts The options for wallet creation.
|
|
38
37
|
* @returns A promise that resolves on success or rejects on error.
|
|
39
38
|
*/
|
|
40
|
-
export function
|
|
39
|
+
export function createWallet(
|
|
41
40
|
datadir: string,
|
|
42
41
|
opts: BarkCreateOpts
|
|
43
42
|
): Promise<void> {
|
|
44
|
-
return NitroArkHybridObject.
|
|
43
|
+
return NitroArkHybridObject.createWallet(datadir, opts);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Loads an existing wallet or creates a new one at the specified directory.
|
|
48
|
+
* Once loaded, the wallet state is managed internally.
|
|
49
|
+
* @param datadir Path to the data directory.
|
|
50
|
+
* @param mnemonic The BIP39 mnemonic phrase for the wallet.
|
|
51
|
+
* @returns A promise that resolves on success or rejects on error.
|
|
52
|
+
*/
|
|
53
|
+
export function loadWallet(datadir: string, mnemonic: string): Promise<void> {
|
|
54
|
+
return NitroArkHybridObject.loadWallet(datadir, mnemonic);
|
|
45
55
|
}
|
|
46
56
|
|
|
47
57
|
/**
|
|
@@ -144,6 +154,31 @@ export function newAddress(): Promise<NewAddressResult> {
|
|
|
144
154
|
return NitroArkHybridObject.newAddress();
|
|
145
155
|
}
|
|
146
156
|
|
|
157
|
+
/**
|
|
158
|
+
* Signs a message with the private key at the specified index.
|
|
159
|
+
* @param message The message to sign.
|
|
160
|
+
* @param index The index of the keypair to use for signing.
|
|
161
|
+
* @returns A promise resolving to the signature string.
|
|
162
|
+
*/
|
|
163
|
+
export function signMessage(message: string, index: number): Promise<string> {
|
|
164
|
+
return NitroArkHybridObject.signMessage(message, index);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Verifies a signed message.
|
|
169
|
+
* @param message The original message.
|
|
170
|
+
* @param signature The signature to verify.
|
|
171
|
+
* @param publicKey The public key corresponding to the private key used for signing.
|
|
172
|
+
* @returns A promise resolving to true if the signature is valid, false otherwise.
|
|
173
|
+
*/
|
|
174
|
+
export function verifyMessage(
|
|
175
|
+
message: string,
|
|
176
|
+
signature: string,
|
|
177
|
+
publicKey: string
|
|
178
|
+
): Promise<boolean> {
|
|
179
|
+
return NitroArkHybridObject.verifyMessage(message, signature, publicKey);
|
|
180
|
+
}
|
|
181
|
+
|
|
147
182
|
/**
|
|
148
183
|
* Gets the list of VTXOs as a JSON string for the loaded wallet.
|
|
149
184
|
* @param no_sync If true, skips synchronization with the blockchain. Defaults to false.
|