From e583c80ec6763b57b46f1bb0881c2ed7907dab81 Mon Sep 17 00:00:00 2001 From: Shashank Date: Tue, 23 Dec 2025 10:08:41 +0530 Subject: [PATCH 1/4] Update rgb-lib submodule: Add send_begin and send_end methods to C FFI bindings --- rgb-lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rgb-lib b/rgb-lib index 9d6a297..135729d 160000 --- a/rgb-lib +++ b/rgb-lib @@ -1 +1 @@ -Subproject commit 9d6a29755e1d57c1799aa85242caf0d7da16787a +Subproject commit 135729dc2196107a0f883635473d3b1021e7ca81 From 2f6d42ceaea4aa3d7e7df48f77fcb51f7a6322a8 Mon Sep 17 00:00:00 2001 From: Shashank Date: Tue, 23 Dec 2025 10:46:51 +0530 Subject: [PATCH 2/4] Add sendBegin and sendEnd methods to JavaScript wrapper --- template/wrapper.js | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/template/wrapper.js b/template/wrapper.js index 3361012..0e60309 100644 --- a/template/wrapper.js +++ b/template/wrapper.js @@ -556,6 +556,54 @@ exports.Wallet = class Wallet { ); } + sendBegin(online, recipientMap, donation, feeRate, minConfirmations) { + const params = { + online, + recipientMap, + donation, + feeRate, + minConfirmations, + }; + const expectedTypes = { + online: "object", + recipientMap: "object", + donation: "boolean", + feeRate: "u64", + minConfirmations: "u8", + }; + validateTypes(params, expectedTypes); + return lib.rgblib_send_begin( + this.wallet, + online, + JSON.stringify(recipientMap), + donation, + feeRate, + minConfirmations, + ); + } + + sendEnd(online, signedPsbt, skipSync) { + const params = { + online, + signedPsbt, + skipSync, + }; + const expectedTypes = { + online: "object", + signedPsbt: "string", + skipSync: "boolean", + }; + validateTypes(params, expectedTypes); + return JSON.parse( + lib.rgblib_send_end( + this.wallet, + online, + signedPsbt, + skipSync, + ), + ); + } + sendBtc(online, address, amount, feeRate, skipSync) { const params = { online, From 1ec2e22d25da2e0489bfcfc6e98422cda5c7df47 Mon Sep 17 00:00:00 2001 From: Shashank Date: Tue, 23 Dec 2025 11:08:56 +0530 Subject: [PATCH 3/4] Add JavaScript wrappers for createUtxosBegin, createUtxosEnd, deleteTransfers, failTransfers, and getAssetMetadata --- template/wrapper.js | 93 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/template/wrapper.js b/template/wrapper.js index 0e60309..3108504 100644 --- a/template/wrapper.js +++ b/template/wrapper.js @@ -300,6 +300,46 @@ exports.Wallet = class Wallet { ); } + createUtxosBegin(online, upTo, num, size, feeRate, skipSync) { + const params = { online, upTo, num, size, feeRate, skipSync }; + const expectedTypes = { + online: "object", + upTo: "boolean", + num: "u8?", + size: "u32?", + feeRate: "u64", + skipSync: "boolean", + }; + validateTypes(params, expectedTypes); + return lib.rgblib_create_utxos_begin( + this.wallet, + online, + upTo, + num, + size, + feeRate, + skipSync, + ); + } + + createUtxosEnd(online, signedPsbt, skipSync) { + const params = { online, signedPsbt, skipSync }; + const expectedTypes = { + online: "object", + signedPsbt: "string", + skipSync: "boolean", + }; + validateTypes(params, expectedTypes); + return JSON.parse( + lib.rgblib_create_utxos_end( + this.wallet, + online, + signedPsbt, + skipSync, + ), + ); + } + getAddress() { return lib.rgblib_get_address(this.wallet); } @@ -313,6 +353,15 @@ exports.Wallet = class Wallet { return JSON.parse(lib.rgblib_get_asset_balance(this.wallet, assetId)); } + getAssetMetadata(assetId) { + const params = { assetId }; + const expectedTypes = { + assetId: "string", + }; + validateTypes(params, expectedTypes); + return JSON.parse(lib.rgblib_get_asset_metadata(this.wallet, assetId)); + } + getBtcBalance(online, skipSync) { const params = { online, skipSync }; const expectedTypes = { @@ -478,6 +527,50 @@ exports.Wallet = class Wallet { return JSON.parse(lib.rgblib_list_transfers(this.wallet, assetId)); } + deleteTransfers(batchTransferIdx, noAssetOnly) { + const params = { + batchTransferIdx, + noAssetOnly, + }; + const expectedTypes = { + batchTransferIdx: "i32?", + noAssetOnly: "boolean", + }; + validateTypes(params, expectedTypes); + return JSON.parse( + lib.rgblib_delete_transfers( + this.wallet, + batchTransferIdx, + noAssetOnly, + ), + ); + } + + failTransfers(online, batchTransferIdx, noAssetOnly, skipSync) { + const params = { + online, + batchTransferIdx, + noAssetOnly, + skipSync, + }; + const expectedTypes = { + online: "object", + batchTransferIdx: "i32?", + noAssetOnly: "boolean", + skipSync: "boolean", + }; + validateTypes(params, expectedTypes); + return JSON.parse( + lib.rgblib_fail_transfers( + this.wallet, + online, + batchTransferIdx, + noAssetOnly, + skipSync, + ), + ); + } + listUnspents(online, settledOnly, skipSync) { const params = { online, From b561e4fa9f912e33e19810d3d4931a386abc2218 Mon Sep 17 00:00:00 2001 From: Shashank Date: Tue, 23 Dec 2025 11:09:08 +0530 Subject: [PATCH 4/4] Update rgb-lib submodule: Add create_utxos_begin, create_utxos_end, delete_transfers, fail_transfers, and get_asset_metadata methods --- rgb-lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rgb-lib b/rgb-lib index 135729d..a7e0746 160000 --- a/rgb-lib +++ b/rgb-lib @@ -1 +1 @@ -Subproject commit 135729dc2196107a0f883635473d3b1021e7ca81 +Subproject commit a7e0746afbe26493c0f25f9e7ab0f217a8fc1340