diff --git a/.mvn/checksums/checksums-central.sha256 b/.mvn/checksums/checksums-central.sha256 index 302b72a978..aa4b8e6a09 100644 --- a/.mvn/checksums/checksums-central.sha256 +++ b/.mvn/checksums/checksums-central.sha256 @@ -455,6 +455,7 @@ 5ca374eb4e6194ec0cd7004366decd39d4d048145a6380f99741a9414f38cebb org/apache/maven/maven-model-builder/3.8.6/maven-model-builder-3.8.6.jar 5cb1e9f9cf0be011487545694ff0a178237c6bfcbb21c97865cdc52c60b9347a com/jcraft/jzlib/1.1.1/jzlib-1.1.1.jar 5cecc8bcb58d45e2a57ccccaad5d520abf0e81dea2be56ec1ed38c182cff4bd0 io/kamon/kamon-apm-reporter_2.13/2.7.4/kamon-apm-reporter_2.13-2.7.4.pom +5e0de676193687b752389bc65f8eb239669a13b1e8bb07c82eb103a6a4da1697 fr/acinq/bitcoin/bitcoin-kmp-jvm/0.31.0/bitcoin-kmp-jvm-0.31.0.pom 5e583878df905b5f33a230ef690a52b8f19dab9cc892bedee069f3d8af4e960a org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.pom 5e93a63b3042023e558dcbeb19914ce82e6a6fbccdbd68797f80b135121a8bde org/apache/maven/shared/file-management/3.1.0/file-management-3.1.0.pom 5f32ecab9c8f6dff1f9e41b853e40d8f23a2508219154ef67cc00d4556f5f5dd org/eclipse/sisu/sisu-inject/0.3.5/sisu-inject-0.3.5.pom @@ -516,6 +517,7 @@ 6d80b060de7e395e07bf90f9a14add0f80425add4016c89d7df91c9062717a20 org/apache/maven/surefire/surefire-booter/3.1.2/surefire-booter-3.1.2.jar 6da6d5e61be60d77a7eea6c7d0b8ac3cc35ca73cef3cbff97d5982006553786d commons-collections/commons-collections/3.2/commons-collections-3.2.pom 6df4b5b76d9062017664ad0ca285e57154ae803607cb89c970b39cc0e016abb0 org/bouncycastle/bcprov-jdk15on/1.70/bcprov-jdk15on-1.70.pom +6e3b52b643baa4f23acf86cfe98363c902b723d62b3020a898e2d4e40aa6dfe8 fr/acinq/bitcoin/bitcoin-kmp-jvm/0.31.0/bitcoin-kmp-jvm-0.31.0.jar 6eba0902efd899aec0d8d19ac3cbc53123cd41139fe0e1d29cc5c874a791b9de org/eclipse/sisu/sisu-plexus/0.3.5/sisu-plexus-0.3.5.pom 6ec96f889bc29250f90b167c14e547f1b05aa23565c63f9079595befbde816bb org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom 6f819947a2a773792dc91d17f906e22113bfb2fefb6b64dec836175715d7402a org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0.jar diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/crypto/keymanager/LocalOnChainKeyManager.scala b/eclair-core/src/main/scala/fr/acinq/eclair/crypto/keymanager/LocalOnChainKeyManager.scala index 790d083e20..3b888c3920 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/crypto/keymanager/LocalOnChainKeyManager.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/crypto/keymanager/LocalOnChainKeyManager.scala @@ -268,7 +268,7 @@ class LocalOnChainKeyManager(override val walletName: String, seed: ByteVector, // Check that we're signing a p2wpkh input and that the keypath is provided and correct. require(input.getDerivationPaths.size() == 1, "bip32 derivation path is missing: bitcoin core may be malicious") val (pub, keypath) = input.getDerivationPaths.asScala.toSeq.head - val priv = fr.acinq.bitcoin.DeterministicWallet.derivePrivateKey(master.priv, keypath.keyPath).getPrivateKey + val priv = master.priv.derivePrivateKey(keypath.keyPath).getPrivateKey require(priv.publicKey() == pub, s"derived public key doesn't match (expected=$pub actual=${priv.publicKey()}): bitcoin core may be malicious") val expectedScript = ByteVector(Script.write(Script.pay2wpkh(pub))) require(kmp2scala(input.getWitnessUtxo.publicKeyScript) == expectedScript, s"script mismatch (expected=$expectedScript, actual=${input.getWitnessUtxo.publicKeyScript}): bitcoin core may be malicious") @@ -305,7 +305,7 @@ class LocalOnChainKeyManager(override val walletName: String, seed: ByteVector, // Check that we're signing a p2tr input and that the keypath is provided and correct. require(input.getTaprootDerivationPaths.size() == 1, "bip32 derivation path is missing: bitcoin core may be malicious") val (pub, keypath) = input.getTaprootDerivationPaths.asScala.toSeq.head - val priv = fr.acinq.bitcoin.DeterministicWallet.derivePrivateKey(master.priv, keypath.keyPath).getPrivateKey + val priv = master.priv.derivePrivateKey(keypath.keyPath).getPrivateKey require(priv.publicKey().xOnly() == pub, s"derived public key doesn't match (expected=$pub actual=${priv.publicKey().xOnly()}): bitcoin core may be malicious") val expectedScript = Script.write(Script.pay2tr(pub, KeyPathTweak)) require(kmp2scala(input.getWitnessUtxo.publicKeyScript) == expectedScript, s"script mismatch (expected=$expectedScript, actual=${input.getWitnessUtxo.publicKeyScript}): bitcoin core may be malicious") diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TestVectorsSpec.scala b/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TestVectorsSpec.scala index 0e5e3d9b13..5421e5a278 100644 --- a/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TestVectorsSpec.scala +++ b/eclair-core/src/test/scala/fr/acinq/eclair/transactions/TestVectorsSpec.scala @@ -584,7 +584,7 @@ class SimpleTaprootCommitmentsTestVectorSpec extends AnyFunSuite { val uncompressedPublicKey = PublicKey(serialized.takeRight(33)).toUncompressedBin val publicKeyX = uncompressedPublicKey.drop(1).take(32).reverse val publicKeyY = uncompressedPublicKey.takeRight(32).reverse - val sec = new fr.acinq.bitcoin.crypto.musig2.SecretNonce(KotlinUtils.scala2kmp(hex"220EDCF1" ++ serialized.take(64) ++ publicKeyX ++ publicKeyY)) + val sec = new fr.acinq.bitcoin.crypto.musig2.SecretNonce((hex"220EDCF1" ++ serialized.take(64) ++ publicKeyX ++ publicKeyY).toArrayUnsafe) SecretNonce(sec) } diff --git a/pom.xml b/pom.xml index 83224d9ef4..752ca2c48a 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,7 @@ 2.6.20 10.2.7 3.8.16 - 0.47 + 0.48-SNAPSHOT 32.1.1-jre 2.7.4 1.0.18