Skip to content

Commit

Permalink
Upgrade to 1.8.0 prov release
Browse files Browse the repository at this point in the history
* Brought in the new proto jar, which replaces the in-service proto building
* Dependency cleanup
* Added attributes, UUID to NFT API
* Fully supporting msg based fee breakdown
* Updated Params API to include MsgFee params
* Updates to event scraping, tied to increased Smart Contract usage
* Added Msg-Based Fee API
* Added procedure to update tx fees from a specific height
* Rewrote mirgrations 1.49, 1.50
* Updated gas stat models to reflect proper terms

closes: #299
  • Loading branch information
Carolyn Russell committed Mar 4, 2022
1 parent f84fa24 commit 4a96a65
Show file tree
Hide file tree
Showing 190 changed files with 1,214 additions and 16,279 deletions.
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,31 @@ Ref: https://keepachangelog.com/en/1.0.0/

## Unreleased

### Features
* Added attributes, UUID to NFT API #299
* Fully supporting msg based fee breakdown #299
* Updated Params API to include MsgFee params #299
* Added Msg-Based Fee API #299

### Improvements
* Now using provenance-io produced proto jar #199
* Dependency cleanup
* Updates to event scraping #299
* tied to increased Smart Contract usage

### Data
* Rewrote Migrations 1.49, 1.50 to make more sense #299
* Added procedure `update_market_rate()` to update market rate independently
* Added procedure `update_market_rate_stats()` to update market rate stats tables independently
* Removed fee updates via migration for now
* Migration 1.52 - 1.8.0 updates #299
* Added `msg_type` to `tx_fee` table
* Updated `add_tx()` procedure
* Updated `tx_fee_unique_idx`
* Added `update_tx_fees()` procedure to update tx fees at a specific block height
* Did it this way so the migration is not dependent on a specific block height, and so future updates would only need
to update the procedure with additional msg types/events for msg-based fees

## [v3.4.1](https://github.com/provenance-io/explorer-service/releases/tag/v3.4.1) - 2022-02-28
### Release Name: Vandino and Ugolino Vivaldi

Expand Down
41 changes: 2 additions & 39 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@ plugins {
java
id(PluginIds.Idea)
id(PluginIds.TaskTree) version PluginVersions.TaskTree
id(PluginIds.TestLogger) version PluginVersions.TestLogger apply false
id(PluginIds.DependencyAnalysis) version PluginVersions.DependencyAnalysis
id(PluginIds.Protobuf) version PluginVersions.Protobuf
id(PluginIds.ProvenanceDownloadProtos)
}

allprojects {
Expand All @@ -31,8 +28,6 @@ subprojects {
apply {
plugin(PluginIds.Kotlin)
plugin(PluginIds.Idea)
plugin(PluginIds.TestLogger)
plugin(PluginIds.Protobuf)
}

repositories {
Expand All @@ -58,43 +53,11 @@ subprojects {
}
}

plugins.withType<com.adarshr.gradle.testlogger.TestLoggerPlugin> {
configure<com.adarshr.gradle.testlogger.TestLoggerExtension> {
theme = com.adarshr.gradle.testlogger.theme.ThemeType.STANDARD
showCauses = true
slowThreshold = 1000
showSummary = true
}
}

tasks.withType<Test> {
useJUnitPlatform {
excludeTags("intTest")
includeTags("junit-jupiter", "junit-vintage")
}

failFast = true
}

dependencies {
implementation(Libraries.KotlinReflect)
implementation(Libraries.KotlinStdlib)

testImplementation(Libraries.SpringBootStarterTest) {
exclude(module = "junit")
exclude(module = "mockito-core")
exclude(module = "assertj-core")
}
testImplementation(Libraries.JunitJupiterApi)
testRuntimeOnly(Libraries.JunitJupiterEngine)
testImplementation(Libraries.SpringMockk)
testImplementation(Libraries.KotestAssert)
}

configurations.all {
resolutionStrategy.eachDependency {
if (requested.group == "org.apache.logging.log4j") {
if (requested.group == "org.apache.logging.log4j" && (requested.version == "2.14.1") || (requested.version == "2.15.0")) {
useVersion("2.15.0")
because("CVE-2021-44228")
}
}
}
Expand Down
15 changes: 0 additions & 15 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,3 @@ plugins {
repositories {
mavenCentral()
}

dependencies {
api("org.apache.commons:commons-compress:1.20")
api("commons-io:commons-io:2.6")
api("org.apache.httpcomponents:httpclient:4.5.12")
}

gradlePlugin {
plugins {
create("downloadProtos") {
id = "io.provenance.download-protos"
implementationClass = "io.provenance.DownloadProtosPlugin"
}
}
}
44 changes: 6 additions & 38 deletions buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,14 @@ object PluginIds { // please keep this sorted in sections

const val SpringDependency = "io.spring.dependency-management"
const val SpringBoot = "org.springframework.boot"
const val Protobuf = "com.google.protobuf"
const val Grpc = "grpc"
const val GrpcKt = "grpckt"

// Provenance
const val ProvenanceDownloadProtos = "io.provenance.download-protos"
}

object PluginVersions { // please keep this sorted in sections
// Kotlin
const val Kotlin = "1.5.30"
const val Kotlin = "1.5.31"

// 3rd Party
const val Flyway = "7.15.0"
Expand All @@ -34,8 +31,7 @@ object PluginVersions { // please keep this sorted in sections
const val GoryLenkoGitProps = "1.5.2"

const val SpringDependency = "1.0.11.RELEASE"
const val SpringBoot = "2.4.3"
const val Protobuf = "0.8.17"
const val SpringBoot = "2.5.6"
}

object Versions {
Expand All @@ -49,29 +45,21 @@ object Versions {
const val BouncyCastle = "1.69"
const val Exposed = "0.34.1"
const val Flyway = PluginVersions.Flyway
const val Jackson = "2.11.2"
const val Jackson = "2.12.5"
const val JacksonProtobuf = "0.9.12"
const val Json = "20211205"
const val KaseChange = "1.3.0"
const val Ktor = "1.6.7"
const val Logback = "0.1.5"
const val SpringBoot = PluginVersions.SpringBoot
const val Swagger = "3.0.0"
const val Protobuf = "3.19.1"
const val Grpc = "1.40.1"
const val KotlinGrpc = "1.2.0"
const val ProvProto = "v1.8.0-rc6"
const val Postgres = "42.2.23"

// Testing
const val Jupiter = "5.7.1"
const val SpringMockk = "3.0.1"
const val Kotest = "4.4.3"

// external protos
const val Provenance = "v1.7.5"
const val Cosmos = "v0.44.3"
const val Wasmd = "v0.19.0"
const val Ibc = "v1.1.0"
}

object Libraries {
Expand All @@ -89,6 +77,7 @@ object Libraries {
const val FlywayCore = "org.flywaydb:flyway-core:${Versions.Flyway}"
const val JacksonModuleKotlin = "com.fasterxml.jackson.module:jackson-module-kotlin:${Versions.Jackson}"
const val JacksonDatatype = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${Versions.Jackson}"
const val JacksonJoda = "com.fasterxml.jackson.datatype:jackson-datatype-joda:${Versions.Jackson}"
const val JacksonProtobuf = "com.hubspot.jackson:jackson-datatype-protobuf:${Versions.JacksonProtobuf}"
const val Postgres = "org.postgresql:postgresql:${Versions.Postgres}"
const val BouncyCastle = "org.bouncycastle:bcprov-jdk15on:${Versions.BouncyCastle}"
Expand All @@ -100,21 +89,9 @@ object Libraries {
const val KaseChange = "net.pearx.kasechange:kasechange:${Versions.KaseChange}"
const val Json = "org.json:json:${Versions.Json}"

// Logging
const val LogbackCore = "ch.qos.logback.contrib:logback-json-core:${Versions.Logback}"
const val LogbackClassic = "ch.qos.logback.contrib:logback-json-classic:${Versions.Logback}"
const val LogbackJackson = "ch.qos.logback.contrib:logback-jackson:${Versions.Logback}"

// Protobuf
const val ProtobufJavaUtil = "com.google.protobuf:protobuf-java-util:${Versions.Protobuf}"
const val ProtobufKotlin = "com.google.protobuf:protobuf-kotlin:${Versions.Protobuf}"
const val GrpcProtobuf = "io.grpc:grpc-protobuf:${Versions.Grpc}"
const val GrpcStub = "io.grpc:grpc-stub:${Versions.Grpc}"
const val GrpcKotlinStub = "io.grpc:grpc-kotlin-stub:${Versions.KotlinGrpc}"
const val ProtocArtifact = "com.google.protobuf:protoc:${Versions.Protobuf}"
const val GrpcArtifact = "io.grpc:protoc-gen-grpc-java:${Versions.Grpc}"
const val GrpcKotlinArtifact = "io.grpc:protoc-gen-grpc-kotlin:${Versions.KotlinGrpc}:jdk7@jar"
const val GrpcNetty = "io.grpc:grpc-netty:${Versions.Grpc}"
const val ProvenanceProto = "io.provenance:proto-kotlin:${Versions.ProvProto}"

// Spring
const val SpringBootDevTools = "org.springframework.boot:spring-boot-devtools:${Versions.SpringBoot}"
Expand All @@ -133,12 +110,3 @@ object Libraries {
const val SpringMockk = "com.ninja-squad:springmockk:${Versions.SpringMockk}"
const val KotestAssert = "io.kotest:kotest-assertions-core:${Versions.Kotest}"
}

// gradle configurations
const val kapt = "kapt"
const val api = "api"
const val implementation = "implementation"
const val testCompileOnly = "testCompileOnly"
const val testImplementation = "testImplementation"
const val testRuntimeOnly = "testRuntimeOnly"
const val developmentOnly = "developmentOnly"
15 changes: 15 additions & 0 deletions buildSrc/src/main/kotlin/Platform.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
object Platform {
object OS {
val name: String
get() = System.getProperty("os.name")
val arch: String
get() = System.getProperty("os.arch")
val isAppleSilicon: Boolean
get() = name == "Mac OS X" && arch == "aarch64"
}

val availableProcessors: Int
get() = Runtime().availableProcessors()
}

fun Runtime(): Runtime = Runtime.getRuntime()
28 changes: 0 additions & 28 deletions buildSrc/src/main/kotlin/io/provenance/DownloadProtosPlugin.kt

This file was deleted.

Loading

0 comments on commit 4a96a65

Please sign in to comment.