Skip to content

Commit

Permalink
Merge branch 'main' into field-void-address-test
Browse files Browse the repository at this point in the history
  • Loading branch information
franklywatson committed Jan 30, 2024
2 parents d9a0f36 + b591dcc commit 8375e50
Show file tree
Hide file tree
Showing 39 changed files with 592 additions and 159 deletions.
20 changes: 19 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,25 @@ max_line_length=off
insert_final_newline = true

# be sure to update build.gradle.kts in the root as well,
disabled_rules=no-wildcard-imports,filename,import-ordering,chain-wrapping
ktlint_standard_no-wildcard-imports = disabled
ktlint_standard_filename = disabled
ktlint_standard_import-ordering = disabled
ktlint_standard_chain-wrapping = disabled
ktlint_standard_trailing-comma-on-declaration-site = disabled
ktlint_standard_blank-line-before-declaration = disabled
ktlint_standard_trailing-comma-on-call-site = disabled
ktlint_standard_function-signature = disabled
ktlint_standard_statement-wrapping = disabled
ktlint_standard_multiline-expression-wrapping= disabled
ktlint_standard_string-template-indent= disabled
ktlint_standard_enum-entry-name-case = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_spacing-between-declarations-with-annotations = disabled
ktlint_standard_if-else-wrapping = disabled
ktlint_standard_argument-list-wrapping = disabled
ktlint_standard_value-argument-comment = disabled
ktlint_standard_modifier-list-spacing = disabled
ktlint_standard_annotation-spacing = disabled

# Defines the imports layout. The layout can be composed by the following symbols:
# "*" - wildcard. There must be at least one entry of a single wildcard to match all other imports. Matches anything after a specified symbol/import as well.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: '9'
java-version: '21'
java-package: jdk

- name: Install flow emulator
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-publish-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: '9'
java-version: '21'
java-package: jdk

- name: Install flow emulator
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: '9'
java-version: '21'
java-package: jdk

- name: Install flow emulator
Expand Down
88 changes: 37 additions & 51 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// configuration variables
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

val javaTargetVersion = "1.8"
// configuration variables
val defaultGroupId = "com.nftco"
val defaultVersion = "0.7.4-SNAPSHOT"

Expand All @@ -20,46 +20,65 @@ version = when {
}

plugins {
id("org.jetbrains.dokka") version "1.6.10"
kotlin("jvm") version "1.7.10"
id("org.jetbrains.dokka") version "1.9.10"
kotlin("jvm") version "1.9.22"
idea
jacoco
signing
`java-library`
`java-test-fixtures`
`maven-publish`
id("io.github.gradle-nexus.publish-plugin") version "1.0.0"
id("org.jmailen.kotlinter") version "3.4.0"
id("io.github.gradle-nexus.publish-plugin") version "2.0.0-rc-1"
id("org.jmailen.kotlinter") version "4.2.0"
id("kotlinx-serialization") version "1.8.0"
}

repositories {
gradlePluginPortal()
mavenCentral()
maven { url = uri("https://jitpack.io") }
maven { url = uri("https://kotlin.bintray.com/kotlinx") }
}

dependencies {
api("org.jetbrains.kotlin:kotlin-reflect:1.5.10")
dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.6.0")
api("org.jetbrains.kotlin:kotlin-reflect:1.9.22")
dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.9.10")

api("org.onflow:flow:0.21")

api("com.github.TrustedDataFramework:java-rlp:1.1.20")

api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1")

api("org.bouncycastle:bcpkix-jdk15on:1.69")
api("org.bouncycastle:bcpkix-jdk18on:1.76")

api(platform("com.fasterxml.jackson:jackson-bom:2.12.2"))
api(platform("com.fasterxml.jackson:jackson-bom:2.16.1"))
api("com.fasterxml.jackson.core:jackson-core")
api("com.fasterxml.jackson.module:jackson-module-kotlin")

testApi("org.junit.jupiter:junit-jupiter:5.8.2")
testApi("org.assertj:assertj-core:3.21.0")
testApi("org.junit.jupiter:junit-jupiter:5.10.1")
testApi("org.assertj:assertj-core:3.25.1")

testFixturesImplementation("org.junit.jupiter:junit-jupiter:5.10.1")
}

tasks.withType<KotlinCompile> {
kotlinOptions.apply {
jvmTarget = JavaVersion.VERSION_20.toString()
freeCompilerArgs = listOf("-Xjsr305=strict", "-opt-in=kotlin.RequiresOptIn")
}
}

tasks.named<KotlinCompile>("compileTestKotlin") {
kotlinOptions.apply {
jvmTarget = JavaVersion.VERSION_20.toString()
freeCompilerArgs = listOf("-Xjvm-default=all", "-opt-in=com.squareup.kotlinpoet.metadata.KotlinPoetMetadataPreview")
allWarningsAsErrors = false
}
}

testFixturesImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
java {
sourceCompatibility = JavaVersion.VERSION_20
targetCompatibility = JavaVersion.VERSION_20
}

tasks {
Expand All @@ -75,54 +94,21 @@ tasks {
finalizedBy("jacocoTestReport")
}

compileKotlin {

kotlinOptions {
jvmTarget = javaTargetVersion
apiVersion = "1.5"
languageVersion = "1.5"
freeCompilerArgs = listOf("-Xjsr305=strict", "-Xopt-in=kotlin.RequiresOptIn")
}
}

compileTestKotlin {

kotlinOptions {
jvmTarget = javaTargetVersion
}
}

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

jacocoTestReport {
dependsOn(test)
reports {
html.isEnabled = true
xml.isEnabled = true
csv.isEnabled = false
html.required = true
xml.required = true
csv.required = false
}
}

jacoco {
toolVersion = "0.8.7"
toolVersion = "0.8.11"
}

kotlinter {
ignoreFailures = false
indentSize = 4
reporters = arrayOf("checkstyle", "plain", "html")
experimentalRules = false

// be sure to update .editorconfig in the root as well
disabledRules = arrayOf(
"filename",
"no-wildcard-imports",
"import-ordering",
"chain-wrapping"
)
}

val documentationJar by creating(Jar::class) {
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 2 additions & 3 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#Mon Oct 07 19:30:35 PDT 2019
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
31 changes: 14 additions & 17 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar


# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
Expand Down Expand Up @@ -129,6 +130,7 @@ fi
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`

JAVACMD=`cygpath --unix "$JAVACMD"`

# We build the pattern for arguments to be converted via cygpath
Expand All @@ -154,19 +156,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
i=`expr $i + 1`
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

Expand All @@ -175,14 +177,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
APP_ARGS=`save "$@"`

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi

exec "$JAVACMD" "$@"
25 changes: 7 additions & 18 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

Expand All @@ -37,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if "%ERRORLEVEL%" == "0" goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Expand All @@ -51,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
Expand All @@ -61,28 +64,14 @@ echo location of your Java installation.

goto fail

:init
@rem Get command-line arguments, handling Windows variants

if not "%OS%" == "Windows_NT" goto win9xME_args

:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2

:win9xME_args_slurp
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*

:end
@rem End local scope for the variables with windows NT shell
Expand Down
1 change: 0 additions & 1 deletion src/main/kotlin/com/nftco/flow/sdk/AddressRegistry.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ package com.nftco.flow.sdk
* token replacement on them with the appropriate addresses.
*/
class AddressRegistry {

companion object {
const val FUNGIBLE_TOKEN = "0xFUNGIBLETOKEN"
const val FLOW_TOKEN = "0xFLOWTOKEN"
Expand Down
1 change: 0 additions & 1 deletion src/main/kotlin/com/nftco/flow/sdk/AsyncFlowAccessApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import com.google.protobuf.ByteString
import java.util.concurrent.CompletableFuture

interface AsyncFlowAccessApi {

fun ping(): CompletableFuture<Unit>

fun getLatestBlockHeader(sealed: Boolean = true): CompletableFuture<FlowBlockHeader>
Expand Down
1 change: 0 additions & 1 deletion src/main/kotlin/com/nftco/flow/sdk/Flow.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import com.nftco.flow.sdk.impl.FlowAccessApiImpl
import kotlin.reflect.KClass

object Flow {

const val DEFAULT_USER_AGENT = "Flow JVM SDK"

const val DEFAULT_MAX_MESSAGE_SIZE = 16777216
Expand Down
1 change: 0 additions & 1 deletion src/main/kotlin/com/nftco/flow/sdk/FlowAccessApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.nftco.flow.sdk
import com.google.protobuf.ByteString

interface FlowAccessApi {

fun ping()

fun getLatestBlockHeader(sealed: Boolean = true): FlowBlockHeader
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ annotation class JsonCadenceConversion(
data class CadenceNamespace(
val parts: List<String> = emptyList()
) {

companion object {
@JvmStatic
fun ns(vararg values: String): CadenceNamespace = CadenceNamespace(*values)
Expand Down Expand Up @@ -64,7 +63,6 @@ interface JsonCadenceConverter<T> {
}

object JsonCadenceMarshalling {

private val MARSHALLER_CACHE_JSON: MutableMap<KClass<*>, JsonCadenceConverter<*>> = mutableMapOf()

@JvmStatic
Expand Down Expand Up @@ -159,7 +157,7 @@ class JsonCadenceBuilder {
fun event(block: JsonCadenceBuilder.() -> CompositeValue): EventField = EventField(block())
fun contract(value: CompositeValue): ContractField = ContractField(value)
fun contract(block: JsonCadenceBuilder.() -> CompositeValue): ContractField = ContractField(block())
fun <T : Enum<T>> enum(value: T, namespace: CadenceNamespace = CadenceNamespace()): EnumField = enum(namespace.withNamespace(value.declaringClass.simpleName), uint8(value.ordinal))
fun <T : Enum<T>> enum(value: T, namespace: CadenceNamespace = CadenceNamespace()): EnumField = enum(namespace.withNamespace(value.declaringJavaClass.simpleName), uint8(value.ordinal))
fun enum(value: CompositeValue): EnumField = EnumField(value)
fun enum(block: JsonCadenceBuilder.() -> CompositeValue): EnumField = EnumField(block())
fun enum(id: String, value: Field<*>): EnumField = EnumField(compositeOfPairs(id) { listOf("rawValue" to value) })
Expand Down
Loading

0 comments on commit 8375e50

Please sign in to comment.