Merge branch 'feat_lib_publication' into develop
This commit is contained in:
commit
e2e9e5f0e5
16 changed files with 213 additions and 1622 deletions
24
.gitignore
vendored
24
.gitignore
vendored
|
@ -7,6 +7,9 @@
|
||||||
# Gradle
|
# Gradle
|
||||||
# ------
|
# ------
|
||||||
.gradle
|
.gradle
|
||||||
|
gradle
|
||||||
|
gradlew
|
||||||
|
gradlew.bat
|
||||||
/build
|
/build
|
||||||
/buildSrc/build
|
/buildSrc/build
|
||||||
/subprojects/*/build
|
/subprojects/*/build
|
||||||
|
@ -79,7 +82,24 @@ atlassian-ide-plugin.xml
|
||||||
# ----
|
# ----
|
||||||
/*.log
|
/*.log
|
||||||
|
|
||||||
src/main/java/com/luminiasoft/bitshares/mycelium/*
|
|
||||||
|
|
||||||
# Ignore bin backups
|
# Ignore bin backups
|
||||||
*.bin
|
*.bin
|
||||||
|
|
||||||
|
# [Maven]
|
||||||
|
# -------
|
||||||
|
target/
|
||||||
|
pom.xml.tag
|
||||||
|
pom.xml.releaseBackup
|
||||||
|
pom.xml.versionsBackup
|
||||||
|
pom.xml.next
|
||||||
|
release.properties
|
||||||
|
|
||||||
|
# Package Files #
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.ear
|
||||||
|
|
||||||
|
# Build dir
|
||||||
|
graphenej/build
|
||||||
|
|
||||||
|
local.properties
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="WEB_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$" />
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
|
@ -1,3 +0,0 @@
|
||||||
dependencies {
|
|
||||||
compile project(':graphenej')
|
|
||||||
}
|
|
Binary file not shown.
|
@ -1,2 +0,0 @@
|
||||||
Manifest-Version: 1.0
|
|
||||||
|
|
|
@ -1,99 +0,0 @@
|
||||||
package de.bitsharesmunich.graphenej;
|
|
||||||
|
|
||||||
public class Main {
|
|
||||||
|
|
||||||
// Brain key from Nelson's app referencing the bilthon-83 account
|
|
||||||
public static final String BILTHON_83_BRAIN_KEY = System.getenv("BILTHON_83_BRAIN_KEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_83_ORIGINAL_BRAIN_KEY = System.getenv("BILTHON_83_ORIGINAL_BRAIN_KEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_1_BRAIN_KEY = System.getenv("BILTHON_1_BRAIN_KEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_5_BRAIN_KEY = System.getenv("BILTHON_5_BRAIN_KEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_7_BRAIN_KEY = System.getenv("BILTHON_7_BRAIN_KEY");
|
|
||||||
|
|
||||||
public static final String BIP39_KEY = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
|
|
||||||
|
|
||||||
public static final String WIF = "5KMzB2GqGhnh7ufhgddmz1eKPHS72uTLeL9hHjSvPb1UywWknF5";
|
|
||||||
|
|
||||||
public static final String BILTHON_83_PASSWORD = System.getenv("BILTHON_83_PASSWORD");
|
|
||||||
|
|
||||||
public static final String BILTHON_25_PASSWORD = System.getenv("BILTHON_25_PASSWORD");
|
|
||||||
|
|
||||||
public static final String BILTHON_11_BRAIN_KEY = System.getenv("BILTHON_11_BRAINKEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_15_BRAIN_KEY = System.getenv("BILTHON_15_BRAINKEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_16_BRAIN_KEY = System.getenv("BILTHON_16_BRAINKEY");
|
|
||||||
|
|
||||||
public static final String BILTHON_36_BRAIN_KEY = System.getenv("BILTHON_36_BRAINKEY");
|
|
||||||
|
|
||||||
public static final String GENERIC_PASSWORD = System.getenv("GENERIC_PASSWORD");
|
|
||||||
|
|
||||||
public static final String DISCLOSABLE_PASSWORD = System.getenv("DISCLOSABLE_PASSWORD");
|
|
||||||
|
|
||||||
// Static block information used for transaction serialization tests
|
|
||||||
public static int REF_BLOCK_NUM = 56204;
|
|
||||||
public static int REF_BLOCK_PREFIX = 1614747814;
|
|
||||||
public static int RELATIVE_EXPIRATION = 1478385607;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
Test test = new Test();
|
|
||||||
|
|
||||||
// test.testTransactionSerialization();
|
|
||||||
// ECKey.ECDSASignature signature = test.testSigning();
|
|
||||||
|
|
||||||
// try {
|
|
||||||
// test.testWebSocketTransfer();
|
|
||||||
// } catch (IOException e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// }
|
|
||||||
// test.testCustomSerializer();
|
|
||||||
// test.testUserAccountSerialization();
|
|
||||||
// test.testTransactionSerialization();
|
|
||||||
// test.testLoginSerialization();
|
|
||||||
// test.testNetworkBroadcastSerialization();
|
|
||||||
// test.testNetworkBroadcastDeserialization();
|
|
||||||
// test.testGetDynamicParams();
|
|
||||||
// test.testGetRequiredFeesSerialization();
|
|
||||||
// test.testRequiredFeesResponse();
|
|
||||||
// test.testTransactionBroadcastSequence();
|
|
||||||
// test.testAccountLookupDeserialization();
|
|
||||||
// test.testPrivateKeyManipulations();
|
|
||||||
// test.testPublicKeyManipulations();
|
|
||||||
// test.testGetAccountByName();
|
|
||||||
// test.testGetRequiredFees();
|
|
||||||
// test.testRandomNumberGeneration();
|
|
||||||
// test.testBrainKeyOperations(false);
|
|
||||||
// test.testBip39Opertion();
|
|
||||||
// test.testAccountNamebyAddress();
|
|
||||||
// test.testAccountNameById();
|
|
||||||
// test.testRelativeAccountHistory();
|
|
||||||
// test.testingInvoiceGeneration();
|
|
||||||
// test.testCompression();
|
|
||||||
// test.testAccountUpdateSerialization();
|
|
||||||
// test.testAccountUpdateOperationBroadcast();
|
|
||||||
// test.testCreateBinFile();
|
|
||||||
// test.testImportBinFile();
|
|
||||||
// test.testExportBinFile();
|
|
||||||
// test.testLzmaCompression();
|
|
||||||
// test.testLzmaDecompression();
|
|
||||||
// test.testSimpleDecompression();
|
|
||||||
// test.testLookupAccounts();
|
|
||||||
// test.testLookupAccounts();
|
|
||||||
// test.testDecodeMemo();
|
|
||||||
// test.testGetRelativeAccountHistory();
|
|
||||||
// test.testLookupAssetSymbols();
|
|
||||||
// test.testListAssets();
|
|
||||||
// test.testGetObjects();
|
|
||||||
// test.testGetBlockHeader();
|
|
||||||
test.testGetLimitOrders();
|
|
||||||
// test.testGetTradeHistory();
|
|
||||||
// test.testAssetSerialization();
|
|
||||||
// test.testGetMarketHistory();
|
|
||||||
// test.testGetAccountBalances();
|
|
||||||
// test.testGetAssetHoldersCount();
|
|
||||||
// test.testSubscription(null);
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,8 +3,15 @@ allprojects {
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply plugin: "java"
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath 'com.android.tools.build:gradle:2.3.0'
|
||||||
|
}
|
||||||
|
}
|
33
gradle.properties
Normal file
33
gradle.properties
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# Project-wide Gradle settings.
|
||||||
|
|
||||||
|
# IDE (e.g. Android Studio) users:
|
||||||
|
# Gradle settings configured through the IDE *will override*
|
||||||
|
# any settings specified in this file.
|
||||||
|
|
||||||
|
# For more details on how to configure your build environment visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||||
|
|
||||||
|
# Specifies the JVM arguments used for the daemon process.
|
||||||
|
# The setting is particularly useful for tweaking memory settings.
|
||||||
|
# Default value: -Xmx10248m -XX:MaxPermSize=256m
|
||||||
|
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||||
|
|
||||||
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
|
# org.gradle.parallel=true
|
||||||
|
|
||||||
|
VERSION_NAME=0.4.1
|
||||||
|
VERSION_CODE=3
|
||||||
|
GROUP=com.github.kenCode-de
|
||||||
|
|
||||||
|
POM_DESCRIPTION=A Java library for mobile app Developers; Graphene/Bitshares blockchain.
|
||||||
|
POM_URL=https://github.com/kenCode-de/graphenej
|
||||||
|
POM_SCM_URL=https://github.com/kenCode-de/graphenej
|
||||||
|
POM_SCM_CONNECTION=scm:git@github.com:kenCode-de/graphenej.git
|
||||||
|
POM_SCM_DEV_CONNECTION=scm:git@github.com:kenCode-de/graphenej.git
|
||||||
|
POM_LICENCE_NAME=MIT License
|
||||||
|
POM_LICENCE_URL=https://github.com/kenCode-de/graphenej/blob/master/LICENSE
|
||||||
|
POM_LICENCE_DIST=repo
|
||||||
|
POM_DEVELOPER_ID=bilthon
|
||||||
|
POM_DEVELOPER_NAME=bilthon
|
|
@ -1,17 +1,9 @@
|
||||||
group 'de.bitsharesmunich'
|
group 'de.bitsharesmunich'
|
||||||
version '0.1-SNAPSHOT'
|
version '0.4.0-SNAPSHOT'
|
||||||
|
|
||||||
|
apply plugin: 'com.android.library'
|
||||||
|
apply from: 'maven-push.gradle'
|
||||||
|
|
||||||
//apply plugin: 'java'
|
|
||||||
//
|
|
||||||
//model {
|
|
||||||
// components {
|
|
||||||
// main(JvmLibrarySpec)
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//repositories {
|
|
||||||
// mavenCentral()
|
|
||||||
//}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||||
|
@ -20,3 +12,24 @@ dependencies {
|
||||||
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
|
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
|
||||||
compile group: "org.tukaani", name: "xz", version: "1.6"
|
compile group: "org.tukaani", name: "xz", version: "1.6"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 24
|
||||||
|
buildToolsVersion "25.0.0"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
minSdkVersion 3
|
||||||
|
targetSdkVersion 24
|
||||||
|
versionCode 3
|
||||||
|
versionName "0.4.1"
|
||||||
|
|
||||||
|
vectorDrawables.useSupportLibrary = true
|
||||||
|
}
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
graphenej/gradle.properties
Normal file
3
graphenej/gradle.properties
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
POM_NAME=Graphenej
|
||||||
|
POM_ARTIFACT_ID=graphenej
|
||||||
|
POM_PACKAGING=aar
|
112
graphenej/maven-push.gradle
Normal file
112
graphenej/maven-push.gradle
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2013 Chris Banes
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
apply plugin: 'maven'
|
||||||
|
apply plugin: 'signing'
|
||||||
|
|
||||||
|
def isReleaseBuild() {
|
||||||
|
return VERSION_NAME.contains("SNAPSHOT") == false
|
||||||
|
}
|
||||||
|
|
||||||
|
def getReleaseRepositoryUrl() {
|
||||||
|
return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL
|
||||||
|
: "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
|
||||||
|
}
|
||||||
|
|
||||||
|
def getSnapshotRepositoryUrl() {
|
||||||
|
return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
|
||||||
|
: "https://oss.sonatype.org/content/repositories/snapshots/"
|
||||||
|
}
|
||||||
|
|
||||||
|
def getRepositoryUsername() {
|
||||||
|
return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : ""
|
||||||
|
}
|
||||||
|
|
||||||
|
def getRepositoryPassword() {
|
||||||
|
return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
|
||||||
|
}
|
||||||
|
|
||||||
|
afterEvaluate { project ->
|
||||||
|
uploadArchives {
|
||||||
|
repositories {
|
||||||
|
mavenDeployer {
|
||||||
|
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
|
||||||
|
|
||||||
|
pom.groupId = GROUP
|
||||||
|
pom.artifactId = POM_ARTIFACT_ID
|
||||||
|
pom.version = VERSION_NAME
|
||||||
|
|
||||||
|
repository(url: getReleaseRepositoryUrl()) {
|
||||||
|
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
|
||||||
|
}
|
||||||
|
snapshotRepository(url: getSnapshotRepositoryUrl()) {
|
||||||
|
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
|
||||||
|
}
|
||||||
|
|
||||||
|
pom.project {
|
||||||
|
name POM_NAME
|
||||||
|
packaging POM_PACKAGING
|
||||||
|
description POM_DESCRIPTION
|
||||||
|
url POM_URL
|
||||||
|
|
||||||
|
scm {
|
||||||
|
url POM_SCM_URL
|
||||||
|
connection POM_SCM_CONNECTION
|
||||||
|
developerConnection POM_SCM_DEV_CONNECTION
|
||||||
|
}
|
||||||
|
|
||||||
|
licenses {
|
||||||
|
license {
|
||||||
|
name POM_LICENCE_NAME
|
||||||
|
url POM_LICENCE_URL
|
||||||
|
distribution POM_LICENCE_DIST
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
developers {
|
||||||
|
developer {
|
||||||
|
id POM_DEVELOPER_ID
|
||||||
|
name POM_DEVELOPER_NAME
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
signing {
|
||||||
|
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
|
||||||
|
sign configurations.archives
|
||||||
|
}
|
||||||
|
|
||||||
|
//task androidJavadocs(type: Javadoc) {
|
||||||
|
//source = android.sourceSets.main.allJava
|
||||||
|
//}
|
||||||
|
|
||||||
|
//task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
|
||||||
|
//classifier = 'javadoc'
|
||||||
|
//from androidJavadocs.destinationDir
|
||||||
|
//}
|
||||||
|
|
||||||
|
task androidSourcesJar(type: Jar) {
|
||||||
|
classifier = 'sources'
|
||||||
|
from android.sourceSets.main.java.sourceFiles
|
||||||
|
}
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
archives androidSourcesJar
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +0,0 @@
|
||||||
rootProject.name = 'graphenej'
|
|
||||||
include 'application'
|
|
||||||
|
|
9
graphenej/src/main/AndroidManifest.xml
Normal file
9
graphenej/src/main/AndroidManifest.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="de.bitsharesmunich.graphenej"
|
||||||
|
android:versionCode="1"
|
||||||
|
android:versionName="0.4.0" >
|
||||||
|
|
||||||
|
<uses-sdk android:minSdkVersion="1" />
|
||||||
|
<application/>
|
||||||
|
</manifest>
|
|
@ -1,67 +0,0 @@
|
||||||
package de.bitsharesmunich.graphenej;
|
|
||||||
|
|
||||||
import de.bitsharesmunich.graphenej.errors.MalformedTransactionException;
|
|
||||||
import de.bitsharesmunich.graphenej.operations.AccountUpdateOperation;
|
|
||||||
import org.bitcoinj.core.ECKey;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class used to build a transaction containing an account update operation.
|
|
||||||
*/
|
|
||||||
public class AccountUpdateTransactionBuilder extends TransactionBuilder {
|
|
||||||
private List<BaseOperation> operations;
|
|
||||||
private AssetAmount fee;
|
|
||||||
private UserAccount account;
|
|
||||||
private Authority owner;
|
|
||||||
private Authority active;
|
|
||||||
private AccountOptions new_options;
|
|
||||||
|
|
||||||
public AccountUpdateTransactionBuilder(ECKey privKey) {
|
|
||||||
super(privKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public AccountUpdateTransactionBuilder setAccont(UserAccount account){
|
|
||||||
this.account = account;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AccountUpdateTransactionBuilder setOwner(Authority owner){
|
|
||||||
this.owner = owner;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AccountUpdateTransactionBuilder setActive(Authority active){
|
|
||||||
this.active = active;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AccountUpdateTransactionBuilder setOptions(AccountOptions options){
|
|
||||||
this.new_options = options;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AccountUpdateTransactionBuilder setFee(AssetAmount fee){
|
|
||||||
this.fee = fee;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Transaction build() throws MalformedTransactionException {
|
|
||||||
if(account == null){
|
|
||||||
throw new MalformedTransactionException("Missing required account information");
|
|
||||||
}else{
|
|
||||||
operations = new ArrayList<>();
|
|
||||||
AccountUpdateOperation operation;
|
|
||||||
if(fee == null){
|
|
||||||
operation = new AccountUpdateOperation(account, owner, active, new_options);
|
|
||||||
}else{
|
|
||||||
operation = new AccountUpdateOperation(account, owner, active, new_options, fee);
|
|
||||||
}
|
|
||||||
operations.add(operation);
|
|
||||||
}
|
|
||||||
return new Transaction(privateKey, blockData, operations);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,3 +1,3 @@
|
||||||
rootProject.name = "Graphenej"
|
rootProject.name = "Graphenej"
|
||||||
|
|
||||||
include ":graphenej", ":app"
|
include ":graphenej"
|
||||||
|
|
Loading…
Reference in a new issue