From 41fce8e74042b3fbcc812aa09ab582714b9f5b62 Mon Sep 17 00:00:00 2001 From: supertestnet <58400631+supertestnet@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:09:02 -0500 Subject: [PATCH] Update nwcjs.js --- nwcjs.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/nwcjs.js b/nwcjs.js index c883380..21ce66a 100644 --- a/nwcjs.js +++ b/nwcjs.js @@ -206,6 +206,33 @@ var nwcjs = { var relay = nwc_obj[ "relay" ]; nwcjs.sendEvent( event, relay ); }, + getBalance: async ( nwc_obj, seconds_of_delay_tolerable ) => { + var msg = { + method: "get_balance", + params: {} + } + msg = JSON.stringify( msg ); + var emsg = nwcjs.encrypt( nwc_obj[ "app_privkey" ], nwc_obj[ "wallet_pubkey" ], msg ); + var obj = { + kind: 23194, + content: emsg, + tags: [ [ "p", nwc_obj[ "wallet_pubkey" ] ] ], + created_at: Math.floor( Date.now() / 1000 ), + pubkey: nwc_obj[ "app_pubkey" ], + } + var event = await nwcjs.getSignedEvent( obj, nwc_obj[ "app_privkey" ] ); + var id = event.id; + nwcjs.getResponse( nwc_obj, id, seconds_of_delay_tolerable ); + await nwcjs.waitSomeSeconds( 1 ); + var relay = nwc_obj[ "relay" ]; + nwcjs.sendEvent( event, relay ); + var loop = async () => { + await nwcjs.waitSomeSeconds( 1 ); + if ( !nwcjs.response ) return await loop(); + return nwcjs.response; + } + return await loop(); + }, encrypt: ( privkey, pubkey, text ) => { var key = nobleSecp256k1.getSharedSecret( privkey, '02' + pubkey, true ).substring( 2 ); var iv = window.crypto.getRandomValues( new Uint8Array( 16 ) );