Skip to content

Commit 22e6a8e

Browse files
committed
Add code to re-generate the NUMS point used in taproot channels
1 parent a9cbe42 commit 22e6a8e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

eclair-core/src/test/scala/fr/acinq/eclair/transactions/TransactionsSpec.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package fr.acinq.eclair.transactions
1818

1919
import fr.acinq.bitcoin.SigHash._
20-
import fr.acinq.bitcoin.scalacompat.Crypto.{PrivateKey, XonlyPublicKey, ripemd160, sha256}
20+
import fr.acinq.bitcoin.scalacompat.Crypto.{PrivateKey, PublicKey, XonlyPublicKey, ripemd160, sha256}
2121
import fr.acinq.bitcoin.scalacompat.Script.{pay2wpkh, pay2wsh, write}
2222
import fr.acinq.bitcoin.scalacompat.{Btc, ByteVector32, Crypto, KotlinUtils, MilliBtc, MilliBtcDouble, Musig2, OutPoint, Protocol, Satoshi, SatoshiLong, Script, ScriptWitness, Transaction, TxId, TxIn, TxOut, millibtc2satoshi}
2323
import fr.acinq.bitcoin.{ScriptFlags, ScriptTree, SigHash}
@@ -1175,6 +1175,12 @@ class TransactionsSpec extends AnyFunSuite with Logging {
11751175
test(SimpleTaprootChannelsStagingLegacyCommitmentFormat)
11761176
}
11771177

1178+
test("generate taproot NUMS point") {
1179+
val bin = 2.toByte +: Crypto.sha256(ByteVector.fromValidHex("0000000000000002") ++ ByteVector.view("Lightning Simple Taproot".getBytes))
1180+
val pub = PublicKey(bin)
1181+
assert(pub == NUMS_POINT)
1182+
}
1183+
11781184
test("sort the htlc outputs using BIP69 and cltv expiry") {
11791185
val localFundingPriv = PrivateKey(hex"a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1")
11801186
val remoteFundingPriv = PrivateKey(hex"a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2")

0 commit comments

Comments
 (0)