plugins {
  id 'net.consensys.zkevm.kotlin-library-minimal-conventions'
  id 'java-library'
}

def besuVersion="${libs.versions.besu.get()}"

dependencies {
  api("${besuArtifactGroup}:besu-datatypes:${besuVersion}") {
    transitive = false
  }
  api("${besuArtifactGroup}:besu-evm:${besuVersion}") {
    transitive = false
  }
  api("${besuArtifactGroup}.internal:besu-ethereum-core:${besuVersion}") {
    transitive = false
  }
  api("${besuArtifactGroup}.internal:besu-crypto-algorithms:${besuVersion}") {
    transitive = false
  }

  api("${besuArtifactGroup}:besu-plugin-api:${besuVersion}") {
    transitive = false
  }

  api("${besuArtifactGroup}.internal:besu-ethereum-rlp:${besuVersion}") {
    transitive = false
  }

  api("io.consensys.tuweni:tuweni-bytes:${libs.versions.tuweni.get()}") {
    transitive = false
  }

  api("io.consensys.tuweni:tuweni-units:${libs.versions.tuweni.get()}") {
    transitive = false
  }

  implementation("org.bouncycastle:bcpkix-jdk18on:${libs.versions.bouncycastle.get()}") {
    because "necessary for besu Transaction object that verifies signatures"
  }
  implementation("org.bouncycastle:bcprov-jdk18on:${libs.versions.bouncycastle.get()}") {
    because "necessary for besu Transaction object that verifies signatures"
  }
}
