From 493c424b63fbf203a8dd75cd302393f9b9376267 Mon Sep 17 00:00:00 2001 From: Sanchay Date: Mon, 24 Feb 2020 19:56:51 +0530 Subject: [PATCH 1/4] * Upgraded to 0.2.5 * Added new assetGroup methods (managing as well as querying) --- .../example/liquid_test_2/MainActivity.java | 56 +++++++++++++++++-- build.gradle | 2 +- .../main/java/com/crux/sdk/CruxClient.java | 20 ++++++- .../com/crux/sdk/bridge/CruxJSBridge.java | 4 +- .../com/crux/sdk/bridge/GenericUtils.java | 2 + 5 files changed, 74 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/example/liquid_test_2/MainActivity.java b/app/src/main/java/com/example/liquid_test_2/MainActivity.java index d41fd18..8a1fce3 100644 --- a/app/src/main/java/com/example/liquid_test_2/MainActivity.java +++ b/app/src/main/java/com/example/liquid_test_2/MainActivity.java @@ -8,12 +8,6 @@ import com.crux.sdk.CruxClient; import com.crux.sdk.model.*; -//import com.crux.sdk.model.CruxAddress; -//import com.crux.sdk.model.CruxClientError; -//import com.crux.sdk.model.CruxClientInitConfig; -//import com.crux.sdk.model.CruxClientResponseHandler; -//import com.crux.sdk.model.CruxIDState; -//import com.crux.sdk.model.CruxPutAddressMapSuccess; import java.io.IOException; import java.util.HashMap; @@ -111,6 +105,35 @@ public void onErrorResponse(CruxClientError failureResponse) { } }); + client.getEnabledAssetGroups(new CruxClientResponseHandler() { + @Override + public void onResponse(String[] successResponse) { + System.out.println("--------getEnabledAssetGroups-------"); + System.out.println(successResponse); + } + + @Override + public void onErrorResponse(CruxClientError failureResponse) { + System.err.println(failureResponse.errorCode); + System.err.println(failureResponse.errorMessage); + } + }); + + final String[] assetGroups = {"ERC20_eth"}; + client.putEnabledAssetGroups(assetGroups, new CruxClientResponseHandler() { + @Override + public void onResponse(String[] successResponse) { + System.out.println("--------putEnabledAssetGroups-------"); + System.out.println(successResponse); + } + + @Override + public void onErrorResponse(CruxClientError failureResponse) { + System.err.println(failureResponse.errorCode); + System.err.println(failureResponse.errorMessage); + } + }); + final String testResolveAddressCruxId = "mascot6699@cruxdev.crux"; client.resolveCurrencyAddressForCruxID(testResolveAddressCruxId, "xrp", new CruxClientResponseHandler() { @Override @@ -125,6 +148,20 @@ public void onErrorResponse(CruxClientError failureResponse) { } }); + HashMap assetMatcher = getAssetMatcher(); + client.resolveAssetAddressForCruxID(testResolveAddressCruxId, assetMatcher, new CruxClientResponseHandler() { + @Override + public void onResponse(CruxAddress successResponse) { + System.out.println("--------resolveAssetAddressForCruxID-------"); + System.out.println(successResponse); + } + + @Override + public void onErrorResponse(CruxClientError failureResponse) { + System.out.println(failureResponse); + } + }); + HashMap newAddressMap = getCurrencyMap(); client.putAddressMap(newAddressMap, new CruxClientResponseHandler() { @@ -154,4 +191,11 @@ private HashMap getCurrencyMap() { return currencyMap; } + private HashMap getAssetMatcher() { + HashMap assetMatcher = new HashMap<>(); + assetMatcher.put("assetGroup", "ERC20_ETH"); +// assetMatcher.put("assetIdentifierValue", "0xE41d2489571d322189246DaFA5ebDe1F4699F498") + return assetMatcher; + } + } diff --git a/build.gradle b/build.gradle index e60fc0a..3adf2f5 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.1' + classpath 'com.android.tools.build:gradle:3.5.3' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // NOTE: Do not place your application dependencies here; they belong diff --git a/sdk/src/main/java/com/crux/sdk/CruxClient.java b/sdk/src/main/java/com/crux/sdk/CruxClient.java index e1cecfa..84e7ea8 100644 --- a/sdk/src/main/java/com/crux/sdk/CruxClient.java +++ b/sdk/src/main/java/com/crux/sdk/CruxClient.java @@ -55,7 +55,6 @@ public void getAddressMap(final CruxClientResponseHandler newAddressMap, final CruxClientResponseHandler handler){ - Gson gson = new Gson(); CruxParams params = new CruxParams(jsBridge.JSONtoObject(gson.toJson(newAddressMap))); CruxJSBridgeAsyncRequest bridgeRequest = new CruxJSBridgeAsyncRequest("putAddressMap", params, new CruxJSBridgeResponseHandlerImpl(CruxPutAddressMapSuccess.class, handler, gson)); jsBridge.executeAsync(bridgeRequest); @@ -71,4 +70,23 @@ public void isCruxIDAvailable(String cruxIDSubdomain, final CruxClientResponseHa jsBridge.executeAsync(bridgeRequest); } + public void resolveAssetAddressForCruxID(String fullCruxID, HashMap assetMatcher, final CruxClientResponseHandler handler){ + Object assetMatcherJsObj = jsBridge.JSONtoObject(gson.toJson(assetMatcher)); + CruxJSBridgeAsyncRequest bridgeRequest = new CruxJSBridgeAsyncRequest("resolveAssetAddressForCruxID", new CruxParams(fullCruxID, assetMatcherJsObj), new CruxJSBridgeResponseHandlerImpl(CruxAddress.class, handler, gson)); + jsBridge.executeAsync(bridgeRequest); + } + + public void getEnabledAssetGroups(final CruxClientResponseHandler handler) { + Type type = new TypeToken(){}.getType(); + CruxJSBridgeAsyncRequest bridgeRequest = new CruxJSBridgeAsyncRequest("getEnabledAssetGroups", new CruxParams(), new CruxJSBridgeResponseHandlerImpl(type, handler, gson)); + jsBridge.executeAsync(bridgeRequest); + } + + public void putEnabledAssetGroups(String[] symbolAssetGroups, final CruxClientResponseHandler handler) { + Object symbolAssetGroupsJsObj = jsBridge.JSONtoObject(gson.toJson(symbolAssetGroups)); + Type type = new TypeToken(){}.getType(); + CruxJSBridgeAsyncRequest bridgeRequest = new CruxJSBridgeAsyncRequest("putEnabledAssetGroups", new CruxParams(symbolAssetGroupsJsObj), new CruxJSBridgeResponseHandlerImpl(type, handler, gson)); + jsBridge.executeAsync(bridgeRequest); + } + } diff --git a/sdk/src/main/java/com/crux/sdk/bridge/CruxJSBridge.java b/sdk/src/main/java/com/crux/sdk/bridge/CruxJSBridge.java index 5a770a0..849684f 100644 --- a/sdk/src/main/java/com/crux/sdk/bridge/CruxJSBridge.java +++ b/sdk/src/main/java/com/crux/sdk/bridge/CruxJSBridge.java @@ -17,8 +17,8 @@ public class CruxJSBridge { private final JSContext jsContext; private JSObject jsClient; - private final String cruxJsFileName = "cruxpay-0.1.9.js"; - private final Long cruxJsFileCheckSum = new Long(349195419); + private final String cruxJsFileName = "cruxpay-0.2.5.js"; + private final Long cruxJsFileCheckSum = new Long(1340530023); public CruxJSBridge(CruxClientInitConfig.Builder configBuilder, Context androidContextObject) throws IOException, CruxClientError { diff --git a/sdk/src/main/java/com/crux/sdk/bridge/GenericUtils.java b/sdk/src/main/java/com/crux/sdk/bridge/GenericUtils.java index 27819c1..cc9aad4 100644 --- a/sdk/src/main/java/com/crux/sdk/bridge/GenericUtils.java +++ b/sdk/src/main/java/com/crux/sdk/bridge/GenericUtils.java @@ -40,6 +40,8 @@ public static String toJavaString(JSValue val) { return val.toBoolean().toString(); else if (val.isUndefined()) return null; + else if (val.isArray()) + return val.toJSON(); else if (val.isObject()) return new JSONObject(val.toJSON()).toString(); From bba2c4045ff1ed5a34536d11212ed8563954f8c1 Mon Sep 17 00:00:00 2001 From: Sanchay Date: Mon, 24 Feb 2020 20:04:59 +0530 Subject: [PATCH 2/4] Committing Project.xml --- .idea/codeStyles/Project.xml | 116 +++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 .idea/codeStyles/Project.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file From 278aedd6493633df9154261672df46ab52deebc1 Mon Sep 17 00:00:00 2001 From: Sanchay Date: Mon, 24 Feb 2020 20:06:17 +0530 Subject: [PATCH 3/4] Removing old version cruxpay file --- sdk/src/main/assets/cruxpay-0.2.4.js | 121875 ------------------------ 1 file changed, 121875 deletions(-) delete mode 100644 sdk/src/main/assets/cruxpay-0.2.4.js diff --git a/sdk/src/main/assets/cruxpay-0.2.4.js b/sdk/src/main/assets/cruxpay-0.2.4.js deleted file mode 100644 index 9cc921e..0000000 --- a/sdk/src/main/assets/cruxpay-0.2.4.js +++ /dev/null @@ -1,121875 +0,0 @@ -// modules are defined as an array -// [ module function, map of requires ] -// -// map of requires is short require name -> numeric require -// -// anything defined in a previous bundle is accessed via the -// orig method which is the require for previous bundles -parcelRequire = (function (modules, cache, entry, globalName) { - // Save the require from previous bundle to this closure if any - var previousRequire = typeof parcelRequire === 'function' && parcelRequire; - var nodeRequire = typeof require === 'function' && require; - - function newRequire(name, jumped) { - if (!cache[name]) { - if (!modules[name]) { - // if we cannot find the module within our internal map or - // cache jump to the current global require ie. the last bundle - // that was added to the page. - var currentRequire = typeof parcelRequire === 'function' && parcelRequire; - if (!jumped && currentRequire) { - return currentRequire(name, true); - } - - // If there are other bundles on this page the require from the - // previous one is saved to 'previousRequire'. Repeat this as - // many times as there are bundles until the module is found or - // we exhaust the require chain. - if (previousRequire) { - return previousRequire(name, true); - } - - // Try the node require function if it exists. - if (nodeRequire && typeof name === 'string') { - return nodeRequire(name); - } - - var err = new Error('Cannot find module \'' + name + '\''); - err.code = 'MODULE_NOT_FOUND'; - throw err; - } - - localRequire.resolve = resolve; - localRequire.cache = {}; - - var module = cache[name] = new newRequire.Module(name); - - modules[name][0].call(module.exports, localRequire, module, module.exports, this); - } - - return cache[name].exports; - - function localRequire(x){ - return newRequire(localRequire.resolve(x)); - } - - function resolve(x){ - return modules[name][1][x] || x; - } - } - - function Module(moduleName) { - this.id = moduleName; - this.bundle = newRequire; - this.exports = {}; - } - - newRequire.isParcelRequire = true; - newRequire.Module = Module; - newRequire.modules = modules; - newRequire.cache = cache; - newRequire.parent = previousRequire; - newRequire.register = function (id, exports) { - modules[id] = [function (require, module) { - module.exports = exports; - }, {}]; - }; - - var error; - for (var i = 0; i < entry.length; i++) { - try { - newRequire(entry[i]); - } catch (e) { - // Save first error but execute all entries - if (!error) { - error = e; - } - } - } - - if (entry.length) { - // Expose entry point to Node, AMD or browser globals - // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js - var mainExports = newRequire(entry[entry.length - 1]); - - // CommonJS - if (typeof exports === "object" && typeof module !== "undefined") { - module.exports = mainExports; - - // RequireJS - } else if (typeof define === "function" && define.amd) { - define(function () { - return mainExports; - }); - - //