3
0
mirror of https://github.com/Qortal/qortal.git synced 2025-02-12 10:15:49 +00:00

Merge pull request #134 from AlphaX-Projects/master

Final dependencies updates and fixes
This commit is contained in:
QuickMythril 2023-10-19 12:57:44 -04:00 committed by GitHub
commit f7f2d70b77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 451 additions and 287 deletions

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"java.compile.nullAnalysis.mode": "automatic"
}

View File

@ -1,7 +1,7 @@
rootLogger.level = info rootLogger.level = info
# On Windows, uncomment next line to set dirname: # On Windows, uncomment next line to set dirname:
# property.dirname = ${sys:user.home}\\AppData\\Local\\qortal\\ # property.dirname = ${sys:user.home}\\AppData\\Local\\qortal\\
property.filename = ${sys:log4j2.filenameTemplate:-log.txt} # property.filename = ${sys:log4j2.filenameTemplate:-log.txt}
rootLogger.appenderRef.console.ref = stdout rootLogger.appenderRef.console.ref = stdout
rootLogger.appenderRef.rolling.ref = FILE rootLogger.appenderRef.rolling.ref = FILE
@ -59,11 +59,14 @@ appender.console.filter.threshold.level = error
appender.rolling.type = RollingFile appender.rolling.type = RollingFile
appender.rolling.name = FILE appender.rolling.name = FILE
appender.rolling.fileName = qortal.log
appender.rolling.filePattern = qortal.%d{dd-MMM}.log.gz
appender.rolling.layout.type = PatternLayout appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.filePattern = ./${filename}.%i
appender.rolling.policy.type = SizeBasedTriggeringPolicy appender.rolling.policy.type = SizeBasedTriggeringPolicy
appender.rolling.policy.size = 4MB appender.rolling.policy.size = 10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 7
# Set the immediate flush to true (default) # Set the immediate flush to true (default)
# appender.rolling.immediateFlush = true # appender.rolling.immediateFlush = true
# Set the append to true (default), should not overwrite # Set the append to true (default), should not overwrite

Binary file not shown.

View File

@ -0,0 +1,124 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ciyam</groupId>
<artifactId>AT</artifactId>
<version>1.4.1</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<skipTests>false</skipTests>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven-source-plugin.version>3.2.0</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
<maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version>
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
<bouncycastle.version>1.64</bouncycastle.version>
</properties>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<skipTests>${skipTests}</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>${bouncycastle.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -3,7 +3,7 @@
<groupId>org.ciyam</groupId> <groupId>org.ciyam</groupId>
<artifactId>AT</artifactId> <artifactId>AT</artifactId>
<versioning> <versioning>
<release>1.4.0</release> <release>1.4.1</release>
<versions> <versions>
<version>1.3.4</version> <version>1.3.4</version>
<version>1.3.5</version> <version>1.3.5</version>
@ -11,7 +11,8 @@
<version>1.3.7</version> <version>1.3.7</version>
<version>1.3.8</version> <version>1.3.8</version>
<version>1.4.0</version> <version>1.4.0</version>
<version>1.4.1</version>
</versions> </versions>
<lastUpdated>20221105114346</lastUpdated> <lastUpdated>20230821074325</lastUpdated>
</versioning> </versioning>
</metadata> </metadata>

View File

@ -1,7 +1,7 @@
rootLogger.level = info rootLogger.level = info
# On Windows, uncomment next line to set dirname: # On Windows, uncomment next line to set dirname:
# property.dirname = ${sys:user.home}\\AppData\\Local\\qortal\\ # property.dirname = ${sys:user.home}\\AppData\\Local\\qortal\\
property.filename = ${sys:log4j2.filenameTemplate:-log.txt} # property.filename = ${sys:log4j2.filenameTemplate:-log.txt}
rootLogger.appenderRef.console.ref = stdout rootLogger.appenderRef.console.ref = stdout
rootLogger.appenderRef.rolling.ref = FILE rootLogger.appenderRef.rolling.ref = FILE
@ -59,11 +59,14 @@ appender.console.filter.threshold.level = error
appender.rolling.type = RollingFile appender.rolling.type = RollingFile
appender.rolling.name = FILE appender.rolling.name = FILE
appender.rolling.fileName = qortal.log
appender.rolling.filePattern = qortal.%d{dd-MMM}.log.gz
appender.rolling.layout.type = PatternLayout appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.filePattern = ./${filename}.%i
appender.rolling.policy.type = SizeBasedTriggeringPolicy appender.rolling.policy.type = SizeBasedTriggeringPolicy
appender.rolling.policy.size = 4MB appender.rolling.policy.size = 10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 7
# Set the immediate flush to true (default) # Set the immediate flush to true (default)
# appender.rolling.immediateFlush = true # appender.rolling.immediateFlush = true
# Set the append to true (default), should not overwrite # Set the append to true (default), should not overwrite

130
pom.xml
View File

@ -11,32 +11,52 @@
<bitcoinj.version>0.15.10</bitcoinj.version> <bitcoinj.version>0.15.10</bitcoinj.version>
<bouncycastle.version>1.69</bouncycastle.version> <bouncycastle.version>1.69</bouncycastle.version>
<build.timestamp>${maven.build.timestamp}</build.timestamp> <build.timestamp>${maven.build.timestamp}</build.timestamp>
<ciyam-at.version>1.4.0</ciyam-at.version> <ciyam-at.version>1.4.1</ciyam-at.version>
<commons-net.version>3.6</commons-net.version> <commons-net.version>3.8.0</commons-net.version>
<commons-text.version>1.8</commons-text.version> <commons-text.version>1.10.0</commons-text.version>
<commons-io.version>2.6</commons-io.version> <commons-io.version>2.11.0</commons-io.version>
<commons-compress.version>1.21</commons-compress.version> <commons-compress.version>1.24.0</commons-compress.version>
<commons-lang3.version>3.12.0</commons-lang3.version> <commons-lang3.version>3.13.0</commons-lang3.version>
<xz.version>1.9</xz.version> <xz.version>1.9</xz.version>
<dagger.version>1.2.2</dagger.version> <dagger.version>1.2.2</dagger.version>
<guava.version>28.1-jre</guava.version> <guava.version>32.1.3-jre</guava.version>
<hsqldb.version>2.5.1</hsqldb.version> <hsqldb.version>2.5.1</hsqldb.version>
<homoglyph.version>1.2.1</homoglyph.version> <homoglyph.version>1.2.1</homoglyph.version>
<icu4j.version>70.1</icu4j.version> <icu4j.version>73.2</icu4j.version>
<upnp.version>1.1</upnp.version> <upnp.version>1.1</upnp.version>
<jersey.version>2.29.1</jersey.version> <jaxb-runtime.version>2.3.3</jaxb-runtime.version>
<jetty.version>9.4.29.v20200521</jetty.version> <jersey.version>2.40</jersey.version>
<log4j.version>2.17.1</log4j.version> <jetty.version>9.4.53.v20231009</jetty.version>
<log4j.version>2.20.0</log4j.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<slf4j.version>1.7.12</slf4j.version> <slf4j.version>1.7.36</slf4j.version>
<swagger-api.version>2.0.9</swagger-api.version> <swagger-api.version>2.0.10</swagger-api.version>
<swagger-ui.version>3.23.8</swagger-ui.version> <swagger-ui.version>3.52.5</swagger-ui.version>
<package-info-maven-plugin.version>1.1.0</package-info-maven-plugin.version> <package-info-maven-plugin.version>1.1.0</package-info-maven-plugin.version>
<jsoup.version>1.13.1</jsoup.version> <jsoup.version>1.16.1</jsoup.version>
<java-diff-utils.version>4.10</java-diff-utils.version> <java-diff-utils.version>4.12</java-diff-utils.version>
<grpc.version>1.45.1</grpc.version> <grpc.version>1.58.0</grpc.version>
<protobuf.version>3.19.4</protobuf.version> <protobuf.version>3.24.4</protobuf.version>
<simplemagic.version>1.17</simplemagic.version> <simplemagic.version>1.17</simplemagic.version>
<versions-maven-plugin.version>2.16.1</versions-maven-plugin.version>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
<replacer.version>1.5.3</replacer.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<build-helper-maven-plugin.version>3.4.0</build-helper-maven-plugin.version>
<maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
<maven-shade-plugin.version>3.5.1</maven-shade-plugin.version>
<reproducible-build-maven-plugin.version>0.16</reproducible-build-maven-plugin.version>
<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
<lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
<build-helper-maven-plugin.version>3.4.0</build-helper-maven-plugin.version>
<json-simple.version>1.1.1</json-simple.version>
<json.version>20231013</json.version>
<extendedset.version>0.12.3</extendedset.version>
<javax.servlet-api.version>4.0.1</javax.servlet-api.version>
<mail.version>1.5.0-b01</mail.version>
<junit-jupiter-engine.version>5.3.1</junit-jupiter-engine.version>
<hamcrest-library.version>1.3</hamcrest-library.version>
</properties> </properties>
<build> <build>
<sourceDirectory>src/main/java</sourceDirectory> <sourceDirectory>src/main/java</sourceDirectory>
@ -51,14 +71,14 @@
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId> <artifactId>versions-maven-plugin</artifactId>
<version>2.5</version> <version>${versions-maven-plugin.version}</version>
<configuration> <configuration>
<generateBackupPoms>false</generateBackupPoms> <generateBackupPoms>false</generateBackupPoms>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version> <version>${maven-compiler-plugin.version}</version>
<configuration> <configuration>
<release>11</release> <release>11</release>
</configuration> </configuration>
@ -89,7 +109,7 @@
<plugin> <plugin>
<groupId>pl.project13.maven</groupId> <groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId> <artifactId>git-commit-id-plugin</artifactId>
<version>4.0.0</version> <version>${git-commit-id-plugin.version}</version>
<executions> <executions>
<execution> <execution>
<id>get-the-git-infos</id> <id>get-the-git-infos</id>
@ -121,7 +141,7 @@
<plugin> <plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId> <groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId> <artifactId>replacer</artifactId>
<version>1.5.3</version> <version>${replacer.version}</version>
<executions> <executions>
<execution> <execution>
<id>replace-swagger-ui</id> <id>replace-swagger-ui</id>
@ -164,11 +184,13 @@
<configuration> <configuration>
<file>${project.build.outputDirectory}/git.properties</file> <file>${project.build.outputDirectory}/git.properties</file>
<regex>true</regex> <regex>true</regex>
<regexFlags><regexFlag>MULTILINE</regexFlag></regexFlags> <regexFlags>
<regexFlag>MULTILINE</regexFlag>
</regexFlags>
<replacements> <replacements>
<replacement> <replacement>
<token>^(#.*$[\n\r]*)</token> <token>^(#.*$[\n\r]*)</token>
<value></value> <value/>
</replacement> </replacement>
</replacements> </replacements>
</configuration> </configuration>
@ -178,7 +200,10 @@
<!-- add swagger-ui as resource to output package --> <!-- add swagger-ui as resource to output package -->
<plugin> <plugin>
<artifactId>maven-resources-plugin</artifactId> <artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version> <version>${maven-resources-plugin.version}</version>
<configuration>
<propertiesEncoding>ISO-8859-1</propertiesEncoding>
</configuration>
<executions> <executions>
<execution> <execution>
<id>copy-resources</id> <id>copy-resources</id>
@ -232,7 +257,7 @@
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId> <artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version> <version>${build-helper-maven-plugin.version}</version>
<executions> <executions>
<execution> <execution>
<phase>generate-sources</phase> <phase>generate-sources</phase>
@ -250,7 +275,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId> <artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version> <version>${maven-jar-plugin.version}</version>
<configuration> <configuration>
<archive> <archive>
<manifest> <manifest>
@ -268,13 +293,12 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version> <version>${maven-shade-plugin.version}</version>
<configuration> <configuration>
<createDependencyReducedPom>false</createDependencyReducedPom> <createDependencyReducedPom>false</createDependencyReducedPom>
<artifactSet> <artifactSet>
<excludes> <excludes>
<!-- Don't include original swagger-UI as we're including our own <!-- Don't include original swagger-UI as we're including our own modified version -->
modified version -->
<exclude>org.webjars:swagger-ui</exclude> <exclude>org.webjars:swagger-ui</exclude>
<!-- Don't include JUnit as it's for testing only! --> <!-- Don't include JUnit as it's for testing only! -->
<exclude>junit:junit</exclude> <exclude>junit:junit</exclude>
@ -318,7 +342,7 @@
<plugin> <plugin>
<groupId>io.github.zlika</groupId> <groupId>io.github.zlika</groupId>
<artifactId>reproducible-build-maven-plugin</artifactId> <artifactId>reproducible-build-maven-plugin</artifactId>
<version>0.11</version> <version>${reproducible-build-maven-plugin.version}</version>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>
@ -335,7 +359,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version> <version>${maven-surefire-plugin.version}</version>
<configuration> <configuration>
<skipTests>${skipTests}</skipTests> <skipTests>${skipTests}</skipTests>
</configuration> </configuration>
@ -347,7 +371,7 @@
<plugin> <plugin>
<groupId>org.eclipse.m2e</groupId> <groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId> <artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version> <version>${lifecycle-mapping.version}</version>
<configuration> <configuration>
<lifecycleMappingMetadata> <lifecycleMappingMetadata>
<pluginExecutions> <pluginExecutions>
@ -360,14 +384,14 @@
maven-dependency-plugin maven-dependency-plugin
</artifactId> </artifactId>
<versionRange> <versionRange>
[2.8,) [3.6.0,)
</versionRange> </versionRange>
<goals> <goals>
<goal>unpack</goal> <goal>unpack</goal>
</goals> </goals>
</pluginExecutionFilter> </pluginExecutionFilter>
<action> <action>
<execute></execute> <execute/>
</action> </action>
</pluginExecution> </pluginExecution>
<pluginExecution> <pluginExecution>
@ -386,7 +410,7 @@
</goals> </goals>
</pluginExecutionFilter> </pluginExecutionFilter>
<action> <action>
<execute></execute> <execute/>
</action> </action>
</pluginExecution> </pluginExecution>
</pluginExecutions> </pluginExecutions>
@ -413,15 +437,17 @@
<dependency> <dependency>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId> <artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version> <version>${build-helper-maven-plugin.version}</version>
<scope>provided</scope><!-- needed for build, not for runtime --> <scope>provided</scope>
<!-- needed for build, not for runtime -->
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.github.bohnman/package-info-maven-plugin --> <!-- https://mvnrepository.com/artifact/com.github.bohnman/package-info-maven-plugin -->
<dependency> <dependency>
<groupId>com.github.bohnman</groupId> <groupId>com.github.bohnman</groupId>
<artifactId>package-info-maven-plugin</artifactId> <artifactId>package-info-maven-plugin</artifactId>
<version>${package-info-maven-plugin.version}</version> <version>${package-info-maven-plugin.version}</version>
<scope>provided</scope><!-- needed for build, not for runtime --> <scope>provided</scope>
<!-- needed for build, not for runtime -->
</dependency> </dependency>
<!-- HSQLDB for repository --> <!-- HSQLDB for repository -->
<dependency> <dependency>
@ -457,12 +483,12 @@
<dependency> <dependency>
<groupId>com.googlecode.json-simple</groupId> <groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId> <artifactId>json-simple</artifactId>
<version>1.1.1</version> <version>${json-simple.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.json</groupId> <groupId>org.json</groupId>
<artifactId>json</artifactId> <artifactId>json</artifactId>
<version>20210307</version> <version>${json.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
@ -493,7 +519,7 @@
<dependency> <dependency>
<groupId>io.druid</groupId> <groupId>io.druid</groupId>
<artifactId>extendedset</artifactId> <artifactId>extendedset</artifactId>
<version>0.12.3</version> <version>${extendedset.version}</version>
<exclusions> <exclusions>
<!-- exclude old versions of jackson-annotations / jackson-core --> <!-- exclude old versions of jackson-annotations / jackson-core -->
<exclusion> <exclusion>
@ -564,12 +590,12 @@
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version> <version>${javax.servlet-api.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.mail</groupId> <groupId>javax.mail</groupId>
<artifactId>mail</artifactId> <artifactId>mail</artifactId>
<version>1.5.0-b01</version> <version>${mail.version}</version>
</dependency> </dependency>
<!-- Unicode homoglyph utilities --> <!-- Unicode homoglyph utilities -->
<dependency> <dependency>
@ -638,7 +664,8 @@
<artifactId>jersey-hk2</artifactId> <artifactId>jersey-hk2</artifactId>
<version>${jersey.version}</version> <version>${jersey.version}</version>
<exclusions> <exclusions>
<exclusion><!-- exclude javax.inject-1.jar because other jersey modules include javax.inject v2+ --> <exclusion>
<!-- exclude javax.inject-1.jar because other jersey modules include javax.inject v2+ -->
<groupId>javax.inject</groupId> <groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId> <artifactId>javax.inject</artifactId>
</exclusion> </exclusion>
@ -665,7 +692,8 @@
<artifactId>swagger-jaxrs2-servlet-initializer</artifactId> <artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
<version>${swagger-api.version}</version> <version>${swagger-api.version}</version>
<exclusions> <exclusions>
<exclusion><!-- excluded because included in swagger-jaxrs2-servlet-initializer --> <exclusion>
<!-- excluded because included in swagger-jaxrs2-servlet-initializer -->
<groupId>io.swagger.core.v3</groupId> <groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-integration</artifactId> <artifactId>swagger-integration</artifactId>
</exclusion> </exclusion>
@ -681,12 +709,12 @@
<dependency> <dependency>
<groupId>org.junit.jupiter</groupId> <groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId> <artifactId>junit-jupiter-engine</artifactId>
<version>5.3.1</version> <version>${junit-jupiter-engine.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.hamcrest</groupId> <groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId> <artifactId>hamcrest-library</artifactId>
<version>1.3</version> <version>${hamcrest-library.version}</version>
</dependency> </dependency>
--> -->
<!-- BouncyCastle for crypto, including TLS secure networking --> <!-- BouncyCastle for crypto, including TLS secure networking -->
@ -735,5 +763,11 @@
<artifactId>simplemagic</artifactId> <artifactId>simplemagic</artifactId>
<version>${simplemagic.version}</version> <version>${simplemagic.version}</version>
</dependency> </dependency>
<!-- JAXB runtime for WADL support -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>${jaxb-runtime.version}</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -16,11 +16,6 @@ import java.net.InetSocketAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
@ -38,7 +33,6 @@ import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.appender.RollingFileAppender; import org.apache.logging.log4j.core.appender.RollingFileAppender;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject;
import org.qortal.account.Account; import org.qortal.account.Account;
import org.qortal.account.PrivateKeyAccount; import org.qortal.account.PrivateKeyAccount;
import org.qortal.api.*; import org.qortal.api.*;
@ -269,7 +263,7 @@ public class AdminResource {
@GET @GET
@Path("/summary") @Path("/summary")
@Operation( @Operation(
summary = "Summary of activity since midnight, UTC", summary = "Summary of activity past 24 hours",
responses = { responses = {
@ApiResponse( @ApiResponse(
content = @Content(schema = @Schema(implementation = ActivitySummary.class)) content = @Content(schema = @Schema(implementation = ActivitySummary.class))
@ -283,22 +277,20 @@ public class AdminResource {
ActivitySummary summary = new ActivitySummary(); ActivitySummary summary = new ActivitySummary();
LocalDate date = LocalDate.now(); long now = NTP.getTime();
LocalTime time = LocalTime.of(0, 0); long oneday = now - 24 * 60 * 60 * 1000L;
ZoneOffset offset = ZoneOffset.UTC;
long start = OffsetDateTime.of(date, time, offset).toInstant().toEpochMilli();
try (final Repository repository = RepositoryManager.getRepository()) { try (final Repository repository = RepositoryManager.getRepository()) {
int startHeight = repository.getBlockRepository().getHeightFromTimestamp(start); int startHeight = repository.getBlockRepository().getHeightFromTimestamp(oneday);
int endHeight = repository.getBlockRepository().getBlockchainHeight(); int endHeight = repository.getBlockRepository().getBlockchainHeight();
summary.setBlockCount(endHeight - startHeight); summary.setBlockCount(endHeight - startHeight);
summary.setTransactionCountByType(repository.getTransactionRepository().getTransactionSummary(startHeight + 1, endHeight)); summary.setTransactionCountByType(repository.getTransactionRepository().getTransactionSummary(startHeight + 1, endHeight));
summary.setAssetsIssued(repository.getAssetRepository().getRecentAssetIds(start).size()); summary.setAssetsIssued(repository.getAssetRepository().getRecentAssetIds(oneday).size());
summary.setNamesRegistered (repository.getNameRepository().getRecentNames(start).size()); summary.setNamesRegistered (repository.getNameRepository().getRecentNames(oneday).size());
return summary; return summary;
} catch (DataException e) { } catch (DataException e) {

View File

@ -712,30 +712,16 @@ public class TradeBot implements Listener {
} }
try { try {
List<byte[]> signatures = repository.getTransactionRepository().getSignaturesMatchingCriteria(null, null, null, Arrays.asList(Transaction.TransactionType.MESSAGE), null, null, crossChainTradeData.qortalCreatorTradeAddress, TransactionsResource.ConfirmationStatus.CONFIRMED, null, null, null); List<TransactionData> transactions = repository.getTransactionRepository().getUnconfirmedTransactions(Arrays.asList(Transaction.TransactionType.MESSAGE), null, null, null, null);
if (signatures.size() < getMaxTradeOfferAttempts) {
// Less than 3 (or user-specified number of) MESSAGE transactions relate to this trade, so assume it is ok
validTrades.put(crossChainTradeData.qortalAtAddress, now);
continue;
}
List<TransactionData> transactions = new ArrayList<>(signatures.size()); for (TransactionData transactionData : transactions) {
for (byte[] signature : signatures) { // Treat as failed if buy attempt was more than 60 mins ago (as it's still in the OFFERING state)
transactions.add(repository.getTransactionRepository().fromSignature(signature)); if (transactionData.getRecipient().equals(crossChainTradeData.qortalCreatorTradeAddress) && now - transactionData.getTimestamp() > 60*60*1000L) {
} failedTrades.put(crossChainTradeData.qortalAtAddress, now);
transactions.sort(Transaction.getDataComparator()); updatedCrossChainTrades.remove(crossChainTradeData);
} else {
// Get timestamp of the first MESSAGE transaction validTrades.put(crossChainTradeData.qortalAtAddress, now);
long firstMessageTimestamp = transactions.get(0).getTimestamp(); }
// Treat as failed if first buy attempt was more than 60 mins ago (as it's still in the OFFERING state)
boolean isFailed = (now - firstMessageTimestamp > 60*60*1000L);
if (isFailed) {
failedTrades.put(crossChainTradeData.qortalAtAddress, now);
updatedCrossChainTrades.remove(crossChainTradeData);
}
else {
validTrades.put(crossChainTradeData.qortalAtAddress, now);
} }
} catch (DataException e) { } catch (DataException e) {

View File

@ -44,89 +44,78 @@ public class Bitcoin extends Bitcoiny {
@Override @Override
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
// Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=btc // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=btc
//CLOSED new Server("bitcoin.grey.pw", Server.ConnectionType.SSL, 50002), new Server("104.248.139.211", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("btc.litepay.ch", Server.ConnectionType.SSL, 50002), new Server("128.0.190.26", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("electrum.pabu.io", Server.ConnectionType.SSL, 50002), new Server("142.93.6.38", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("electrumx.dev", Server.ConnectionType.SSL, 50002), new Server("157.245.172.236", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("electrumx.hodlwallet.com", Server.ConnectionType.SSL, 50002), new Server("167.172.226.175", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("gd42.org", Server.ConnectionType.SSL, 50002), new Server("167.172.42.31", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("korea.electrum-server.com", Server.ConnectionType.SSL, 50002), new Server("178.62.80.20", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("prospero.bitsrc.net", Server.ConnectionType.SSL, 50002), new Server("185.64.116.15", Server.ConnectionType.SSL, 50002),
//1.15.0 new Server("alviss.coinjoined.com", Server.ConnectionType.SSL, 50002), new Server("188.165.206.215", Server.ConnectionType.SSL, 50002),
//1.15.0 new Server("electrum.acinq.co", Server.ConnectionType.SSL, 50002), new Server("188.165.211.112", Server.ConnectionType.SSL, 50002),
//1.14.0 new Server("electrum.coinext.com.br", Server.ConnectionType.SSL, 50002), new Server("2azzarita.hopto.org", Server.ConnectionType.SSL, 50002),
//F1.7.0 new Server("btc.lastingcoin.net", Server.ConnectionType.SSL, 50002), new Server("2electrumx.hopto.me", Server.ConnectionType.SSL, 56022),
new Server("104.248.139.211", Server.ConnectionType.SSL, 50002), new Server("2ex.digitaleveryware.com", Server.ConnectionType.SSL, 50002),
new Server("128.0.190.26", Server.ConnectionType.SSL, 50002), new Server("65.39.140.37", Server.ConnectionType.SSL, 50002),
new Server("142.93.6.38", Server.ConnectionType.SSL, 50002), new Server("68.183.188.105", Server.ConnectionType.SSL, 50002),
new Server("157.245.172.236", Server.ConnectionType.SSL, 50002), new Server("71.73.14.254", Server.ConnectionType.SSL, 50002),
new Server("167.172.226.175", Server.ConnectionType.SSL, 50002), new Server("94.23.247.135", Server.ConnectionType.SSL, 50002),
new Server("167.172.42.31", Server.ConnectionType.SSL, 50002), new Server("assuredly.not.fyi", Server.ConnectionType.SSL, 50002),
new Server("178.62.80.20", Server.ConnectionType.SSL, 50002), new Server("ax101.blockeng.ch", Server.ConnectionType.SSL, 50002),
new Server("185.64.116.15", Server.ConnectionType.SSL, 50002), new Server("ax102.blockeng.ch", Server.ConnectionType.SSL, 50002),
new Server("188.165.206.215", Server.ConnectionType.SSL, 50002), new Server("b.1209k.com", Server.ConnectionType.SSL, 50002),
new Server("188.165.211.112", Server.ConnectionType.SSL, 50002), new Server("b6.1209k.com", Server.ConnectionType.SSL, 50002),
new Server("2azzarita.hopto.org", Server.ConnectionType.SSL, 50002), new Server("bitcoin.dermichi.com", Server.ConnectionType.SSL, 50002),
new Server("2electrumx.hopto.me", Server.ConnectionType.SSL, 56022), new Server("bitcoin.lu.ke", Server.ConnectionType.SSL, 50002),
new Server("2ex.digitaleveryware.com", Server.ConnectionType.SSL, 50002), new Server("bitcoin.lukechilds.co", Server.ConnectionType.SSL, 50002),
new Server("65.39.140.37", Server.ConnectionType.SSL, 50002), new Server("blkhub.net", Server.ConnectionType.SSL, 50002),
new Server("68.183.188.105", Server.ConnectionType.SSL, 50002), new Server("btc.electroncash.dk", Server.ConnectionType.SSL, 60002),
new Server("71.73.14.254", Server.ConnectionType.SSL, 50002), new Server("btc.ocf.sh", Server.ConnectionType.SSL, 50002),
new Server("94.23.247.135", Server.ConnectionType.SSL, 50002), new Server("btce.iiiiiii.biz", Server.ConnectionType.SSL, 50002),
new Server("assuredly.not.fyi", Server.ConnectionType.SSL, 50002), new Server("caleb.vegas", Server.ConnectionType.SSL, 50002),
new Server("ax101.blockeng.ch", Server.ConnectionType.SSL, 50002), new Server("eai.coincited.net", Server.ConnectionType.SSL, 50002),
new Server("ax102.blockeng.ch", Server.ConnectionType.SSL, 50002), new Server("electrum.bhoovd.com", Server.ConnectionType.SSL, 50002),
new Server("b.1209k.com", Server.ConnectionType.SSL, 50002), new Server("electrum.bitaroo.net", Server.ConnectionType.SSL, 50002),
new Server("b6.1209k.com", Server.ConnectionType.SSL, 50002), new Server("electrum.bitcoinlizard.net", Server.ConnectionType.SSL, 50002),
new Server("bitcoin.dermichi.com", Server.ConnectionType.SSL, 50002), new Server("electrum.blockstream.info", Server.ConnectionType.SSL, 50002),
new Server("bitcoin.lu.ke", Server.ConnectionType.SSL, 50002), new Server("electrum.emzy.de", Server.ConnectionType.SSL, 50002),
new Server("bitcoin.lukechilds.co", Server.ConnectionType.SSL, 50002), new Server("electrum.exan.tech", Server.ConnectionType.SSL, 50002),
new Server("blkhub.net", Server.ConnectionType.SSL, 50002), new Server("electrum.kendigisland.xyz", Server.ConnectionType.SSL, 50002),
new Server("btc.electroncash.dk", Server.ConnectionType.SSL, 60002), new Server("electrum.mmitech.info", Server.ConnectionType.SSL, 50002),
new Server("btc.ocf.sh", Server.ConnectionType.SSL, 50002), new Server("electrum.petrkr.net", Server.ConnectionType.SSL, 50002),
new Server("btce.iiiiiii.biz", Server.ConnectionType.SSL, 50002), new Server("electrum.stippy.com", Server.ConnectionType.SSL, 50002),
new Server("caleb.vegas", Server.ConnectionType.SSL, 50002), new Server("electrum.thomasfischbach.de", Server.ConnectionType.SSL, 50002),
new Server("eai.coincited.net", Server.ConnectionType.SSL, 50002), new Server("electrum0.snel.it", Server.ConnectionType.SSL, 50002),
new Server("electrum.bhoovd.com", Server.ConnectionType.SSL, 50002), new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 50002),
new Server("electrum.bitaroo.net", Server.ConnectionType.SSL, 50002), new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 50002),
new Server("electrum.bitcoinlizard.net", Server.ConnectionType.SSL, 50002), new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 50002),
new Server("electrum.blockstream.info", Server.ConnectionType.SSL, 50002), new Server("electrumx.alexridevski.net", Server.ConnectionType.SSL, 50002),
new Server("electrum.emzy.de", Server.ConnectionType.SSL, 50002), new Server("electrumx-core.1209k.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.exan.tech", Server.ConnectionType.SSL, 50002), new Server("elx.bitske.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.kendigisland.xyz", Server.ConnectionType.SSL, 50002), new Server("ex03.axalgo.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.mmitech.info", Server.ConnectionType.SSL, 50002), new Server("ex05.axalgo.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.petrkr.net", Server.ConnectionType.SSL, 50002), new Server("ex07.axalgo.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.stippy.com", Server.ConnectionType.SSL, 50002), new Server("fortress.qtornado.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.thomasfischbach.de", Server.ConnectionType.SSL, 50002), new Server("fulcrum.grey.pw", Server.ConnectionType.SSL, 50002),
new Server("electrum0.snel.it", Server.ConnectionType.SSL, 50002), new Server("fulcrum.sethforprivacy.com", Server.ConnectionType.SSL, 51002),
new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 50002), new Server("guichet.centure.cc", Server.ConnectionType.SSL, 50002),
new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 50002), new Server("hodlers.beer", Server.ConnectionType.SSL, 50002),
new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 50002), new Server("kareoke.qoppa.org", Server.ConnectionType.SSL, 50002),
new Server("electrumx.alexridevski.net", Server.ConnectionType.SSL, 50002), new Server("kirsche.emzy.de", Server.ConnectionType.SSL, 50002),
new Server("electrumx-core.1209k.com", Server.ConnectionType.SSL, 50002), new Server("node1.btccuracao.com", Server.ConnectionType.SSL, 50002),
new Server("elx.bitske.com", Server.ConnectionType.SSL, 50002), new Server("osr1ex1.compumundohipermegared.one", Server.ConnectionType.SSL, 50002),
new Server("ex03.axalgo.com", Server.ConnectionType.SSL, 50002), new Server("smmalis37.ddns.net", Server.ConnectionType.SSL, 50002),
new Server("ex05.axalgo.com", Server.ConnectionType.SSL, 50002), new Server("ulrichard.ch", Server.ConnectionType.SSL, 50002),
new Server("ex07.axalgo.com", Server.ConnectionType.SSL, 50002), new Server("vmd104012.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("fortress.qtornado.com", Server.ConnectionType.SSL, 50002), new Server("vmd104014.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("fulcrum.grey.pw", Server.ConnectionType.SSL, 50002), new Server("vmd63185.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("fulcrum.sethforprivacy.com", Server.ConnectionType.SSL, 51002), new Server("vmd71287.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("guichet.centure.cc", Server.ConnectionType.SSL, 50002), new Server("vmd84592.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("hodlers.beer", Server.ConnectionType.SSL, 50002), new Server("xtrum.com", Server.ConnectionType.SSL, 50002)
new Server("kareoke.qoppa.org", Server.ConnectionType.SSL, 50002), );
new Server("kirsche.emzy.de", Server.ConnectionType.SSL, 50002),
new Server("node1.btccuracao.com", Server.ConnectionType.SSL, 50002),
new Server("osr1ex1.compumundohipermegared.one", Server.ConnectionType.SSL, 50002),
new Server("smmalis37.ddns.net", Server.ConnectionType.SSL, 50002),
new Server("ulrichard.ch", Server.ConnectionType.SSL, 50002),
new Server("vmd104012.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("vmd104014.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("vmd63185.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("vmd71287.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("vmd84592.contaboserver.net", Server.ConnectionType.SSL, 50002),
new Server("xtrum.com", Server.ConnectionType.SSL, 50002));
} }
@Override @Override
@ -152,12 +141,13 @@ public class Bitcoin extends Bitcoiny {
@Override @Override
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("tn.not.fyi", Server.ConnectionType.SSL, 55002), new Server("tn.not.fyi", Server.ConnectionType.SSL, 55002),
new Server("electrumx-test.1209k.com", Server.ConnectionType.SSL, 50002), new Server("electrumx-test.1209k.com", Server.ConnectionType.SSL, 50002),
new Server("testnet.qtornado.com", Server.ConnectionType.SSL, 51002), new Server("testnet.qtornado.com", Server.ConnectionType.SSL, 51002),
new Server("testnet.aranguren.org", Server.ConnectionType.TCP, 51001), new Server("testnet.aranguren.org", Server.ConnectionType.TCP, 51001),
new Server("testnet.aranguren.org", Server.ConnectionType.SSL, 51002), new Server("testnet.aranguren.org", Server.ConnectionType.SSL, 51002),
new Server("testnet.hsmiths.com", Server.ConnectionType.SSL, 53012)); new Server("testnet.hsmiths.com", Server.ConnectionType.SSL, 53012)
);
} }
@Override @Override
@ -179,8 +169,9 @@ public class Bitcoin extends Bitcoiny {
@Override @Override
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("localhost", Server.ConnectionType.TCP, 50001), new Server("localhost", Server.ConnectionType.TCP, 50001),
new Server("localhost", Server.ConnectionType.SSL, 50002)); new Server("localhost", Server.ConnectionType.SSL, 50002)
);
} }
@Override @Override

View File

@ -43,14 +43,17 @@ public class Digibyte extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
// Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=dgb // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=dgb
new Server("electrum.qortal.link", Server.ConnectionType.SSL, 55002), new Server("electrum.qortal.link", Server.ConnectionType.SSL, 55002),
new Server("electrum-dgb.qortal.online", ConnectionType.SSL, 50002), new Server("electrum1-dgb.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum1-dgb.qortal.online", ConnectionType.SSL, 50002), new Server("electrum2-dgb.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum1.cipig.net", ConnectionType.SSL, 20059), new Server("electrum3-dgb.qortal.online", Server.ConnectionType.SSL, 40002),
new Server("electrum2.cipig.net", ConnectionType.SSL, 20059), new Server("electrum4-dgb.qortal.online", Server.ConnectionType.SSL, 40002),
new Server("electrum3.cipig.net", ConnectionType.SSL, 20059)); new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20059),
new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20059),
new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20059)
);
} }
@Override @Override
@ -94,8 +97,9 @@ public class Digibyte extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("localhost", ConnectionType.TCP, 50001), new Server("localhost", Server.ConnectionType.TCP, 50001),
new Server("localhost", ConnectionType.SSL, 50002)); new Server("localhost", Server.ConnectionType.SSL, 50002)
);
} }
@Override @Override

View File

@ -4,7 +4,6 @@ import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Context; import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters; import org.bitcoinj.core.NetworkParameters;
import org.libdohj.params.DogecoinMainNetParams; import org.libdohj.params.DogecoinMainNetParams;
//import org.libdohj.params.DogecoinRegTestParams;
import org.libdohj.params.DogecoinTestNet3Params; import org.libdohj.params.DogecoinTestNet3Params;
import org.qortal.crosschain.ElectrumX.Server; import org.qortal.crosschain.ElectrumX.Server;
import org.qortal.crosschain.ElectrumX.Server.ConnectionType; import org.qortal.crosschain.ElectrumX.Server.ConnectionType;
@ -44,14 +43,17 @@ public class Dogecoin extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
// Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=doge // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=doge
new Server("electrum.qortal.link", Server.ConnectionType.SSL, 54002), new Server("electrum.qortal.link", Server.ConnectionType.SSL, 54002),
new Server("electrum-doge.qortal.online", ConnectionType.SSL, 50002), new Server("electrum1-doge.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum1-doge.qortal.online", ConnectionType.SSL, 50002), new Server("electrum2-doge.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum1.cipig.net", ConnectionType.SSL, 20060), new Server("electrum3-doge.qortal.online", Server.ConnectionType.SSL, 30002),
new Server("electrum2.cipig.net", ConnectionType.SSL, 20060), new Server("electrum4-doge.qortal.online", Server.ConnectionType.SSL, 30002),
new Server("electrum3.cipig.net", ConnectionType.SSL, 20060)); new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20060),
new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20060),
new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20060)
);
} }
@Override @Override
@ -95,8 +97,9 @@ public class Dogecoin extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("localhost", ConnectionType.TCP, 50001), new Server("localhost", Server.ConnectionType.TCP, 50001),
new Server("localhost", ConnectionType.SSL, 50002)); new Server("localhost", Server.ConnectionType.SSL, 50002)
);
} }
@Override @Override

View File

@ -43,22 +43,21 @@ public class Litecoin extends Bitcoiny {
@Override @Override
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
// Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=ltc // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=ltc
//CLOSED new Server("electrum-ltc.someguy123.net", Server.ConnectionType.SSL, 50002), new Server("electrum.qortal.link", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("ltc.litepay.ch", Server.ConnectionType.SSL, 50022), new Server("electrum1-ltc.qortal.online", Server.ConnectionType.SSL, 50002),
//BEHIND new Server("62.171.169.176", Server.ConnectionType.SSL, 50002), new Server("electrum2-ltc.qortal.online", Server.ConnectionType.SSL, 50002),
//PHISHY new Server("electrum-ltc.bysh.me", Server.ConnectionType.SSL, 50002), new Server("electrum3-ltc.qortal.online", Server.ConnectionType.SSL, 20002),
new Server("backup.electrum-ltc.org", Server.ConnectionType.SSL, 443), new Server("electrum4-ltc.qortal.online", Server.ConnectionType.SSL, 20002),
new Server("electrum.qortal.link", Server.ConnectionType.SSL, 50002), new Server("backup.electrum-ltc.org", Server.ConnectionType.SSL, 443),
new Server("electrum.ltc.xurious.com", Server.ConnectionType.SSL, 50002), new Server("electrum.ltc.xurious.com", Server.ConnectionType.SSL, 50002),
new Server("electrum-ltc.petrkr.net", Server.ConnectionType.SSL, 60002), new Server("electrum-ltc.petrkr.net", Server.ConnectionType.SSL, 60002),
new Server("electrum-ltc.qortal.online", Server.ConnectionType.SSL, 50002), new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum1-ltc.qortal.online", Server.ConnectionType.SSL, 50002), new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20063), new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20063), new Server("ltc.rentonrisk.com", Server.ConnectionType.SSL, 50002)
new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20063), );
new Server("ltc.rentonrisk.com", Server.ConnectionType.SSL, 50002));
} }
@Override @Override
@ -81,10 +80,11 @@ public class Litecoin extends Bitcoiny {
@Override @Override
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("electrum-ltc.bysh.me", Server.ConnectionType.TCP, 51001), new Server("electrum-ltc.bysh.me", Server.ConnectionType.TCP, 51001),
new Server("electrum-ltc.bysh.me", Server.ConnectionType.SSL, 51002), new Server("electrum-ltc.bysh.me", Server.ConnectionType.SSL, 51002),
new Server("electrum.ltc.xurious.com", Server.ConnectionType.TCP, 51001), new Server("electrum.ltc.xurious.com", Server.ConnectionType.TCP, 51001),
new Server("electrum.ltc.xurious.com", Server.ConnectionType.SSL, 51002)); new Server("electrum.ltc.xurious.com", Server.ConnectionType.SSL, 51002)
);
} }
@Override @Override
@ -106,8 +106,9 @@ public class Litecoin extends Bitcoiny {
@Override @Override
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("localhost", Server.ConnectionType.TCP, 50001), new Server("localhost", Server.ConnectionType.TCP, 50001),
new Server("localhost", Server.ConnectionType.SSL, 50002)); new Server("localhost", Server.ConnectionType.SSL, 50002)
);
} }
@Override @Override

View File

@ -56,11 +56,14 @@ public class PirateChain extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
new Server("wallet-arrr1.qortal.online", ConnectionType.SSL, 443), new Server("wallet-arrr1.qortal.online", Server.ConnectionType.SSL, 443),
new Server("wallet-arrr2.qortal.online", ConnectionType.SSL, 443), new Server("wallet-arrr2.qortal.online", Server.ConnectionType.SSL, 443),
new Server("wallet-arrr3.qortal.online", ConnectionType.SSL, 443), new Server("wallet-arrr3.qortal.online", Server.ConnectionType.SSL, 443),
new Server("lightd.pirate.black", ConnectionType.SSL, 443)); new Server("wallet-arrr4.qortal.online", Server.ConnectionType.SSL, 443),
new Server("wallet-arrr5.qortal.online", Server.ConnectionType.SSL, 443),
new Server("lightd.pirate.black", Server.ConnectionType.SSL, 443)
);
} }
@Override @Override
@ -104,8 +107,9 @@ public class PirateChain extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("localhost", ConnectionType.TCP, 9067), new Server("localhost", Server.ConnectionType.TCP, 9067),
new Server("localhost", ConnectionType.SSL, 443)); new Server("localhost", Server.ConnectionType.SSL, 443)
);
} }
@Override @Override

View File

@ -43,19 +43,19 @@ public class Ravencoin extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
// Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=rvn // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=rvn
//CLOSED new Server("aethyn.com", ConnectionType.SSL, 50002), new Server("electrum.qortal.link", Server.ConnectionType.SSL, 56002),
//CLOSED new Server("electrum2.rvn.rocks", ConnectionType.SSL, 50002), new Server("electrum1-rvn.qortal.online", Server.ConnectionType.SSL, 50002),
//BEHIND new Server("electrum3.rvn.rocks", ConnectionType.SSL, 50002), new Server("electrum2-rvn.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum.qortal.link", Server.ConnectionType.SSL, 56002), new Server("electrum3-rvn.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum-rvn.qortal.online", ConnectionType.SSL, 50002), new Server("electrum4-rvn.qortal.online", Server.ConnectionType.SSL, 50002),
new Server("electrum1-rvn.qortal.online", ConnectionType.SSL, 50002), new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20051),
new Server("electrum1.cipig.net", ConnectionType.SSL, 20051), new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20051),
new Server("electrum2.cipig.net", ConnectionType.SSL, 20051), new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20051),
new Server("electrum3.cipig.net", ConnectionType.SSL, 20051), new Server("rvn-dashboard.com", Server.ConnectionType.SSL, 50002),
new Server("rvn-dashboard.com", ConnectionType.SSL, 50002), new Server("rvn4lyfe.com", Server.ConnectionType.SSL, 50002)
new Server("rvn4lyfe.com", ConnectionType.SSL, 50002)); );
} }
@Override @Override
@ -99,8 +99,9 @@ public class Ravencoin extends Bitcoiny {
@Override @Override
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
new Server("localhost", ConnectionType.TCP, 50001), new Server("localhost", Server.ConnectionType.TCP, 50001),
new Server("localhost", ConnectionType.SSL, 50002)); new Server("localhost", Server.ConnectionType.SSL, 50002)
);
} }
@Override @Override

View File

@ -75,6 +75,9 @@ public abstract class TransactionData {
@Schema(description = "groupID for this transaction") @Schema(description = "groupID for this transaction")
protected int txGroupId; protected int txGroupId;
@Schema(description = "recipient for this transaction")
protected String recipient;
// Not always present // Not always present
@Schema(accessMode = AccessMode.READ_ONLY, hidden = true, description = "height of block containing transaction") @Schema(accessMode = AccessMode.READ_ONLY, hidden = true, description = "height of block containing transaction")
protected Integer blockHeight; protected Integer blockHeight;
@ -105,7 +108,7 @@ public abstract class TransactionData {
/** Constructor for use by transaction subclasses. */ /** Constructor for use by transaction subclasses. */
protected TransactionData(TransactionType type, BaseTransactionData baseTransactionData) { protected TransactionData(TransactionType type, BaseTransactionData baseTransactionData) {
this.type = type; this.type = type;
this.recipient = baseTransactionData.recipient;
this.timestamp = baseTransactionData.timestamp; this.timestamp = baseTransactionData.timestamp;
this.txGroupId = baseTransactionData.txGroupId; this.txGroupId = baseTransactionData.txGroupId;
this.reference = baseTransactionData.reference; this.reference = baseTransactionData.reference;
@ -136,6 +139,10 @@ public abstract class TransactionData {
return this.txGroupId; return this.txGroupId;
} }
public String getRecipient() {
return this.recipient;
}
public void setTxGroupId(int txGroupId) { public void setTxGroupId(int txGroupId) {
this.txGroupId = txGroupId; this.txGroupId = txGroupId;
} }
@ -250,5 +257,4 @@ public abstract class TransactionData {
return Arrays.equals(this.signature, otherTransactionData.signature); return Arrays.equals(this.signature, otherTransactionData.signature);
} }
} }

View File

@ -1014,5 +1014,4 @@ public class HSQLDBDatabaseUpdates {
LOGGER.info(() -> String.format("HSQLDB repository updated to version %d", databaseVersion + 1)); LOGGER.info(() -> String.format("HSQLDB repository updated to version %d", databaseVersion + 1));
return true; return true;
} }
} }

View File

@ -48,8 +48,8 @@ public class Settings {
private static final int MAINNET_GATEWAY_PORT = 80; private static final int MAINNET_GATEWAY_PORT = 80;
private static final int TESTNET_GATEWAY_PORT = 8080; private static final int TESTNET_GATEWAY_PORT = 8080;
private static final int MAINNET_DEV_PROXY_PORT = 12393; private static final int MAINNET_DEV_PROXY_PORT = 12393;
private static final int TESTNET_DEV_PROXY_PORT = 62393; private static final int TESTNET_DEV_PROXY_PORT = 62393;
private static final Logger LOGGER = LogManager.getLogger(Settings.class); private static final Logger LOGGER = LogManager.getLogger(Settings.class);
private static final String SETTINGS_FILENAME = "settings.json"; private static final String SETTINGS_FILENAME = "settings.json";
@ -111,10 +111,9 @@ public class Settings {
private boolean gatewayLoggingEnabled = false; private boolean gatewayLoggingEnabled = false;
private boolean gatewayLoopbackEnabled = false; private boolean gatewayLoopbackEnabled = false;
// Developer Proxy // Developer Proxy
private Integer devProxyPort; private Integer devProxyPort;
private boolean devProxyLoggingEnabled = false; private boolean devProxyLoggingEnabled = false;
// Specific to this node // Specific to this node
private boolean wipeUnconfirmedOnStart = false; private boolean wipeUnconfirmedOnStart = false;
@ -187,7 +186,6 @@ public class Settings {
* This has a significant effect on execution time. */ * This has a significant effect on execution time. */
private int blockPruneBatchSize = 10000; // blocks private int blockPruneBatchSize = 10000; // blocks
/** Whether we should archive old data to reduce the database size */ /** Whether we should archive old data to reduce the database size */
private boolean archiveEnabled = true; private boolean archiveEnabled = true;
/** How often to attempt archiving (ms). */ /** How often to attempt archiving (ms). */
@ -195,15 +193,12 @@ public class Settings {
/** Serialization version to use when building an archive */ /** Serialization version to use when building an archive */
private int defaultArchiveVersion = 2; private int defaultArchiveVersion = 2;
/** Whether to automatically bootstrap instead of syncing from genesis */ /** Whether to automatically bootstrap instead of syncing from genesis */
private boolean bootstrap = true; private boolean bootstrap = true;
/** Registered names integrity check */ /** Registered names integrity check */
private boolean namesIntegrityCheckEnabled = false; private boolean namesIntegrityCheckEnabled = false;
// Peer-to-peer related // Peer-to-peer related
private boolean isTestNet = false; private boolean isTestNet = false;
/** Single node testnet mode */ /** Single node testnet mode */
@ -290,10 +285,10 @@ public class Settings {
// Bootstrap sources // Bootstrap sources
private String[] bootstrapHosts = new String[] { private String[] bootstrapHosts = new String[] {
"http://bootstrap.qortal.org", "http://bootstrap.qortal.org",
"http://bootstrap2.qortal.org", "http://bootstrap2.qortal.org",
"http://bootstrap3.qortal.org", "http://bootstrap3.qortal.org",
"http://bootstrap.qortal.online" "http://bootstrap.qortal.online"
}; };
// Auto-update sources // Auto-update sources
@ -312,17 +307,35 @@ public class Settings {
"1.pool.ntp.org", "1.pool.ntp.org",
"2.pool.ntp.org", "2.pool.ntp.org",
"3.pool.ntp.org", "3.pool.ntp.org",
"cn.pool.ntp.org", "asia.pool.ntp.org",
"0.cn.pool.ntp.org", "0.asia.pool.ntp.org",
"1.cn.pool.ntp.org", "1.asia.pool.ntp.org",
"2.cn.pool.ntp.org", "2.asia.pool.ntp.org",
"3.cn.pool.ntp.org" "3.asia.pool.ntp.org",
"europe.pool.ntp.org",
"0.europe.pool.ntp.org",
"1.europe.pool.ntp.org",
"2.europe.pool.ntp.org",
"3.europe.pool.ntp.org",
"north-america.pool.ntp.org",
"0.north-america.pool.ntp.org",
"1.north-america.pool.ntp.org",
"2.north-america.pool.ntp.org",
"3.north-america.pool.ntp.org",
"oceania.pool.ntp.org",
"0.oceania.pool.ntp.org",
"1.oceania.pool.ntp.org",
"2.oceania.pool.ntp.org",
"3.oceania.pool.ntp.org",
"south-america.pool.ntp.org",
"0.south-america.pool.ntp.org",
"1.south-america.pool.ntp.org",
"2.south-america.pool.ntp.org",
"3.south-america.pool.ntp.org"
}; };
/** Additional offset added to values returned by NTP.getTime() */ /** Additional offset added to values returned by NTP.getTime() */
private Long testNtpOffset = null; private Long testNtpOffset = null;
/* Foreign chains */ /* Foreign chains */
/** The number of consecutive empty addresses required before treating a wallet's transaction set as complete */ /** The number of consecutive empty addresses required before treating a wallet's transaction set as complete */
@ -331,8 +344,6 @@ public class Settings {
/** How many wallet keys to generate when using bitcoinj as the blockchain interface (e.g. when sending coins) */ /** How many wallet keys to generate when using bitcoinj as the blockchain interface (e.g. when sending coins) */
private int bitcoinjLookaheadSize = 50; private int bitcoinjLookaheadSize = 50;
// Data storage (QDN) // Data storage (QDN)
/** Data storage enabled/disabled*/ /** Data storage enabled/disabled*/
@ -449,7 +460,6 @@ public class Settings {
} }
} }
// Constructors // Constructors
private Settings() { private Settings() {
@ -732,17 +742,16 @@ public class Settings {
} }
public int getDevProxyPort() { public int getDevProxyPort() {
if (this.devProxyPort != null) if (this.devProxyPort != null)
return this.devProxyPort; return this.devProxyPort;
return this.isTestNet ? TESTNET_DEV_PROXY_PORT : MAINNET_DEV_PROXY_PORT; return this.isTestNet ? TESTNET_DEV_PROXY_PORT : MAINNET_DEV_PROXY_PORT;
} }
public boolean isDevProxyLoggingEnabled() {
return this.devProxyLoggingEnabled;
}
public boolean isDevProxyLoggingEnabled() {
return this.devProxyLoggingEnabled;
}
public boolean getWipeUnconfirmedOnStart() { public boolean getWipeUnconfirmedOnStart() {
return this.wipeUnconfirmedOnStart; return this.wipeUnconfirmedOnStart;