@magicred-1/ble-mesh 1.3.0 → 1.3.2
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/android/src/main/java/com/blemesh/BleMeshModule.kt +1 -1
- package/lib/commonjs/index.js +3 -87
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +3 -87
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +0 -11
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -95
|
@@ -1244,7 +1244,7 @@ class BleMeshModule(reactContext: ReactApplicationContext) : ReactContextBaseJav
|
|
|
1244
1244
|
Log.d(TAG, "Sending handshake response to $senderId")
|
|
1245
1245
|
initiateHandshakeInternal(senderId)
|
|
1246
1246
|
} else {
|
|
1247
|
-
Log.d(TAG, "Handshake not for us
|
|
1247
|
+
Log.d(TAG, "Handshake not for us")
|
|
1248
1248
|
}
|
|
1249
1249
|
} catch (e: Exception) {
|
|
1250
1250
|
Log.e(TAG, "Handshake failed: ${e.message}")
|
package/lib/commonjs/index.js
CHANGED
|
@@ -168,23 +168,13 @@ class BleMeshService {
|
|
|
168
168
|
* @param options.secondSignerPublicKey - Preferred second signer (optional, any peer can sign if not specified)
|
|
169
169
|
* @param options.description - Description of the transaction
|
|
170
170
|
* @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
|
|
171
|
-
* @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
|
|
172
|
-
* @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
|
|
173
171
|
*/
|
|
174
172
|
async sendTransaction(serializedTransaction, options) {
|
|
175
173
|
this.ensureInitialized();
|
|
176
174
|
|
|
177
|
-
// Auto-initiate handshakes
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
if (ensureSession && waitForHandshake) {
|
|
182
|
-
// Blocking mode: wait for handshakes to complete
|
|
183
|
-
await this.ensureEncryptedSessions(options?.recipientPeerId);
|
|
184
|
-
} else if (ensureSession) {
|
|
185
|
-
// Non-blocking mode: initiate handshakes but don't wait (fire and forget)
|
|
186
|
-
this.initiateHandshakesAsync(options?.recipientPeerId);
|
|
187
|
-
}
|
|
175
|
+
// Auto-initiate handshakes asynchronously (non-blocking, fire-and-forget)
|
|
176
|
+
// The native layer handles queuing and delivery when sessions are ready
|
|
177
|
+
this.initiateHandshakesAsync(options?.recipientPeerId);
|
|
188
178
|
const txId = Math.random().toString(36).substring(2, 15);
|
|
189
179
|
return BleMeshModule.sendTransaction(txId, serializedTransaction, options?.recipientPeerId || null, options?.firstSignerPublicKey, options?.secondSignerPublicKey || null, options?.description || null);
|
|
190
180
|
}
|
|
@@ -219,80 +209,6 @@ class BleMeshService {
|
|
|
219
209
|
})();
|
|
220
210
|
}
|
|
221
211
|
|
|
222
|
-
/**
|
|
223
|
-
* Ensure encrypted sessions exist with target peer(s) before sending transactions.
|
|
224
|
-
* Auto-initiates handshakes for peers without active sessions.
|
|
225
|
-
*
|
|
226
|
-
* @param recipientPeerId - Specific peer ID, or null/undefined to check all connected peers
|
|
227
|
-
*/
|
|
228
|
-
async ensureEncryptedSessions(recipientPeerId) {
|
|
229
|
-
if (recipientPeerId) {
|
|
230
|
-
// Check specific peer
|
|
231
|
-
const hasSession = await this.hasEncryptedSession(recipientPeerId);
|
|
232
|
-
if (!hasSession) {
|
|
233
|
-
console.log(`[BleMesh] No encrypted session with ${recipientPeerId}, initiating handshake...`);
|
|
234
|
-
await this.initiateHandshake(recipientPeerId);
|
|
235
|
-
|
|
236
|
-
// Wait and verify handshake completion (max 5 seconds)
|
|
237
|
-
const maxAttempts = 10;
|
|
238
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
239
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
240
|
-
const sessionEstablished = await this.hasEncryptedSession(recipientPeerId);
|
|
241
|
-
if (sessionEstablished) {
|
|
242
|
-
console.log(`[BleMesh] ✅ Encrypted session established with ${recipientPeerId}`);
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
console.log(`[BleMesh] Waiting for handshake... (${i + 1}/${maxAttempts})`);
|
|
246
|
-
}
|
|
247
|
-
console.warn(`[BleMesh] ⚠️ Handshake timeout with ${recipientPeerId} - proceeding anyway`);
|
|
248
|
-
} else {
|
|
249
|
-
console.log(`[BleMesh] ✅ Encrypted session already exists with ${recipientPeerId}`);
|
|
250
|
-
}
|
|
251
|
-
} else {
|
|
252
|
-
// Check all connected peers
|
|
253
|
-
const peers = await this.getPeers();
|
|
254
|
-
const connectedPeers = peers.filter(p => p.isConnected);
|
|
255
|
-
console.log(`[BleMesh] Checking sessions for ${connectedPeers.length} connected peers...`);
|
|
256
|
-
const peersNeedingHandshake = [];
|
|
257
|
-
for (const peer of connectedPeers) {
|
|
258
|
-
const hasSession = await this.hasEncryptedSession(peer.peerId);
|
|
259
|
-
if (!hasSession) {
|
|
260
|
-
console.log(`[BleMesh] No encrypted session with ${peer.nickname} (${peer.peerId}), initiating handshake...`);
|
|
261
|
-
await this.initiateHandshake(peer.peerId);
|
|
262
|
-
peersNeedingHandshake.push(peer.peerId);
|
|
263
|
-
} else {
|
|
264
|
-
console.log(`[BleMesh] ✅ Session exists with ${peer.nickname}`);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
// Wait and verify all handshakes complete
|
|
269
|
-
if (peersNeedingHandshake.length > 0) {
|
|
270
|
-
console.log(`[BleMesh] Waiting for ${peersNeedingHandshake.length} handshake(s) to complete...`);
|
|
271
|
-
const maxAttempts = 10;
|
|
272
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
273
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
274
|
-
|
|
275
|
-
// Check which peers now have sessions
|
|
276
|
-
const remainingPeers = [];
|
|
277
|
-
for (const peerId of peersNeedingHandshake) {
|
|
278
|
-
const hasSession = await this.hasEncryptedSession(peerId);
|
|
279
|
-
if (!hasSession) {
|
|
280
|
-
remainingPeers.push(peerId);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
if (remainingPeers.length === 0) {
|
|
284
|
-
console.log(`[BleMesh] ✅ All handshakes completed successfully`);
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
console.log(`[BleMesh] Waiting... ${remainingPeers.length} handshake(s) pending (${i + 1}/${maxAttempts})`);
|
|
288
|
-
peersNeedingHandshake.length = 0;
|
|
289
|
-
peersNeedingHandshake.push(...remainingPeers);
|
|
290
|
-
}
|
|
291
|
-
console.warn(`[BleMesh] ⚠️ ${peersNeedingHandshake.length} handshake(s) incomplete - proceeding anyway`);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
212
|
// Respond to a received transaction (sign or reject)
|
|
297
213
|
async respondToTransaction(transactionId, recipientPeerId, response) {
|
|
298
214
|
this.ensureInitialized();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","BleMeshModule","NativeModules","BleMesh","Proxy","get","Error","eventEmitter","NativeEventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PermissionsAndroid","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","ensureSession","waitForHandshake","ensureEncryptedSessions","initiateHandshakesAsync","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","peers","connectedPeers","filter","p","isConnected","peer","peerId","error","warn","maxAttempts","i","Promise","resolve","setTimeout","sessionEstablished","length","peersNeedingHandshake","push","remainingPeers","respondToTransaction","transactionId","response","signedTransaction","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError","exports","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,mEAAmE,GACnEC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,2EAA2E;AAE7E,MAAMC,aAAa,GAAGC,0BAAa,CAACC,OAAO,GACvCD,0BAAa,CAACC,OAAO,GACrB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMW,YAAY,GAAG,IAAIC,+BAAkB,CAACP,aAAa,CAAC;;AAE1D;;AA0FA;;AAUA;;AAGA,MAAMQ,cAAc,CAAC;EACXC,aAAa,GAAG,KAAK;;EAE7B;EACA,MAAMC,kBAAkBA,CAAA,EAA8B;IACpD,IAAId,qBAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;IACzC,CAAC,MAAM,IAAIhB,qBAAQ,CAACe,EAAE,KAAK,KAAK,EAAE;MAChC,OAAO,IAAI,CAACE,qBAAqB,CAAC,CAAC;IACrC;IACA,MAAM,IAAIR,KAAK,CAAC,sBAAsB,CAAC;EACzC;EAEA,MAAcO,yBAAyBA,CAAA,EAA8B;IACnE,MAAME,QAAQ,GAAGlB,qBAAQ,CAACmB,OAAiB;IAE3C,IAAIC,WAAyB,GAAG,EAAE;IAElC,IAAIF,QAAQ,IAAI,EAAE,EAAE;MAClB;MACAE,WAAW,GAAG,CACZC,+BAAkB,CAACC,WAAW,CAACC,mBAAmB,EAClDF,+BAAkB,CAACC,WAAW,CAACE,iBAAiB,EAChDH,+BAAkB,CAACC,WAAW,CAACG,cAAc,EAC7CJ,+BAAkB,CAACC,WAAW,CAACI,oBAAoB,CACpD;IACH,CAAC,MAAM;MACL;MACAN,WAAW,GAAG,CACZC,+BAAkB,CAACC,WAAW,CAACI,oBAAoB,EACnDL,+BAAkB,CAACC,WAAW,CAACK,sBAAsB,CACtD;IACH;IAEA,MAAMC,OAAO,GAAG,MAAMP,+BAAkB,CAACQ,eAAe,CAACT,WAAW,CAAC;IAErE,MAAMU,MAAwB,GAAG;MAC/BC,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAEJ,OAAO,CAACP,+BAAkB,CAACC,WAAW,CAACI,oBAAoB,CAAC,KAAK;IAC7E,CAAC;IAED,IAAIR,QAAQ,IAAI,EAAE,EAAE;MAClBY,MAAM,CAACG,kBAAkB,GAAGL,OAAO,CAACP,+BAAkB,CAACC,WAAW,CAACC,mBAAmB,CAAC,KAAK,SAAS;MACrGO,MAAM,CAACI,gBAAgB,GAAGN,OAAO,CAACP,+BAAkB,CAACC,WAAW,CAACE,iBAAiB,CAAC,KAAK,SAAS;MACjGM,MAAM,CAACK,aAAa,GAAGP,OAAO,CAACP,+BAAkB,CAACC,WAAW,CAACG,cAAc,CAAC,KAAK,SAAS;MAC3FK,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACG,kBAAkB,IAAIH,MAAM,CAACI,gBAAgB,IAAIJ,MAAM,CAACK,aAAa;IACjG;IAEA,OAAOL,MAAM;EACf;EAEA,MAAcb,qBAAqBA,CAAA,EAA8B;IAC/D;IACA;IACA,MAAMmB,MAAM,GAAG,MAAMhC,aAAa,CAACU,kBAAkB,CAAC,CAAC;IACvD,OAAO;MACLiB,SAAS,EAAEK,MAAM,CAACL,SAAS;MAC3BC,QAAQ,EAAEI,MAAM,CAACJ;IACnB,CAAC;EACH;;EAEA;EACA,MAAMK,gBAAgBA,CAAA,EAA8B;IAClD,IAAIrC,qBAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,IAAI,CAACuB,uBAAuB,CAAC,CAAC;IACvC;IACA,OAAOlC,aAAa,CAACiC,gBAAgB,CAAC,CAAC;EACzC;EAEA,MAAcC,uBAAuBA,CAAA,EAA8B;IACjE,MAAMpB,QAAQ,GAAGlB,qBAAQ,CAACmB,OAAiB;IAE3C,MAAMoB,YAAY,GAAG,MAAMlB,+BAAkB,CAACmB,KAAK,CACjDnB,+BAAkB,CAACC,WAAW,CAACI,oBACjC,CAAC;IAED,MAAMI,MAAwB,GAAG;MAC/BC,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAEO;IACZ,CAAC;IAED,IAAIrB,QAAQ,IAAI,EAAE,EAAE;MAClB,MAAMuB,SAAS,GAAG,MAAMpB,+BAAkB,CAACmB,KAAK,CAC9CnB,+BAAkB,CAACC,WAAW,CAACC,mBACjC,CAAC;MACD,MAAMmB,OAAO,GAAG,MAAMrB,+BAAkB,CAACmB,KAAK,CAC5CnB,+BAAkB,CAACC,WAAW,CAACE,iBACjC,CAAC;MACD,MAAMmB,IAAI,GAAG,MAAMtB,+BAAkB,CAACmB,KAAK,CACzCnB,+BAAkB,CAACC,WAAW,CAACG,cACjC,CAAC;MAEDK,MAAM,CAACG,kBAAkB,GAAGQ,SAAS;MACrCX,MAAM,CAACI,gBAAgB,GAAGQ,OAAO;MACjCZ,MAAM,CAACK,aAAa,GAAGQ,IAAI;MAC3Bb,MAAM,CAACC,SAAS,GAAGU,SAAS,IAAIC,OAAO,IAAIC,IAAI;IACjD;IAEA,OAAOb,MAAM;EACf;;EAEA;EACA,MAAMc,KAAKA,CAACC,MAAyB,GAAG,CAAC,CAAC,EAAiB;IACzD,MAAM;MAAEC,QAAQ,GAAG,MAAM;MAAEC,sBAAsB,GAAG;IAAK,CAAC,GAAGF,MAAM;IAEnE,IAAIE,sBAAsB,EAAE;MAC1B,MAAM3B,WAAW,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAAC,CAAC;MACnD,MAAMkC,iBAAiB,GAAG5B,WAAW,CAACW,SAAS,IAAIX,WAAW,CAACY,QAAQ;MAEvE,IAAI,CAACgB,iBAAiB,EAAE;QACtB,MAAM,IAAIvC,KAAK,CAAC,oFAAoF,CAAC;MACvG;IACF;IAEA,MAAML,aAAa,CAACwC,KAAK,CAACE,QAAQ,CAAC;IACnC,IAAI,CAACjC,aAAa,GAAG,IAAI;EAC3B;;EAEA;EACA,MAAMoC,IAAIA,CAAA,EAAkB;IAC1B,IAAI,CAAC,IAAI,CAACpC,aAAa,EAAE;IACzB,MAAMT,aAAa,CAAC6C,IAAI,CAAC,CAAC;IAC1B,IAAI,CAACpC,aAAa,GAAG,KAAK;EAC5B;;EAEA;EACA,MAAMqC,WAAWA,CAACJ,QAAgB,EAAiB;IACjD,IAAI,CAACK,iBAAiB,CAAC,CAAC;IACxB,MAAM/C,aAAa,CAAC8C,WAAW,CAACJ,QAAQ,CAAC;EAC3C;;EAEA;EACA,MAAMM,WAAWA,CAAA,EAAoB;IACnC,IAAI,CAACD,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACgD,WAAW,CAAC,CAAC;EACpC;;EAEA;EACA,MAAMC,aAAaA,CAAA,EAAoB;IACrC,IAAI,CAACF,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACiD,aAAa,CAAC,CAAC;EACtC;;EAEA;EACA,MAAMC,QAAQA,CAAA,EAAoB;IAChC,IAAI,CAACH,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACkD,QAAQ,CAAC,CAAC;EACjC;;EAEA;EACA,MAAMC,WAAWA,CAACC,OAAe,EAAEC,OAAgB,EAAmB;IACpE,IAAI,CAACN,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACmD,WAAW,CAACC,OAAO,EAAEC,OAAO,IAAI,IAAI,CAAC;EAC5D;;EAEA;EACA,MAAMC,kBAAkBA,CAACF,OAAe,EAAEG,eAAuB,EAAmB;IAClF,IAAI,CAACR,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACsD,kBAAkB,CAACF,OAAO,EAAEG,eAAe,CAAC;EACnE;;EAEA;EACA,MAAMC,QAAQA,CACZC,QAAgB,EAChBC,OAAwD,EACvC;IACjB,IAAI,CAACX,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACwD,QAAQ,CAACC,QAAQ,EAAEC,OAAO,EAAEH,eAAe,IAAI,IAAI,EAAEG,OAAO,EAAEL,OAAO,IAAI,IAAI,CAAC;EACrG;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMM,eAAeA,CACnBC,qBAA6B,EAC7BF,OAOC,EACgB;IACjB,IAAI,CAACX,iBAAiB,CAAC,CAAC;;IAExB;IACA,MAAMc,aAAa,GAAGH,OAAO,EAAEG,aAAa,KAAK,KAAK;IACtD,MAAMC,gBAAgB,GAAGJ,OAAO,EAAEI,gBAAgB,KAAK,IAAI,CAAC,CAAC;;IAE7D,IAAID,aAAa,IAAIC,gBAAgB,EAAE;MACrC;MACA,MAAM,IAAI,CAACC,uBAAuB,CAACL,OAAO,EAAEH,eAAe,CAAC;IAC9D,CAAC,MAAM,IAAIM,aAAa,EAAE;MACxB;MACA,IAAI,CAACG,uBAAuB,CAACN,OAAO,EAAEH,eAAe,CAAC;IACxD;IAEA,MAAMU,IAAI,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IACxD,OAAOrE,aAAa,CAAC2D,eAAe,CAClCM,IAAI,EACJL,qBAAqB,EACrBF,OAAO,EAAEH,eAAe,IAAI,IAAI,EAChCG,OAAO,EAAEY,oBAAoB,EAC7BZ,OAAO,EAAEa,qBAAqB,IAAI,IAAI,EACtCb,OAAO,EAAEc,WAAW,IAAI,IAC1B,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACUR,uBAAuBA,CAACT,eAA+B,EAAQ;IACrE,CAAC,YAAY;MACX,IAAI;QACF,IAAIA,eAAe,EAAE;UACnB,MAAMkB,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACnB,eAAe,CAAC;UAClE,IAAI,CAACkB,UAAU,EAAE;YACfE,OAAO,CAACC,GAAG,CAAC,uCAAuCrB,eAAe,UAAU,CAAC;YAC7E,MAAM,IAAI,CAACsB,iBAAiB,CAACtB,eAAe,CAAC;UAC/C;QACF,CAAC,MAAM;UACL,MAAMuB,KAAK,GAAG,MAAM,IAAI,CAAC5B,QAAQ,CAAC,CAAC;UACnC,MAAM6B,cAAc,GAAGD,KAAK,CAACE,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;UAEvD,KAAK,MAAMC,IAAI,IAAIJ,cAAc,EAAE;YACjC,MAAMN,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACS,IAAI,CAACC,MAAM,CAAC;YAC9D,IAAI,CAACX,UAAU,EAAE;cACfE,OAAO,CAACC,GAAG,CAAC,uCAAuCO,IAAI,CAACzC,QAAQ,UAAU,CAAC;cAC3E,MAAM,IAAI,CAACmC,iBAAiB,CAACM,IAAI,CAACC,MAAM,CAAC;YAC3C;UACF;QACF;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdV,OAAO,CAACW,IAAI,CAAC,8CAA8C,EAAED,KAAK,CAAC;MACrE;IACF,CAAC,EAAE,CAAC;EACN;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAActB,uBAAuBA,CAACR,eAA+B,EAAiB;IACpF,IAAIA,eAAe,EAAE;MACnB;MACA,MAAMkB,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACnB,eAAe,CAAC;MAClE,IAAI,CAACkB,UAAU,EAAE;QACfE,OAAO,CAACC,GAAG,CAAC,uCAAuCrB,eAAe,2BAA2B,CAAC;QAC9F,MAAM,IAAI,CAACsB,iBAAiB,CAACtB,eAAe,CAAC;;QAE7C;QACA,MAAMgC,WAAW,GAAG,EAAE;QACtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,EAAEC,CAAC,EAAE,EAAE;UACpC,MAAM,IAAIC,OAAO,CAACC,OAAO,IAAIC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;UACtD,MAAME,kBAAkB,GAAG,MAAM,IAAI,CAAClB,mBAAmB,CAACnB,eAAe,CAAC;UAC1E,IAAIqC,kBAAkB,EAAE;YACtBjB,OAAO,CAACC,GAAG,CAAC,kDAAkDrB,eAAe,EAAE,CAAC;YAChF;UACF;UACAoB,OAAO,CAACC,GAAG,CAAC,uCAAuCY,CAAC,GAAG,CAAC,IAAID,WAAW,GAAG,CAAC;QAC7E;QACAZ,OAAO,CAACW,IAAI,CAAC,uCAAuC/B,eAAe,sBAAsB,CAAC;MAC5F,CAAC,MAAM;QACLoB,OAAO,CAACC,GAAG,CAAC,qDAAqDrB,eAAe,EAAE,CAAC;MACrF;IACF,CAAC,MAAM;MACL;MACA,MAAMuB,KAAK,GAAG,MAAM,IAAI,CAAC5B,QAAQ,CAAC,CAAC;MACnC,MAAM6B,cAAc,GAAGD,KAAK,CAACE,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;MAEvDP,OAAO,CAACC,GAAG,CAAC,mCAAmCG,cAAc,CAACc,MAAM,qBAAqB,CAAC;MAE1F,MAAMC,qBAA+B,GAAG,EAAE;MAC1C,KAAK,MAAMX,IAAI,IAAIJ,cAAc,EAAE;QACjC,MAAMN,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACS,IAAI,CAACC,MAAM,CAAC;QAC9D,IAAI,CAACX,UAAU,EAAE;UACfE,OAAO,CAACC,GAAG,CAAC,uCAAuCO,IAAI,CAACzC,QAAQ,KAAKyC,IAAI,CAACC,MAAM,4BAA4B,CAAC;UAC7G,MAAM,IAAI,CAACP,iBAAiB,CAACM,IAAI,CAACC,MAAM,CAAC;UACzCU,qBAAqB,CAACC,IAAI,CAACZ,IAAI,CAACC,MAAM,CAAC;QACzC,CAAC,MAAM;UACLT,OAAO,CAACC,GAAG,CAAC,mCAAmCO,IAAI,CAACzC,QAAQ,EAAE,CAAC;QACjE;MACF;;MAEA;MACA,IAAIoD,qBAAqB,CAACD,MAAM,GAAG,CAAC,EAAE;QACpClB,OAAO,CAACC,GAAG,CAAC,yBAAyBkB,qBAAqB,CAACD,MAAM,8BAA8B,CAAC;QAChG,MAAMN,WAAW,GAAG,EAAE;QAEtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,EAAEC,CAAC,EAAE,EAAE;UACpC,MAAM,IAAIC,OAAO,CAACC,OAAO,IAAIC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;;UAEtD;UACA,MAAMM,cAAc,GAAG,EAAE;UACzB,KAAK,MAAMZ,MAAM,IAAIU,qBAAqB,EAAE;YAC1C,MAAMrB,UAAU,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAACU,MAAM,CAAC;YACzD,IAAI,CAACX,UAAU,EAAE;cACfuB,cAAc,CAACD,IAAI,CAACX,MAAM,CAAC;YAC7B;UACF;UAEA,IAAIY,cAAc,CAACH,MAAM,KAAK,CAAC,EAAE;YAC/BlB,OAAO,CAACC,GAAG,CAAC,mDAAmD,CAAC;YAChE;UACF;UAEAD,OAAO,CAACC,GAAG,CAAC,wBAAwBoB,cAAc,CAACH,MAAM,0BAA0BL,CAAC,GAAG,CAAC,IAAID,WAAW,GAAG,CAAC;UAC3GO,qBAAqB,CAACD,MAAM,GAAG,CAAC;UAChCC,qBAAqB,CAACC,IAAI,CAAC,GAAGC,cAAc,CAAC;QAC/C;QAEArB,OAAO,CAACW,IAAI,CAAC,gBAAgBQ,qBAAqB,CAACD,MAAM,8CAA8C,CAAC;MAC1G;IACF;EACF;;EAEA;EACA,MAAMI,oBAAoBA,CACxBC,aAAqB,EACrB3C,eAAuB,EACvB4C,QAGC,EACc;IACf,IAAI,CAACpD,iBAAiB,CAAC,CAAC;IACxB,MAAM/C,aAAa,CAACiG,oBAAoB,CACtCC,aAAa,EACb3C,eAAe,EACf4C,QAAQ,CAACC,iBAAiB,IAAI,IAAI,EAClCD,QAAQ,CAACd,KAAK,IAAI,IACpB,CAAC;EACH;;EAEA;EACA,MAAMgB,eAAeA,CAACC,SAAiB,EAAE/C,eAAuB,EAAiB;IAC/E,IAAI,CAACR,iBAAiB,CAAC,CAAC;IACxB,MAAM/C,aAAa,CAACqG,eAAe,CAACC,SAAS,EAAE/C,eAAe,CAAC;EACjE;;EAEA;EACA,MAAMmB,mBAAmBA,CAACU,MAAc,EAAoB;IAC1D,IAAI,CAACrC,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAAC0E,mBAAmB,CAACU,MAAM,CAAC;EAClD;;EAEA;EACA,MAAMP,iBAAiBA,CAACO,MAAc,EAAiB;IACrD,IAAI,CAACrC,iBAAiB,CAAC,CAAC;IACxB,MAAM/C,aAAa,CAAC6E,iBAAiB,CAACO,MAAM,CAAC;EAC/C;EAEA,MAAMmB,0BAA0BA,CAC9BC,WAAmC,EACnCjD,eAAuB,EACN;IACjB,IAAI,CAACR,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACuG,0BAA0B,CAACC,WAAW,EAAEjD,eAAe,CAAC;EAC/E;;EAEA;EACA,MAAMkD,sBAAsBA,CAAA,EAAoB;IAC9C,IAAI,CAAC1D,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAACyG,sBAAsB,CAAC,CAAC;EAC/C;;EAEA;EACA,MAAMC,kBAAkBA,CAACtB,MAAc,EAA0B;IAC/D,IAAI,CAACrC,iBAAiB,CAAC,CAAC;IACxB,OAAO/C,aAAa,CAAC0G,kBAAkB,CAACtB,MAAM,CAAC;EACjD;;EAEA;EACA,MAAMuB,iBAAiBA,CAAA,EAAkB;IACvC,IAAI,CAAC5D,iBAAiB,CAAC,CAAC;IACxB,MAAM/C,aAAa,CAAC2G,iBAAiB,CAAC,CAAC;EACzC;;EAEA;EACAC,iBAAiBA,CAACC,QAA6C,EAAc;IAC3E,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,mBAAmB,EAAEF,QAAQ,CAAC;IAC5E,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAC,iBAAiBA,CAACJ,QAA6C,EAAc;IAC3E,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,mBAAmB,EAAEF,QAAQ,CAAC;IAC5E,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAE,cAAcA,CAACL,QAA0C,EAAc;IACrE,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,gBAAgB,EAAEF,QAAQ,CAAC;IACzE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAG,qBAAqBA,CAACN,QAAiD,EAAc;IACnF,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,uBAAuB,EAAEF,QAAQ,CAAC;IAChF,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAI,qBAAqBA,CAACP,QAAiD,EAAc;IACnF,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,uBAAuB,EAAEF,QAAQ,CAAC;IAChF,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAK,wBAAwBA,CAACR,QAAoD,EAAc;IACzF,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,0BAA0B,EAAEF,QAAQ,CAAC;IACnF,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAM,aAAaA,CAACT,QAAkE,EAAc;IAC5F,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,eAAe,EAAEF,QAAQ,CAAC;IACxE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAO,aAAaA,CAACV,QAAkE,EAAc;IAC5F,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,eAAe,EAAEF,QAAQ,CAAC;IACxE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEAQ,OAAOA,CAACX,QAAmC,EAAc;IACvD,MAAMC,YAAY,GAAGxG,YAAY,CAACyG,WAAW,CAAC,SAAS,EAAEF,QAAQ,CAAC;IAClE,OAAO,MAAMC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC;EAEQjE,iBAAiBA,CAAA,EAAS;IAChC,IAAI,CAAC,IAAI,CAACtC,aAAa,EAAE;MACvB,MAAM,IAAIJ,KAAK,CAAC,sDAAsD,CAAC;IACzE;EACF;AACF;;AAEA;AAAAoH,OAAA,CAAAjH,cAAA,GAAAA,cAAA;AACO,MAAMN,OAAO,GAAAuH,OAAA,CAAAvH,OAAA,GAAG,IAAIM,cAAc,CAAC,CAAC;;AAE3C;AAGA;AAAA,IAAAkH,QAAA,GAAAD,OAAA,CAAA1H,OAAA,GACeG,OAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","BleMeshModule","NativeModules","BleMesh","Proxy","get","Error","eventEmitter","NativeEventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PermissionsAndroid","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","initiateHandshakesAsync","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","peers","connectedPeers","filter","p","isConnected","peer","peerId","error","warn","respondToTransaction","transactionId","response","signedTransaction","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError","exports","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -162,23 +162,13 @@ class BleMeshService {
|
|
|
162
162
|
* @param options.secondSignerPublicKey - Preferred second signer (optional, any peer can sign if not specified)
|
|
163
163
|
* @param options.description - Description of the transaction
|
|
164
164
|
* @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
|
|
165
|
-
* @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
|
|
166
|
-
* @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
|
|
167
165
|
*/
|
|
168
166
|
async sendTransaction(serializedTransaction, options) {
|
|
169
167
|
this.ensureInitialized();
|
|
170
168
|
|
|
171
|
-
// Auto-initiate handshakes
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
if (ensureSession && waitForHandshake) {
|
|
176
|
-
// Blocking mode: wait for handshakes to complete
|
|
177
|
-
await this.ensureEncryptedSessions(options?.recipientPeerId);
|
|
178
|
-
} else if (ensureSession) {
|
|
179
|
-
// Non-blocking mode: initiate handshakes but don't wait (fire and forget)
|
|
180
|
-
this.initiateHandshakesAsync(options?.recipientPeerId);
|
|
181
|
-
}
|
|
169
|
+
// Auto-initiate handshakes asynchronously (non-blocking, fire-and-forget)
|
|
170
|
+
// The native layer handles queuing and delivery when sessions are ready
|
|
171
|
+
this.initiateHandshakesAsync(options?.recipientPeerId);
|
|
182
172
|
const txId = Math.random().toString(36).substring(2, 15);
|
|
183
173
|
return BleMeshModule.sendTransaction(txId, serializedTransaction, options?.recipientPeerId || null, options?.firstSignerPublicKey, options?.secondSignerPublicKey || null, options?.description || null);
|
|
184
174
|
}
|
|
@@ -213,80 +203,6 @@ class BleMeshService {
|
|
|
213
203
|
})();
|
|
214
204
|
}
|
|
215
205
|
|
|
216
|
-
/**
|
|
217
|
-
* Ensure encrypted sessions exist with target peer(s) before sending transactions.
|
|
218
|
-
* Auto-initiates handshakes for peers without active sessions.
|
|
219
|
-
*
|
|
220
|
-
* @param recipientPeerId - Specific peer ID, or null/undefined to check all connected peers
|
|
221
|
-
*/
|
|
222
|
-
async ensureEncryptedSessions(recipientPeerId) {
|
|
223
|
-
if (recipientPeerId) {
|
|
224
|
-
// Check specific peer
|
|
225
|
-
const hasSession = await this.hasEncryptedSession(recipientPeerId);
|
|
226
|
-
if (!hasSession) {
|
|
227
|
-
console.log(`[BleMesh] No encrypted session with ${recipientPeerId}, initiating handshake...`);
|
|
228
|
-
await this.initiateHandshake(recipientPeerId);
|
|
229
|
-
|
|
230
|
-
// Wait and verify handshake completion (max 5 seconds)
|
|
231
|
-
const maxAttempts = 10;
|
|
232
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
233
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
234
|
-
const sessionEstablished = await this.hasEncryptedSession(recipientPeerId);
|
|
235
|
-
if (sessionEstablished) {
|
|
236
|
-
console.log(`[BleMesh] ✅ Encrypted session established with ${recipientPeerId}`);
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
console.log(`[BleMesh] Waiting for handshake... (${i + 1}/${maxAttempts})`);
|
|
240
|
-
}
|
|
241
|
-
console.warn(`[BleMesh] ⚠️ Handshake timeout with ${recipientPeerId} - proceeding anyway`);
|
|
242
|
-
} else {
|
|
243
|
-
console.log(`[BleMesh] ✅ Encrypted session already exists with ${recipientPeerId}`);
|
|
244
|
-
}
|
|
245
|
-
} else {
|
|
246
|
-
// Check all connected peers
|
|
247
|
-
const peers = await this.getPeers();
|
|
248
|
-
const connectedPeers = peers.filter(p => p.isConnected);
|
|
249
|
-
console.log(`[BleMesh] Checking sessions for ${connectedPeers.length} connected peers...`);
|
|
250
|
-
const peersNeedingHandshake = [];
|
|
251
|
-
for (const peer of connectedPeers) {
|
|
252
|
-
const hasSession = await this.hasEncryptedSession(peer.peerId);
|
|
253
|
-
if (!hasSession) {
|
|
254
|
-
console.log(`[BleMesh] No encrypted session with ${peer.nickname} (${peer.peerId}), initiating handshake...`);
|
|
255
|
-
await this.initiateHandshake(peer.peerId);
|
|
256
|
-
peersNeedingHandshake.push(peer.peerId);
|
|
257
|
-
} else {
|
|
258
|
-
console.log(`[BleMesh] ✅ Session exists with ${peer.nickname}`);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// Wait and verify all handshakes complete
|
|
263
|
-
if (peersNeedingHandshake.length > 0) {
|
|
264
|
-
console.log(`[BleMesh] Waiting for ${peersNeedingHandshake.length} handshake(s) to complete...`);
|
|
265
|
-
const maxAttempts = 10;
|
|
266
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
267
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
268
|
-
|
|
269
|
-
// Check which peers now have sessions
|
|
270
|
-
const remainingPeers = [];
|
|
271
|
-
for (const peerId of peersNeedingHandshake) {
|
|
272
|
-
const hasSession = await this.hasEncryptedSession(peerId);
|
|
273
|
-
if (!hasSession) {
|
|
274
|
-
remainingPeers.push(peerId);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
if (remainingPeers.length === 0) {
|
|
278
|
-
console.log(`[BleMesh] ✅ All handshakes completed successfully`);
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
console.log(`[BleMesh] Waiting... ${remainingPeers.length} handshake(s) pending (${i + 1}/${maxAttempts})`);
|
|
282
|
-
peersNeedingHandshake.length = 0;
|
|
283
|
-
peersNeedingHandshake.push(...remainingPeers);
|
|
284
|
-
}
|
|
285
|
-
console.warn(`[BleMesh] ⚠️ ${peersNeedingHandshake.length} handshake(s) incomplete - proceeding anyway`);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
|
|
290
206
|
// Respond to a received transaction (sign or reject)
|
|
291
207
|
async respondToTransaction(transactionId, recipientPeerId, response) {
|
|
292
208
|
this.ensureInitialized();
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","PermissionsAndroid","LINKING_ERROR","select","ios","default","BleMeshModule","BleMesh","Proxy","get","Error","eventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","ensureSession","waitForHandshake","ensureEncryptedSessions","initiateHandshakesAsync","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","peers","connectedPeers","filter","p","isConnected","peer","peerId","error","warn","maxAttempts","i","Promise","resolve","setTimeout","sessionEstablished","length","peersNeedingHandshake","push","remainingPeers","respondToTransaction","transactionId","response","signedTransaction","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","PermissionsAndroid","LINKING_ERROR","select","ios","default","BleMeshModule","BleMesh","Proxy","get","Error","eventEmitter","BleMeshService","isInitialized","requestPermissions","OS","requestAndroidPermissions","requestIOSPermissions","apiLevel","Version","permissions","PERMISSIONS","BLUETOOTH_ADVERTISE","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","results","requestMultiple","status","bluetooth","location","bluetoothAdvertise","bluetoothConnect","bluetoothScan","result","checkPermissions","checkAndroidPermissions","fineLocation","check","advertise","connect","scan","start","config","nickname","autoRequestPermissions","hasAllPermissions","stop","setNickname","ensureInitialized","getMyPeerId","getMyNickname","getPeers","sendMessage","content","channel","sendPrivateMessage","recipientPeerId","sendFile","filePath","options","sendTransaction","serializedTransaction","initiateHandshakesAsync","txId","Math","random","toString","substring","firstSignerPublicKey","secondSignerPublicKey","description","hasSession","hasEncryptedSession","console","log","initiateHandshake","peers","connectedPeers","filter","p","isConnected","peer","peerId","error","warn","respondToTransaction","transactionId","response","signedTransaction","sendReadReceipt","messageId","sendSolanaNonceTransaction","transaction","getIdentityFingerprint","getPeerFingerprint","broadcastAnnounce","onPeerListUpdated","callback","subscription","addListener","remove","onMessageReceived","onFileReceived","onTransactionReceived","onTransactionResponse","onConnectionStateChanged","onReadReceipt","onDeliveryAck","onError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -137,29 +137,18 @@ declare class BleMeshService {
|
|
|
137
137
|
* @param options.secondSignerPublicKey - Preferred second signer (optional, any peer can sign if not specified)
|
|
138
138
|
* @param options.description - Description of the transaction
|
|
139
139
|
* @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
|
|
140
|
-
* @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
|
|
141
|
-
* @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
|
|
142
140
|
*/
|
|
143
141
|
sendTransaction(serializedTransaction: string, options?: {
|
|
144
142
|
firstSignerPublicKey: string;
|
|
145
143
|
secondSignerPublicKey?: string;
|
|
146
144
|
description?: string;
|
|
147
145
|
recipientPeerId?: string;
|
|
148
|
-
ensureSession?: boolean;
|
|
149
|
-
waitForHandshake?: boolean;
|
|
150
146
|
}): Promise<string>;
|
|
151
147
|
/**
|
|
152
148
|
* Initiate handshakes asynchronously without blocking (fire and forget).
|
|
153
149
|
* The native layer will queue the transaction and send it once sessions are established.
|
|
154
150
|
*/
|
|
155
151
|
private initiateHandshakesAsync;
|
|
156
|
-
/**
|
|
157
|
-
* Ensure encrypted sessions exist with target peer(s) before sending transactions.
|
|
158
|
-
* Auto-initiates handshakes for peers without active sessions.
|
|
159
|
-
*
|
|
160
|
-
* @param recipientPeerId - Specific peer ID, or null/undefined to check all connected peers
|
|
161
|
-
*/
|
|
162
|
-
private ensureEncryptedSessions;
|
|
163
152
|
respondToTransaction(transactionId: string, recipientPeerId: string, response: {
|
|
164
153
|
signedTransaction?: string;
|
|
165
154
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -301,8 +301,6 @@ class BleMeshService {
|
|
|
301
301
|
* @param options.secondSignerPublicKey - Preferred second signer (optional, any peer can sign if not specified)
|
|
302
302
|
* @param options.description - Description of the transaction
|
|
303
303
|
* @param options.recipientPeerId - Specific peer to send to (optional, broadcasts to all if not specified)
|
|
304
|
-
* @param options.ensureSession - Auto-initiate handshake if no encrypted session exists (default: true)
|
|
305
|
-
* @param options.waitForHandshake - Wait for handshake to complete before sending (default: false for better UX)
|
|
306
304
|
*/
|
|
307
305
|
async sendTransaction(
|
|
308
306
|
serializedTransaction: string,
|
|
@@ -311,23 +309,13 @@ class BleMeshService {
|
|
|
311
309
|
secondSignerPublicKey?: string;
|
|
312
310
|
description?: string;
|
|
313
311
|
recipientPeerId?: string;
|
|
314
|
-
ensureSession?: boolean;
|
|
315
|
-
waitForHandshake?: boolean;
|
|
316
312
|
}
|
|
317
313
|
): Promise<string> {
|
|
318
314
|
this.ensureInitialized();
|
|
319
315
|
|
|
320
|
-
// Auto-initiate handshakes
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
if (ensureSession && waitForHandshake) {
|
|
325
|
-
// Blocking mode: wait for handshakes to complete
|
|
326
|
-
await this.ensureEncryptedSessions(options?.recipientPeerId);
|
|
327
|
-
} else if (ensureSession) {
|
|
328
|
-
// Non-blocking mode: initiate handshakes but don't wait (fire and forget)
|
|
329
|
-
this.initiateHandshakesAsync(options?.recipientPeerId);
|
|
330
|
-
}
|
|
316
|
+
// Auto-initiate handshakes asynchronously (non-blocking, fire-and-forget)
|
|
317
|
+
// The native layer handles queuing and delivery when sessions are ready
|
|
318
|
+
this.initiateHandshakesAsync(options?.recipientPeerId);
|
|
331
319
|
|
|
332
320
|
const txId = Math.random().toString(36).substring(2, 15);
|
|
333
321
|
return BleMeshModule.sendTransaction(
|
|
@@ -371,86 +359,6 @@ class BleMeshService {
|
|
|
371
359
|
})();
|
|
372
360
|
}
|
|
373
361
|
|
|
374
|
-
/**
|
|
375
|
-
* Ensure encrypted sessions exist with target peer(s) before sending transactions.
|
|
376
|
-
* Auto-initiates handshakes for peers without active sessions.
|
|
377
|
-
*
|
|
378
|
-
* @param recipientPeerId - Specific peer ID, or null/undefined to check all connected peers
|
|
379
|
-
*/
|
|
380
|
-
private async ensureEncryptedSessions(recipientPeerId?: string | null): Promise<void> {
|
|
381
|
-
if (recipientPeerId) {
|
|
382
|
-
// Check specific peer
|
|
383
|
-
const hasSession = await this.hasEncryptedSession(recipientPeerId);
|
|
384
|
-
if (!hasSession) {
|
|
385
|
-
console.log(`[BleMesh] No encrypted session with ${recipientPeerId}, initiating handshake...`);
|
|
386
|
-
await this.initiateHandshake(recipientPeerId);
|
|
387
|
-
|
|
388
|
-
// Wait and verify handshake completion (max 5 seconds)
|
|
389
|
-
const maxAttempts = 10;
|
|
390
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
391
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
392
|
-
const sessionEstablished = await this.hasEncryptedSession(recipientPeerId);
|
|
393
|
-
if (sessionEstablished) {
|
|
394
|
-
console.log(`[BleMesh] ✅ Encrypted session established with ${recipientPeerId}`);
|
|
395
|
-
return;
|
|
396
|
-
}
|
|
397
|
-
console.log(`[BleMesh] Waiting for handshake... (${i + 1}/${maxAttempts})`);
|
|
398
|
-
}
|
|
399
|
-
console.warn(`[BleMesh] ⚠️ Handshake timeout with ${recipientPeerId} - proceeding anyway`);
|
|
400
|
-
} else {
|
|
401
|
-
console.log(`[BleMesh] ✅ Encrypted session already exists with ${recipientPeerId}`);
|
|
402
|
-
}
|
|
403
|
-
} else {
|
|
404
|
-
// Check all connected peers
|
|
405
|
-
const peers = await this.getPeers();
|
|
406
|
-
const connectedPeers = peers.filter(p => p.isConnected);
|
|
407
|
-
|
|
408
|
-
console.log(`[BleMesh] Checking sessions for ${connectedPeers.length} connected peers...`);
|
|
409
|
-
|
|
410
|
-
const peersNeedingHandshake: string[] = [];
|
|
411
|
-
for (const peer of connectedPeers) {
|
|
412
|
-
const hasSession = await this.hasEncryptedSession(peer.peerId);
|
|
413
|
-
if (!hasSession) {
|
|
414
|
-
console.log(`[BleMesh] No encrypted session with ${peer.nickname} (${peer.peerId}), initiating handshake...`);
|
|
415
|
-
await this.initiateHandshake(peer.peerId);
|
|
416
|
-
peersNeedingHandshake.push(peer.peerId);
|
|
417
|
-
} else {
|
|
418
|
-
console.log(`[BleMesh] ✅ Session exists with ${peer.nickname}`);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
// Wait and verify all handshakes complete
|
|
423
|
-
if (peersNeedingHandshake.length > 0) {
|
|
424
|
-
console.log(`[BleMesh] Waiting for ${peersNeedingHandshake.length} handshake(s) to complete...`);
|
|
425
|
-
const maxAttempts = 10;
|
|
426
|
-
|
|
427
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
428
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
429
|
-
|
|
430
|
-
// Check which peers now have sessions
|
|
431
|
-
const remainingPeers = [];
|
|
432
|
-
for (const peerId of peersNeedingHandshake) {
|
|
433
|
-
const hasSession = await this.hasEncryptedSession(peerId);
|
|
434
|
-
if (!hasSession) {
|
|
435
|
-
remainingPeers.push(peerId);
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
if (remainingPeers.length === 0) {
|
|
440
|
-
console.log(`[BleMesh] ✅ All handshakes completed successfully`);
|
|
441
|
-
return;
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
console.log(`[BleMesh] Waiting... ${remainingPeers.length} handshake(s) pending (${i + 1}/${maxAttempts})`);
|
|
445
|
-
peersNeedingHandshake.length = 0;
|
|
446
|
-
peersNeedingHandshake.push(...remainingPeers);
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
console.warn(`[BleMesh] ⚠️ ${peersNeedingHandshake.length} handshake(s) incomplete - proceeding anyway`);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
|
|
454
362
|
// Respond to a received transaction (sign or reject)
|
|
455
363
|
async respondToTransaction(
|
|
456
364
|
transactionId: string,
|