diff --git a/index.html b/index.html
index b795c44..60d99e9 100644
--- a/index.html
+++ b/index.html
@@ -504,11 +504,13 @@
//for cloud apps
subAdmins: [],
+ webAppURL: "167.172.219.249:8368",
application: "TestApp",
vectorClock: {},
appObjects: {},
generalData: {},
generalVC: {}
+
}
@@ -663,7 +665,7 @@
for (var bytes = [], i = 0, imod4 = 0; i < base64.length; imod4 = ++i % 4) {
if (imod4 == 0) continue;
bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & (Math.pow(2, -2 * imod4 +
- 8) - 1)) << (imod4 * 2)) |
+ 8) - 1)) << (imod4 * 2)) |
(base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));
}
@@ -735,7 +737,7 @@
var digestbytes = util.wordsToBytes(SHA1._sha1(message));
return options && options.asBytes ? digestbytes :
options && options.asString ? Binary.bytesToString(digestbytes) :
- util.bytesToHex(digestbytes);
+ util.bytesToHex(digestbytes);
};
// The core
@@ -776,9 +778,9 @@
var t = ((H0 << 5) | (H0 >>> 27)) + H4 + (w[j] >>> 0) + (
j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 :
- j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 :
- j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 :
- (H1 ^ H2 ^ H3) - 899497514);
+ j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 :
+ j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 :
+ (H1 ^ H2 ^ H3) - 899497514);
H4 = H3;
H3 = H2;
@@ -852,7 +854,7 @@
return options && options.asBytes ? hmacbytes :
options && options.asString ? Binary.bytesToString(hmacbytes) :
- util.bytesToHex(hmacbytes);
+ util.bytesToHex(hmacbytes);
};
@@ -925,8 +927,8 @@
for (var b = b.replace(/[^A-Z0-9+\/]/ig, ""), a = [], c = 0, e = 0; c < b.length; e = ++c %
4) e != 0 && a.push(("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
.indexOf(b.charAt(c - 1)) & Math.pow(2, -2 * e + 8) - 1) << e * 2 |
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(b.charAt(
- c)) >>> 6 - e * 2);
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(b.charAt(
+ c)) >>> 6 - e * 2);
return a
}
},
@@ -993,7 +995,7 @@
for (h = 0; h < 64; h++) {
h < 16 ? d[h] = e[h + t] : (l = d[h - 15], j = d[h - 2], d[h] = ((l << 25 | l >>> 7) ^
(l << 14 | l >>> 18) ^ l >>> 3) + (d[h - 7] >>> 0) + ((j << 15 | j >>> 17) ^
- (j << 13 | j >>> 19) ^ j >>> 10) + (d[h - 16] >>> 0));
+ (j << 13 | j >>> 19) ^ j >>> 10) + (d[h - 16] >>> 0));
j = f & g ^ f & m ^ g & m;
var u = (f << 30 | f >>> 2) ^ (f << 19 | f >>> 13) ^ (f << 10 | f >>> 22);
l = (s >>> 0) + ((i << 26 | i >>> 6) ^ (i << 21 | i >>> 11) ^ (i << 7 | i >>> 25)) +
@@ -1059,7 +1061,7 @@
(function () {
// Constructor function of Global SecureRandom object
- var sr = window.SecureRandom = function () {};
+ var sr = window.SecureRandom = function () { };
// Properties
sr.state;
@@ -1469,7 +1471,7 @@
if (a != null)
if ("number" == typeof a) this.fromNumber(a, b, c);
else if (b == null && "string" != typeof a) this.fromString(a, 256);
- else this.fromString(a, b);
+ else this.fromString(a, b);
};
// Bits per digit
@@ -2935,7 +2937,7 @@
// A "null" reducer
- var NullExp = window.NullExp = function NullExp() {}
+ var NullExp = window.NullExp = function NullExp() { }
NullExp.prototype.convert = function (x) {
return x;
};
@@ -3026,7 +3028,7 @@
(function () {
// Constructor function of Global EllipticCurve object
- var ec = window.EllipticCurve = function () {};
+ var ec = window.EllipticCurve = function () { };
// ----------------
// ECFieldElementFp constructor
@@ -3112,7 +3114,7 @@
P = new BigInteger(this.q.bitLength(), rand);
}
while (P.compareTo(this.q) >= 0 || !(P.multiply(P).subtract(fourQ).modPow(legendreExponent,
- this.q).equals(qMinusOne)));
+ this.q).equals(qMinusOne)));
var result = ec.FieldElementFp.fastLucasSequence(this.q, P, Q, k);
@@ -3173,8 +3175,8 @@
// No-operation padding, used for stream ciphers
C_pad.NoPadding = {
- pad: function (cipher, message) {},
- unpad: function (cipher, message) {}
+ pad: function (cipher, message) { },
+ unpad: function (cipher, message) { }
};
// Zero Padding.
@@ -3596,7 +3598,7 @@
return options && options.asBytes ? derivedKeyBytes :
options && options.asString ? Binary.bytesToString(derivedKeyBytes) :
- util.bytesToHex(derivedKeyBytes);
+ util.bytesToHex(derivedKeyBytes);
};
@@ -4063,11 +4065,11 @@
// Inner state
var state = [
- [],
- [],
- [],
- []
- ],
+ [],
+ [],
+ [],
+ []
+ ],
keylength,
nrounds,
keyschedule;
@@ -4093,8 +4095,8 @@
// Convert to bytes if message is a string
m = (
message.constructor == String ?
- UTF8.stringToBytes(message) :
- message
+ UTF8.stringToBytes(message) :
+ message
),
// Generate random IV
@@ -4103,12 +4105,12 @@
// Generate key
k = (
password.constructor == String ?
- // Derive key from pass-phrase
- C.PBKDF2(password, iv, 32, {
- asBytes: true
- }) :
- // else, assume byte array representing cryptographic key
- password
+ // Derive key from pass-phrase
+ C.PBKDF2(password, iv, 32, {
+ asBytes: true
+ }) :
+ // else, assume byte array representing cryptographic key
+ password
);
// Encrypt
@@ -4136,8 +4138,8 @@
// Convert to bytes if ciphertext is a string
c = (
ciphertext.constructor == String ?
- util.base64ToBytes(ciphertext) :
- ciphertext
+ util.base64ToBytes(ciphertext) :
+ ciphertext
),
// Separate IV and message
@@ -4146,12 +4148,12 @@
// Generate key
k = (
password.constructor == String ?
- // Derive key from pass-phrase
- C.PBKDF2(password, iv, 32, {
- asBytes: true
- }) :
- // else, assume byte array representing cryptographic key
- password
+ // Derive key from pass-phrase
+ C.PBKDF2(password, iv, 32, {
+ asBytes: true
+ }) :
+ // else, assume byte array representing cryptographic key
+ password
);
// Decrypt
@@ -4972,7 +4974,7 @@
//bitTrx.js
(function () {
- var bitjs = window.bitjs = function () {};
+ var bitjs = window.bitjs = function () { };
/* public vars */
bitjs.pub = 0x23; // flochange - changed the prefix to FLO Mainnet PublicKey Prefix 0x23
@@ -5994,7 +5996,7 @@
if (pubkey.getBitcoinAddress().toString() == address) {
return i;
}
- } catch (e) {}
+ } catch (e) { }
}
throw "Unable to find valid recovery factor";
}
@@ -6100,8 +6102,8 @@
// This part is edited for FLO. FLO WIF are always compressed WIF. FLO WIF (private key) starts with R for mainnet and c for testnet.
if (((floGlobals.blockchain == "FLO") &&
- /^R[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{51}$/.test(
- input)) ||
+ /^R[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{51}$/.test(
+ input)) ||
((floGlobals.blockchain == "FLO_TEST") &&
/^c[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{51}$/.test(
input))) {
@@ -6531,7 +6533,7 @@
});
},
// duck typing method
- hasMethods: function (obj /*, method list as strings */ ) {
+ hasMethods: function (obj /*, method list as strings */) {
var i = 1,
methodName;
while ((methodName = arguments[i++])) {
@@ -6547,7 +6549,7 @@
(function (ellipticCurveType) {
//Defining Elliptic Encryption Object
- var ellipticEncryption = window.ellipticCurveEncryption = function () {};
+ var ellipticEncryption = window.ellipticCurveEncryption = function () { };
ellipticEncryption.rng = new SecureRandom();
@@ -6722,7 +6724,7 @@
function init(bits) {
if (bits && (typeof bits !== 'number' || bits % 1 !== 0 || bits < defaults.minBits || bits >
- defaults.maxBits)) {
+ defaults.maxBits)) {
throw new Error('Number of bits must be an integer between ' + defaults.minBits + ' and ' +
defaults.maxBits + ', inclusive.')
}
@@ -6786,7 +6788,7 @@
// node.js crypto.randomBytes()
if (typeof require === 'function' && (crypto = require('crypto')) && (randomBits = crypto[
- 'randomBytes'])) {
+ 'randomBytes'])) {
return function (bits) {
var bytes = Math.ceil(bits / 8),
str = null;
@@ -6800,7 +6802,7 @@
// browsers with window.crypto.getRandomValues()
if (global['crypto'] && typeof global['crypto']['getRandomValues'] === 'function' && typeof global[
- 'Uint32Array'] === 'function') {
+ 'Uint32Array'] === 'function') {
crypto = global['crypto'];
return function (bits) {
var elems = Math.ceil(bits / 32),
@@ -6857,7 +6859,7 @@
// test the RNG (5 times)
if (typeof rng !== 'function' || typeof rng(config.bits) !== 'string' || !parseInt(rng(config.bits),
- 2) || rng(config.bits).length > config.bits || rng(config.bits).length < config.bits) {
+ 2) || rng(config.bits).length > config.bits || rng(config.bits).length < config.bits) {
throw new Error(
"Random number generator is invalid. Supply an RNG of the form function(bits){} that returns a string containing 'bits' number of random 1's and 0's."
)
@@ -7014,7 +7016,7 @@
var bits = parseInt(share[0], 36);
if (bits && (typeof bits !== 'number' || bits % 1 !== 0 || bits < defaults.minBits || bits >
- defaults.maxBits)) {
+ defaults.maxBits)) {
throw new Error('Number of bits must be an integer between ' + defaults.minBits + ' and ' +
defaults.maxBits + ', inclusive.')
}
@@ -7132,13 +7134,13 @@
continue;
}
if (at === x[
- j]) { // happens when computing a share that is in the list of shares used to compute it
+ j]) { // happens when computing a share that is in the list of shares used to compute it
product = -
1; // fix for a zero product term, after which the sum should be sum^0 = sum, not sum^1
break;
}
product = (product + config.logs[at ^ x[j]] - config.logs[x[i] ^ x[j]] + config
- .max /* to make sure it's not negative */ ) %
+ .max /* to make sure it's not negative */) %
config.max;
}
@@ -7739,7 +7741,7 @@
var receiverDerivedKey = this.util.deriveReceiverSharedKey(data.senderPublicKeyString,
receiverECKeyData
- .privateKey);
+ .privateKey);
let receiverKey = receiverDerivedKey.XValue + receiverDerivedKey.YValue;
let decryptMsg = Crypto.AES.decrypt(data.secret, receiverKey);
@@ -8100,7 +8102,7 @@
invalids.InvalidSenderPrivKeys.push(key);
else {
if (typeof senderPrivKeys[key] !== 'number' || senderPrivKeys[
- key] <= 0)
+ key] <= 0)
invalids.InvalidSenderAmountFor.push(key)
else
inputVal += senderPrivKeys[key];
@@ -8155,7 +8157,7 @@
for (let floID in senders) {
balance[floID] = parseFloat(results.shift());
if (isNaN(balance[floID]) || (preserveRatio && balance[floID] <=
- totalFee) || (!preserveRatio && balance[floID] < senders[floID]
+ totalFee) || (!preserveRatio && balance[floID] < senders[floID]
.coins + dividedFee))
insufficient.push(floID)
totalBalance += balance[floID];
@@ -8288,13 +8290,13 @@
continue;
if (options.pattern && !response.items[i].floData
.startsWith(options.pattern, 0) && !response.items[i]
- .floData.startsWith(options.pattern, 2))
+ .floData.startsWith(options.pattern, 2))
continue;
if (options.contains && !response.items[i].floData.includes(
- options.contains))
+ options.contains))
continue;
if (options.filter && !options.filter(response.items[i]
- .floData))
+ .floData))
continue;
filteredData.push(response.items[i].floData);
}
@@ -8303,8 +8305,8 @@
data: filteredData
});
}).catch(error => {
- reject(error);
- });
+ reject(error);
+ });
}).catch(error => {
reject(error);
});
@@ -8978,7 +8980,7 @@
var db = event.target.result;
for (let obs in objectStores) {
var objectStore = db.createObjectStore(obs, objectStores[obs].options ||
- {});
+ {});
if (objectStores[obs].indexes && typeof objectStores[obs].indexes ===
'object')
for (let i in objectStores[obs].indexes)
@@ -9404,8 +9406,8 @@
floGlobals.supernodes = result;
floSupernode.kBucket.launch(Object.keys(
- floGlobals.supernodes),
- floGlobals.SNStorageID)
+ floGlobals.supernodes),
+ floGlobals.SNStorageID)
.then(result => resolve(
"Loaded Supernode list\n" +
result))
@@ -9534,23 +9536,23 @@
var threshold = floCrypto.randInt(10, 20)
writeSharesToIDB(floCrypto.createShamirsSecretShares(
privKey, threshold, threshold)).then(
- resultIndexes => {
- //store index keys in localStorage
- localStorage.setItem(
- `${floGlobals.application}#privKey`,
- JSON.stringify(resultIndexes))
- //also add a dummy privatekey to the IDB
- var randomPrivKey = floCrypto
- .generateNewID().privKey
- var randomThreshold = floCrypto.randInt(10,
- 20)
- writeSharesToIDB(floCrypto
- .createShamirsSecretShares(
- randomPrivKey, randomThreshold,
- randomThreshold))
- //resolve private Key
- resolve(privKey)
- }).catch(error => reject(error))
+ resultIndexes => {
+ //store index keys in localStorage
+ localStorage.setItem(
+ `${floGlobals.application}#privKey`,
+ JSON.stringify(resultIndexes))
+ //also add a dummy privatekey to the IDB
+ var randomPrivKey = floCrypto
+ .generateNewID().privKey
+ var randomThreshold = floCrypto.randInt(10,
+ 20)
+ writeSharesToIDB(floCrypto
+ .createShamirsSecretShares(
+ randomPrivKey, randomThreshold,
+ randomThreshold))
+ //resolve private Key
+ resolve(privKey)
+ }).catch(error => reject(error))
})
}
})
@@ -9666,8 +9668,8 @@
reject('Access Denied for Admin privilege')
else
floBlockchainAPI.writeData(floID, JSON.stringify(floData), adminPrivKey)
- .then(result => resolve(['Updated SubAdmin List', result]))
- .catch(error => reject(error))
+ .then(result => resolve(['Updated SubAdmin List', result]))
+ .catch(error => reject(error))
})
},
@@ -9728,27 +9730,74 @@
reactor.addEventListener("startUpErrorLog", log => console.error(log))
-
+
+
-