Skip to content

Commit

Permalink
Full Transfer (PSBT + Dustless + Transfer) (#312)
Browse files Browse the repository at this point in the history
* refactor: add full transfer operation

* refactor: improviment psbt operation

* feat: add internal tests

* fix: improvement tests

* fix: coin selection

* fix: add btc change utxo

* fix: bitcoin derivation indexes
  • Loading branch information
crisdut authored Aug 2, 2023
1 parent 92f064b commit c9b9cb4
Show file tree
Hide file tree
Showing 12 changed files with 496 additions and 185 deletions.
11 changes: 7 additions & 4 deletions src/bin/bitmaskd.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ use bitmask_core::{
},
structs::{
AcceptRequest, FileMetadata, FullRgbTransferRequest, ImportRequest, InvoiceRequest,
IssueAssetRequest, IssueRequest, MediaInfo, PsbtRequest, ReIssueRequest,
IssueAssetRequest, IssueRequest, MediaInfo, PsbtFeeRequest, PsbtRequest, ReIssueRequest,
RgbTransferRequest, SecretString, SelfFullRgbTransferRequest, SelfIssueRequest,
SignPsbtRequest, WatcherRequest,
},
Expand Down Expand Up @@ -151,14 +151,17 @@ async fn self_pay(

let sk = issuer_keys.private.nostr_prv.as_ref();

let fee = self_pay_req
.fee
.map_or(PsbtFeeRequest::Value(1000), PsbtFeeRequest::Value);

let request = FullRgbTransferRequest {
mnemonic: issuer_keys.mnemonic.clone(),
contract_id: self_pay_req.contract_id,
iface: self_pay_req.iface,
rgb_invoice: self_pay_req.rgb_invoice,
descriptor: SecretString(issuer_keys.public.rgb_udas_descriptor_xpub.clone()),
tapret: self_pay_req.tapret,
terminal: self_pay_req.terminal,
change_terminal: self_pay_req.terminal,
fee,
};

let transfer_res = full_transfer_asset(sk, request).await?;
Expand Down
Loading

0 comments on commit c9b9cb4

Please sign in to comment.