Add forfeit address in GetInfo (#326)

* keep track of forfeit transaction funds

* [btc-embedded] use p2wpkh address

* [sdk] fix clients

* use script as argument of BuildForfeitTxs
This commit is contained in:
Louis Singer
2024-09-25 13:15:44 +02:00
committed by GitHub
parent 877b7d38cd
commit 2be78b0115
33 changed files with 507 additions and 306 deletions

View File

@@ -21,6 +21,7 @@ import (
"github.com/ark-network/ark/pkg/client-sdk/wallet"
"github.com/btcsuite/btcd/btcec/v2/schnorr"
"github.com/btcsuite/btcd/chaincfg/chainhash"
"github.com/btcsuite/btcd/txscript"
"github.com/decred/dcrd/dcrec/secp256k1/v4"
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
log "github.com/sirupsen/logrus"
@@ -1311,6 +1312,11 @@ func (a *covenantArkClient) createAndSignForfeits(
signedForfeits := make([]string, 0)
connectorsPsets := make([]*psetv2.Pset, 0, len(connectors))
forfeitPkScript, err := address.ToOutputScript(a.ForfeitAddress)
if err != nil {
return nil, err
}
for _, connector := range connectors {
p, err := psetv2.NewPsetFromBase64(connector)
if err != nil {
@@ -1331,7 +1337,7 @@ func (a *covenantArkClient) createAndSignForfeits(
return nil, err
}
feeAmount, err := common.ComputeForfeitMinRelayFee(feeRate, vtxoTapTree)
feeAmount, err := common.ComputeForfeitMinRelayFee(feeRate, vtxoTapTree, txscript.WitnessV0PubKeyHashTy)
if err != nil {
return nil, err
}
@@ -1373,7 +1379,7 @@ func (a *covenantArkClient) createAndSignForfeits(
for _, connectorPset := range connectorsPsets {
forfeits, err := tree.BuildForfeitTxs(
connectorPset, vtxoInput, vtxo.Amount, a.Dust, feeAmount, vtxoOutputScript, a.AspPubkey,
connectorPset, vtxoInput, vtxo.Amount, a.Dust, feeAmount, vtxoOutputScript, forfeitPkScript,
)
if err != nil {
return nil, err