mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-01-18 13:24:25 +01:00
Resturcutre cryptoTest & coreTest to work with scalajs build (#2731)
* Get cryptoTest,coreTest projects working with scala-js Get build working, now moving onto compile Move jvm specific cryptoTest's into the .jvm sub project Rework build definition names to be more concise Fix missing cryptoTest refactor Move logback-test.xml into jvm specific resource folder so it doesn't get ignored Make coreTest a crossProject Rework ci matrix to work with new project structure Try to fix CI matrix CI fix part 2 * Apply commonSettings to all cross projects * Address part of roman's code review, make coreJS, make cryptoTest.dependOn(crypto) * WIP to share with scala-js community * Fix scalac compiler settings to be additive in CommonSettings.settings * Remove BCryptoTest
This commit is contained in:
parent
2a6da6a4ea
commit
e59057483f
@ -23,4 +23,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.12.12 downloadBitcoind coverage chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls nodeTest/test node/coverageReport node/coverageAggregate node/coveralls cryptoJVM/test cryptoTest/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTest/test core/coverageReport core/coverageAggregate core/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test
|
||||
run: sbt ++2.12.12 downloadBitcoind coverage chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls nodeTest/test node/coverageReport node/coverageAggregate node/coveralls cryptoJVM/test cryptoTestJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTestJVM/test coreJVM/coverageReport coreJVM/coverageAggregate coreJVM/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test
|
||||
|
@ -23,4 +23,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.12.12 downloadBitcoind coverage keyManagerTest/test keyManager/coverageReport keyManager/coverageAggregate keyManager/coveralls feeProviderTest/test walletTest/test wallet/coverageReport wallet/coverageAggregate wallet/coveralls dlcOracleTest/test asyncUtils/test dlcOracle/coverageReport dlcOracle/coverageAggregate dlcOracle/coveralls
|
||||
run: sbt ++2.12.12 downloadBitcoind coverage keyManagerTest/test keyManager/coverageReport keyManager/coverageAggregate keyManager/coveralls feeProviderTest/test walletTest/test wallet/coverageReport wallet/coverageAggregate wallet/coveralls dlcOracleTest/test asyncUtilsJVM/test dlcOracle/coverageReport dlcOracle/coverageAggregate dlcOracle/coveralls
|
||||
|
@ -23,4 +23,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.13.5 downloadBitcoind coverage chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls nodeTest/test node/coverageReport node/coverageAggregate node/coveralls cryptoTest/test cryptoJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTest/test core/coverageReport core/coverageAggregate core/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test
|
||||
run: sbt ++2.13.5 downloadBitcoind coverage chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls nodeTest/test node/coverageReport node/coverageAggregate node/coveralls cryptoTestJVM/test cryptoJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTestJVM/test coreJVM/coverageReport coreJVM/coverageAggregate coreJVM/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test
|
||||
|
@ -23,4 +23,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.13.5 downloadBitcoind coverage keyManagerTest/test keyManager/coverageReport keyManager/coverageAggregate keyManager/coveralls feeProviderTest/test walletTest/test wallet/coverageReport wallet/coverageAggregate wallet/coveralls dlcOracleTest/test asyncUtils/test dlcOracle/coverageReport dlcOracle/coverageAggregate dlcOracle/coveralls
|
||||
run: sbt ++2.13.5 downloadBitcoind coverage keyManagerTest/test keyManager/coverageReport keyManager/coverageAggregate keyManager/coveralls feeProviderTest/test walletTest/test wallet/coverageReport wallet/coverageAggregate wallet/coveralls dlcOracleTest/test asyncUtilsJVM/test dlcOracle/coverageReport dlcOracle/coverageAggregate dlcOracle/coveralls
|
||||
|
2
.github/workflows/Mac_2.13_RPC_Tests.yml
vendored
2
.github/workflows/Mac_2.13_RPC_Tests.yml
vendored
@ -25,4 +25,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.13.5 downloadBitcoind downloadEclair coverage cryptoTest/test coreTest/test appCommonsTest/test bitcoindRpcTest/test bitcoindRpc/coverageReport bitcoindRpc/coverageAggregate bitcoindRpc/coveralls eclairRpcTest/test eclairRpc/coverageReport eclairRpc/coverageAggregate eclairRpc/coveralls
|
||||
run: sbt ++2.13.5 downloadBitcoind downloadEclair coverage cryptoTestJVM/test coreTestJVM/test appCommonsTest/test bitcoindRpcTest/test bitcoindRpc/coverageReport bitcoindRpc/coverageAggregate bitcoindRpc/coveralls eclairRpcTest/test eclairRpc/coverageReport eclairRpc/coverageAggregate eclairRpc/coveralls
|
||||
|
@ -23,4 +23,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.13.5 downloadBitcoind coverage walletTest/test wallet/coverageReport wallet/coverageAggregate wallet/coveralls nodeTest/test node/coverageReport node/coverageAggregate node/coveralls dlcOracleTest/test asyncUtils/test dlcOracle/coverageReport dlcOracle/coveralls
|
||||
run: sbt ++2.13.5 downloadBitcoind coverage walletTest/test wallet/coverageReport wallet/coverageAggregate wallet/coveralls nodeTest/test node/coverageReport node/coverageAggregate node/coveralls dlcOracleTest/test asyncUtilsJVM/test dlcOracle/coverageReport dlcOracle/coveralls
|
2
.github/workflows/Secp_Disabled_Tests.yml
vendored
2
.github/workflows/Secp_Disabled_Tests.yml
vendored
@ -25,4 +25,4 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: run tests
|
||||
run: sbt ++2.13.5 cryptoTest/test coreTest/test
|
||||
run: sbt ++2.13.5 cryptoTestJVM/test coreTestJVM/test
|
||||
|
2
.github/workflows/Windows.yml
vendored
2
.github/workflows/Windows.yml
vendored
@ -26,5 +26,5 @@ jobs:
|
||||
~/.bitcoin-s/binaries
|
||||
key: ${{ runner.os }}-cache
|
||||
- name: Windows Crypto, Core, and Database tests
|
||||
run: sbt ++2.13.5 cryptoTest/test coreTest/test dbCommonsTest/test
|
||||
run: sbt ++2.13.5 cryptoTestJVM/test coreTestJVM/test dbCommonsTest/test
|
||||
shell: bash
|
||||
|
@ -8,8 +8,6 @@ name := "bitcoin-s-bitcoind-rpc"
|
||||
|
||||
libraryDependencies ++= Deps.bitcoindRpc
|
||||
|
||||
dependsOn(Projects.core)
|
||||
|
||||
CommonSettings.prodSettings
|
||||
|
||||
TaskKeys.downloadBitcoind := {
|
||||
|
143
build.sbt
143
build.sbt
@ -37,7 +37,7 @@ lazy val commonJsSettings = {
|
||||
scalaJSLinkerConfig ~= {
|
||||
_.withModuleKind(ModuleKind.CommonJSModule)
|
||||
},
|
||||
sbt.Keys.publish / skip := true
|
||||
skip.in(publish) := true
|
||||
) ++ CommonSettings.settings ++
|
||||
//get rid of -Xfatal-warnings for now with scalajs
|
||||
//this will just give us a bunch of warnings rather than errors
|
||||
@ -63,22 +63,54 @@ lazy val cryptoJS = crypto.js
|
||||
|
||||
lazy val cryptoJVM = crypto.jvm.dependsOn(secp256k1jni)
|
||||
|
||||
lazy val core = project
|
||||
.in(file("core"))
|
||||
lazy val core = crossProject(JVMPlatform, JSPlatform)
|
||||
.crossType(CrossType.Pure)
|
||||
.settings(name := "bitcoin-s-core")
|
||||
.settings(libraryDependencies ++= Deps.core.value)
|
||||
.dependsOn(cryptoJVM)
|
||||
.settings(CommonSettings.settings: _*)
|
||||
.jvmSettings(CommonSettings.jvmSettings: _*)
|
||||
.jsSettings(commonJsSettings: _*)
|
||||
.in(file("core"))
|
||||
.dependsOn(crypto)
|
||||
|
||||
lazy val coreJVM = core.jvm
|
||||
|
||||
lazy val coreJS = core.js
|
||||
|
||||
lazy val asyncUtils = crossProject(JVMPlatform, JSPlatform)
|
||||
.crossType(CrossType.Pure)
|
||||
.in(file("async-utils"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
.settings(name := "bitcoin-s-async-utils")
|
||||
.jvmSettings(CommonSettings.jvmSettings: _*)
|
||||
.jsSettings(commonJsSettings: _*)
|
||||
.dependsOn(core)
|
||||
|
||||
lazy val asyncUtilsJVM = asyncUtils.jvm
|
||||
|
||||
lazy val testkitCore = crossProject(JVMPlatform, JSPlatform)
|
||||
.crossType(CrossType.Pure)
|
||||
.in(file("testkit-core"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
.settings(name := "bitcoin-s-testkit-core",
|
||||
libraryDependencies ++= Deps.testkitCore.value)
|
||||
.jvmSettings(CommonSettings.jvmSettings: _*)
|
||||
.jsSettings(commonJsSettings: _*)
|
||||
.dependsOn(asyncUtils, core, crypto)
|
||||
|
||||
lazy val testkitCoreJVM = testkitCore.jvm
|
||||
|
||||
lazy val bitcoindRpc = project
|
||||
.in(file("bitcoind-rpc"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
.dependsOn(
|
||||
asyncUtils,
|
||||
asyncUtilsJVM,
|
||||
appCommons
|
||||
)
|
||||
|
||||
lazy val eclairRpc = project
|
||||
.in(file("eclair-rpc"))
|
||||
.dependsOn(asyncUtils, bitcoindRpc)
|
||||
.dependsOn(asyncUtilsJVM, bitcoindRpc)
|
||||
|
||||
val jsProjects: Vector[ProjectReference] = Vector(cryptoJS)
|
||||
|
||||
@ -87,17 +119,20 @@ val jsProjects: Vector[ProjectReference] = Vector(cryptoJS)
|
||||
lazy val `bitcoin-s` = project
|
||||
.in(file("."))
|
||||
.aggregate(
|
||||
asyncUtils,
|
||||
asyncUtilsJVM,
|
||||
secp256k1jni,
|
||||
chain,
|
||||
chainTest,
|
||||
cli,
|
||||
cliTest,
|
||||
core,
|
||||
coreTest,
|
||||
coreJVM,
|
||||
coreJS,
|
||||
coreTestJVM,
|
||||
coreTestJS,
|
||||
cryptoJVM,
|
||||
cryptoJS,
|
||||
cryptoTest,
|
||||
cryptoTestJVM,
|
||||
cryptoTestJS,
|
||||
dbCommons,
|
||||
dbCommonsTest,
|
||||
feeProvider,
|
||||
@ -121,7 +156,7 @@ lazy val `bitcoin-s` = project
|
||||
appServerTest,
|
||||
appCommons,
|
||||
appCommonsTest,
|
||||
testkitCore,
|
||||
testkitCoreJVM,
|
||||
testkit,
|
||||
zmq,
|
||||
oracleServer,
|
||||
@ -134,11 +169,14 @@ lazy val `bitcoin-s` = project
|
||||
chainTest,
|
||||
cli,
|
||||
cliTest,
|
||||
core,
|
||||
coreTest,
|
||||
coreJVM,
|
||||
coreJS,
|
||||
coreTestJVM,
|
||||
coreTestJS,
|
||||
cryptoJVM,
|
||||
cryptoJS,
|
||||
cryptoTest,
|
||||
cryptoTestJVM,
|
||||
cryptoTestJS,
|
||||
dbCommons,
|
||||
dbCommonsTest,
|
||||
feeProvider,
|
||||
@ -296,41 +334,49 @@ lazy val secp256k1jni = project
|
||||
*/
|
||||
val testAndCompile = "compile->compile;test->test"
|
||||
|
||||
lazy val cryptoTest = project
|
||||
lazy val cryptoTest = crossProject(JVMPlatform, JSPlatform)
|
||||
.crossType(CrossType.Pure)
|
||||
.in(file("crypto-test"))
|
||||
.settings(CommonSettings.testSettings: _*)
|
||||
.jvmSettings(CommonSettings.jvmSettings: _*)
|
||||
.jsSettings(commonJsSettings: _*)
|
||||
.settings(
|
||||
name := "bitcoin-s-crypto-test",
|
||||
libraryDependencies ++= Deps.cryptoTest.value
|
||||
)
|
||||
.dependsOn(
|
||||
cryptoJVM % testAndCompile,
|
||||
crypto,
|
||||
testkitCore
|
||||
)
|
||||
|
||||
lazy val coreTest = project
|
||||
lazy val cryptoTestJVM = cryptoTest.jvm
|
||||
|
||||
lazy val cryptoTestJS = cryptoTest.js
|
||||
|
||||
lazy val coreTest = crossProject(JVMPlatform, JSPlatform)
|
||||
.crossType(CrossType.Pure)
|
||||
.in(file("core-test"))
|
||||
.settings(CommonSettings.testSettings: _*)
|
||||
.settings(
|
||||
name := "bitcoin-s-core-test",
|
||||
libraryDependencies ++= Deps.coreTest.value
|
||||
)
|
||||
.jvmSettings(CommonSettings.jvmSettings: _*)
|
||||
.jsSettings(commonJsSettings: _*)
|
||||
.dependsOn(
|
||||
core % testAndCompile,
|
||||
core,
|
||||
testkitCore
|
||||
)
|
||||
|
||||
lazy val asyncUtils = project
|
||||
.in(file("async-utils"))
|
||||
.settings(CommonSettings.prodSettings)
|
||||
.settings(name := "bitcoin-s-async-utils")
|
||||
.dependsOn(core)
|
||||
lazy val coreTestJVM = coreTest.jvm
|
||||
|
||||
lazy val coreTestJS = coreTest.js
|
||||
|
||||
lazy val appCommons = project
|
||||
.in(file("app-commons"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
.dependsOn(
|
||||
core % testAndCompile
|
||||
coreJVM % testAndCompile
|
||||
)
|
||||
|
||||
lazy val appCommonsTest = project
|
||||
@ -429,7 +475,7 @@ lazy val chain = project
|
||||
name := "bitcoin-s-chain",
|
||||
libraryDependencies ++= Deps.chain
|
||||
)
|
||||
.dependsOn(core, dbCommons)
|
||||
.dependsOn(coreJVM, dbCommons)
|
||||
.enablePlugins(FlywayPlugin)
|
||||
|
||||
lazy val chainTest = project
|
||||
@ -440,7 +486,7 @@ lazy val chainTest = project
|
||||
name := "bitcoin-s-chain-test",
|
||||
libraryDependencies ++= Deps.chainTest
|
||||
)
|
||||
.dependsOn(chain, core % testAndCompile, testkit, zmq)
|
||||
.dependsOn(chain, coreJVM % testAndCompile, testkit, zmq)
|
||||
.enablePlugins(FlywayPlugin)
|
||||
|
||||
lazy val dbCommons = project
|
||||
@ -450,7 +496,7 @@ lazy val dbCommons = project
|
||||
name := "bitcoin-s-db-commons",
|
||||
libraryDependencies ++= Deps.dbCommons.value
|
||||
)
|
||||
.dependsOn(core, appCommons)
|
||||
.dependsOn(coreJVM, appCommons)
|
||||
|
||||
lazy val dbCommonsTest = project
|
||||
.in(file("db-commons-test"))
|
||||
@ -467,7 +513,7 @@ lazy val feeProvider = project
|
||||
name := "bitcoin-s-fee-provider",
|
||||
libraryDependencies ++= Deps.feeProvider.value
|
||||
)
|
||||
.dependsOn(core, appCommons)
|
||||
.dependsOn(coreJVM, appCommons)
|
||||
|
||||
lazy val feeProviderTest = project
|
||||
.in(file("fee-provider-test"))
|
||||
@ -476,7 +522,7 @@ lazy val feeProviderTest = project
|
||||
name := "bitcoin-s-fee-provider-test",
|
||||
libraryDependencies ++= Deps.feeProviderTest.value
|
||||
)
|
||||
.dependsOn(core, core % testAndCompile, testkit)
|
||||
.dependsOn(coreJVM % testAndCompile, testkit)
|
||||
|
||||
lazy val zmq = project
|
||||
.in(file("zmq"))
|
||||
@ -484,7 +530,7 @@ lazy val zmq = project
|
||||
.settings(name := "bitcoin-s-zmq",
|
||||
libraryDependencies ++= Deps.bitcoindZmq.value)
|
||||
.dependsOn(
|
||||
core % testAndCompile
|
||||
coreJVM % testAndCompile
|
||||
)
|
||||
|
||||
lazy val bitcoindRpcTest = project
|
||||
@ -492,7 +538,7 @@ lazy val bitcoindRpcTest = project
|
||||
.settings(CommonSettings.testSettings: _*)
|
||||
.settings(name := "bitcoin-s-bitcoind-rpc-test",
|
||||
libraryDependencies ++= Deps.bitcoindRpcTest.value)
|
||||
.dependsOn(core % testAndCompile, testkit)
|
||||
.dependsOn(coreJVM % testAndCompile, testkit)
|
||||
|
||||
lazy val bench = project
|
||||
.in(file("bench"))
|
||||
@ -502,7 +548,7 @@ lazy val bench = project
|
||||
name := "bitcoin-s-bench",
|
||||
skip in publish := true
|
||||
)
|
||||
.dependsOn(core % testAndCompile, testkit)
|
||||
.dependsOn(coreJVM % testAndCompile, testkit)
|
||||
|
||||
lazy val eclairRpcTest = project
|
||||
.in(file("eclair-rpc-test"))
|
||||
@ -511,7 +557,7 @@ lazy val eclairRpcTest = project
|
||||
libraryDependencies ++= Deps.eclairRpcTest.value,
|
||||
name := "bitcoin-s-eclair-rpc-test"
|
||||
)
|
||||
.dependsOn(core % testAndCompile, testkit)
|
||||
.dependsOn(coreJVM % testAndCompile, testkit)
|
||||
|
||||
lazy val nodeDbSettings = dbFlywaySettings("nodedb")
|
||||
|
||||
@ -525,8 +571,8 @@ lazy val node =
|
||||
libraryDependencies ++= Deps.node
|
||||
)
|
||||
.dependsOn(
|
||||
asyncUtils,
|
||||
core,
|
||||
asyncUtilsJVM,
|
||||
coreJVM,
|
||||
chain,
|
||||
dbCommons,
|
||||
bitcoindRpc
|
||||
@ -550,19 +596,12 @@ lazy val nodeTest =
|
||||
libraryDependencies ++= Deps.nodeTest.value
|
||||
)
|
||||
.dependsOn(
|
||||
core % testAndCompile,
|
||||
coreJVM % testAndCompile,
|
||||
node,
|
||||
testkit
|
||||
)
|
||||
.enablePlugins(FlywayPlugin)
|
||||
|
||||
lazy val testkitCore = project
|
||||
.in(file("testkit-core"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
.settings(name := "bitcoin-s-testkit-core",
|
||||
libraryDependencies ++= Deps.testkitCore.value)
|
||||
.dependsOn(asyncUtils, core % testAndCompile, cryptoJVM)
|
||||
|
||||
lazy val testkit = project
|
||||
.in(file("testkit"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
@ -571,8 +610,8 @@ lazy val testkit = project
|
||||
libraryDependencies ++= Deps.testkit.value
|
||||
)
|
||||
.dependsOn(
|
||||
asyncUtils,
|
||||
core % testAndCompile,
|
||||
asyncUtilsJVM,
|
||||
coreJVM % testAndCompile,
|
||||
appServer,
|
||||
chain,
|
||||
bitcoindRpc,
|
||||
@ -581,7 +620,7 @@ lazy val testkit = project
|
||||
wallet,
|
||||
zmq,
|
||||
dlcOracle,
|
||||
testkitCore
|
||||
testkitCoreJVM
|
||||
)
|
||||
|
||||
lazy val docs = project
|
||||
@ -592,7 +631,7 @@ lazy val docs = project
|
||||
bitcoindRpc,
|
||||
chain,
|
||||
cli,
|
||||
core,
|
||||
coreJVM,
|
||||
eclairRpc,
|
||||
keyManager,
|
||||
secp256k1jni,
|
||||
@ -604,7 +643,7 @@ lazy val docs = project
|
||||
lazy val keyManager = project
|
||||
.in(file("key-manager"))
|
||||
.settings(CommonSettings.prodSettings: _*)
|
||||
.dependsOn(core, dbCommons)
|
||||
.dependsOn(coreJVM, dbCommons)
|
||||
|
||||
lazy val keyManagerTest = project
|
||||
.in(file("key-manager-test"))
|
||||
@ -623,7 +662,7 @@ lazy val wallet = project
|
||||
name := "bitcoin-s-wallet",
|
||||
libraryDependencies ++= Deps.wallet(scalaVersion.value)
|
||||
)
|
||||
.dependsOn(core, appCommons, dbCommons, keyManager)
|
||||
.dependsOn(coreJVM, appCommons, dbCommons, keyManager)
|
||||
.enablePlugins(FlywayPlugin)
|
||||
|
||||
lazy val walletTest = project
|
||||
@ -634,7 +673,7 @@ lazy val walletTest = project
|
||||
name := "bitcoin-s-wallet-test",
|
||||
libraryDependencies ++= Deps.walletTest
|
||||
)
|
||||
.dependsOn(core % testAndCompile, testkit, wallet)
|
||||
.dependsOn(coreJVM % testAndCompile, testkit, wallet)
|
||||
.enablePlugins(FlywayPlugin)
|
||||
|
||||
lazy val dlcOracle = project
|
||||
@ -644,7 +683,7 @@ lazy val dlcOracle = project
|
||||
name := "bitcoin-s-dlc-oracle",
|
||||
libraryDependencies ++= Deps.dlcOracle
|
||||
)
|
||||
.dependsOn(core, keyManager, dbCommons)
|
||||
.dependsOn(coreJVM, keyManager, dbCommons)
|
||||
|
||||
lazy val dlcOracleTest = project
|
||||
.in(file("dlc-oracle-test"))
|
||||
@ -653,7 +692,7 @@ lazy val dlcOracleTest = project
|
||||
name := "bitcoin-s-dlc-oracle-test",
|
||||
libraryDependencies ++= Deps.dlcOracleTest
|
||||
)
|
||||
.dependsOn(core % testAndCompile, dlcOracle, testkit)
|
||||
.dependsOn(coreJVM % testAndCompile, dlcOracle, testkit)
|
||||
|
||||
/** Given a database name, returns the appropriate
|
||||
* Flyway settings we apply to a project (chain, node, wallet)
|
||||
|
@ -1,3 +1,5 @@
|
||||
name := "bitcoin-s-core"
|
||||
//name := "bitcoin-s-core"
|
||||
|
||||
CommonSettings.prodSettings
|
||||
//libraryDependencies ++= Deps.core
|
||||
|
||||
//CommonSettings.prodSettings
|
||||
|
@ -7,7 +7,7 @@ import scodec.bits.ByteVector
|
||||
import scala.util.{Failure, Success, Try}
|
||||
|
||||
/** Tests from https://github.com/sipa/bips/blob/bip-taproot/bip-0340/test-vectors.csv */
|
||||
class BIP340Test extends BitcoinSUnitTest {
|
||||
class BouncyCastleBIP340Test extends BitcoinSUnitTest {
|
||||
behavior of "Schnorr Signing"
|
||||
|
||||
def testSign(
|
@ -0,0 +1,19 @@
|
||||
package org.bitcoins.crypto
|
||||
|
||||
import org.bitcoins.testkitcore.gen.CryptoGenerators
|
||||
import org.bitcoins.testkitcore.util.BitcoinSUnitTest
|
||||
|
||||
class BouncyCastleECDigitalSignatureTest extends BitcoinSUnitTest {
|
||||
|
||||
behavior of "BouncyCastleECDigitalSignatureTest"
|
||||
|
||||
it must "be able to generate valid signatures with bouncy castle" in {
|
||||
forAll(CryptoGenerators.privateKey, CryptoGenerators.sha256Digest) {
|
||||
case (privKey: ECPrivateKey, hash: Sha256Digest) =>
|
||||
val sig = BouncycastleCryptoRuntime.sign(privKey, hash.bytes)
|
||||
val pubKey = privKey.publicKey
|
||||
|
||||
assert(pubKey.verify(hash, sig))
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package org.bitcoins.crypto
|
||||
|
||||
import org.bitcoins.testkitcore.gen.CryptoGenerators
|
||||
import org.bitcoins.testkitcore.util.BitcoinSUnitTest
|
||||
|
||||
/** Public key tests specific to the JVM */
|
||||
class JvmECPublicKeyTest extends BitcoinSUnitTest {
|
||||
|
||||
behavior of "JVMECPublicKeytest"
|
||||
|
||||
it must "have serialization symmetry from ECPublicKey -> ECPoint -> ECPublicKey" in {
|
||||
CryptoContext.cryptoRuntime match {
|
||||
case _: BouncycastleCryptoRuntime | _: LibSecp256k1CryptoRuntime =>
|
||||
forAll(CryptoGenerators.publicKey) { pubKey =>
|
||||
val p = BouncyCastleUtil.decodePoint(pubKey)
|
||||
val pub2 = BouncyCastleUtil.decodePubKey(p, pubKey.isCompressed)
|
||||
assert(pubKey == pub2)
|
||||
}
|
||||
case _ => succeed
|
||||
}
|
||||
}
|
||||
}
|
@ -94,14 +94,4 @@ class ECDigitalSignatureTest extends BitcoinSUnitTest {
|
||||
}
|
||||
}
|
||||
|
||||
it must "be able to generate valid signatures with bouncy castle" in {
|
||||
forAll(CryptoGenerators.privateKey, CryptoGenerators.sha256Digest) {
|
||||
case (privKey: ECPrivateKey, hash: Sha256Digest) =>
|
||||
val sig = BouncycastleCryptoRuntime.sign(privKey, hash.bytes)
|
||||
val pubKey = privKey.publicKey
|
||||
|
||||
assert(pubKey.verify(hash, sig))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -30,18 +30,6 @@ class ECPublicKeyTest extends BitcoinSUnitTest {
|
||||
assert(ECPublicKey() != ECPublicKey())
|
||||
}
|
||||
|
||||
it must "have serialization symmetry from ECPublicKey -> ECPoint -> ECPublicKey" in {
|
||||
CryptoContext.cryptoRuntime match {
|
||||
case _: BouncycastleCryptoRuntime | _: LibSecp256k1CryptoRuntime =>
|
||||
forAll(CryptoGenerators.publicKey) { pubKey =>
|
||||
val p = BouncyCastleUtil.decodePoint(pubKey)
|
||||
val pub2 = BouncyCastleUtil.decodePubKey(p, pubKey.isCompressed)
|
||||
assert(pubKey == pub2)
|
||||
}
|
||||
case _ => succeed
|
||||
}
|
||||
}
|
||||
|
||||
it must "decompress keys correctly" in {
|
||||
forAll(CryptoGenerators.privateKey) { privKey =>
|
||||
val pubKey = privKey.publicKey
|
||||
|
@ -38,8 +38,10 @@ object CommonSettings {
|
||||
url("https://twitter.com/Chris_Stewart_5")
|
||||
)
|
||||
),
|
||||
scalacOptions in Compile := compilerOpts(scalaVersion = scalaVersion.value),
|
||||
Test / scalacOptions := testCompilerOpts(scalaVersion = scalaVersion.value),
|
||||
scalacOptions in Compile ++= compilerOpts(scalaVersion =
|
||||
scalaVersion.value),
|
||||
Test / scalacOptions ++= testCompilerOpts(scalaVersion =
|
||||
scalaVersion.value),
|
||||
//remove annoying import unused things in the scala console
|
||||
//https://stackoverflow.com/questions/26940253/in-sbt-how-do-you-override-scalacoptions-for-console-in-all-configurations
|
||||
scalacOptions in (Compile, console) ~= (_ filterNot (s =>
|
||||
@ -51,8 +53,8 @@ object CommonSettings {
|
||||
//we don't want -Xfatal-warnings for publishing with publish/publishLocal either
|
||||
scalacOptions in (Compile, doc) ~= (_ filterNot (s =>
|
||||
s == "-Xfatal-warnings")),
|
||||
scalacOptions in (Test, console) := (scalacOptions in (Compile, console)).value,
|
||||
scalacOptions in Test := testCompilerOpts(scalaVersion.value),
|
||||
scalacOptions in (Test, console) ++= (scalacOptions in (Compile, console)).value,
|
||||
scalacOptions in Test ++= testCompilerOpts(scalaVersion.value),
|
||||
licenses += ("MIT", url("http://opensource.org/licenses/MIT"))
|
||||
)
|
||||
|
||||
@ -148,7 +150,7 @@ object CommonSettings {
|
||||
//show full stack trace (-oF) of failed tests and duration of tests (-oD)
|
||||
testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oDF"),
|
||||
logBuffered in Test := false,
|
||||
publish / skip := true
|
||||
skip.in(publish) := true
|
||||
) ++ settings
|
||||
|
||||
lazy val prodSettings: Seq[Setting[_]] = settings
|
||||
|
@ -34,6 +34,7 @@ object Deps {
|
||||
val akkaActorV = akkaStreamv
|
||||
val slickV = "3.3.3"
|
||||
val sqliteV = "3.34.0"
|
||||
|
||||
val scalameterV = "0.17"
|
||||
val scalamockV = "5.1.0"
|
||||
val scalaCollectionCompatV = "2.4.2"
|
||||
|
Loading…
Reference in New Issue
Block a user