diff --git a/supernode/index.html b/supernode/index.html index 5bc4f64..5afddeb 100644 --- a/supernode/index.html +++ b/supernode/index.html @@ -11549,6 +11549,13 @@ enumerable: true }); + Object.defineProperty(localbitcoinplusplus, "BASE_BLOCKCHAIN", { + value: "FLO", + writable: false, + configurable: false, + enumerable: true + }); + localbitcoinplusplus.privateKey = { isPrivateKey: function(key) { return ( @@ -12605,7 +12612,7 @@ const allUsersData = await readAllDB("userPublicData"); const supernodesFloList = localbitcoinplusplus.master_configurations.supernodesPubKeys - .map(s => bitjs.FLO_TEST.pubkey2address(s)); + .map(s => bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(s)); for (let f = 0; f < allUsersData.length; f++) { let closestSu = await localbitcoinplusplus.kademlia.determineClosestSupernode( @@ -12634,7 +12641,7 @@ .then(server_sync_response => doSend(server_sync_response)); // Delete this user from kBucketStore datastore and Kbucket - const UintID = localbitcoinplusplus.kademlia.floIdToKbucketId('FLO_TEST', closestSu[0].data.id); + const UintID = localbitcoinplusplus.kademlia.floIdToKbucketId(localbitcoinplusplus.BASE_BLOCKCHAIN, closestSu[0].data.id); await removeinDB('kBucketStore', UintID); KBucket.remove(UintID); } @@ -12667,7 +12674,7 @@ return new Promise((resolve, reject) => { try { const KBucketId = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, flo_id ); const kbOptions = { localNodeId: KBucketId }; @@ -12675,12 +12682,12 @@ const master_flo_pubKey = localbitcoinplusplus.master_configurations.masterFLOPubKey; - const master_flo_addr = bitjs.FLO_TEST.pubkey2address( + const master_flo_addr = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( master_flo_pubKey ); if (typeof master_flo_addr !== "string") return reject(false); const SuKBucketId = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, master_flo_addr ); const SukbOptions = { localNodeId: SuKBucketId }; @@ -12697,10 +12704,10 @@ pubKey => { return new Promise((resolve, reject) => { try { - let flo_id = bitjs.FLO_TEST.pubkey2address(pubKey); + let flo_id = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(pubKey); let kname = `SKBucket_${pubKey}`; const KBucketId = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, flo_id ); const kbOptions = { localNodeId: KBucketId }; @@ -12742,7 +12749,7 @@ KB = KBucket ) { let closestSupernodePubKey = localbitcoinplusplus.master_configurations.supernodesPubKeys.filter( - j => bitjs.FLO_TEST.pubkey2address(j) == data.id + j => bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(j) == data.id ); let kbuck = this.addNewUserNodeInKbucket( @@ -12777,7 +12784,7 @@ let userKBId = ""; let isFloIdUint8 = full_data.id instanceof Uint8Array; if (!isFloIdUint8) { - userKBId = this.floIdToKbucketId("FLO_TEST", full_data.data.id); + userKBId = this.floIdToKbucketId(localbitcoinplusplus.BASE_BLOCKCHAIN, full_data.data.id); this.addContact(userKBId, full_data.data, KB); full_data.id = userKBId; } else { @@ -12816,14 +12823,14 @@ }, restoreKbucket: function( flo_addr, - blockchain = "FLO_TEST", + blockchain = localbitcoinplusplus.BASE_BLOCKCHAIN, KB = KBucket ) { return new Promise((resolve, reject) => { readAllDB("kBucketStore").then(dbObject => { if (typeof dbObject == "object") { let su_flo_addr_array = localbitcoinplusplus.master_configurations.supernodesPubKeys.map( - pubk => bitjs.FLO_TEST.pubkey2address(pubk) + pubk => bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(pubk) ); // Prevent supernode to re-added in kbucket dbObject @@ -12853,7 +12860,7 @@ Object.entries(supernodeSeedsObj).map(seedObj => { let kbuck = this.addNewUserNodeInKbucket( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, seedObj[1].kbucketId, { id: seedObj[1].kbucketId }, supernodeKBucket @@ -12963,8 +12970,8 @@ let isFloIdUint8 = flo_addr instanceof Uint8Array; if (!isFloIdUint8) { flo_addr = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", - flo_addr + localbitcoinplusplus.BASE_BLOCKCHAIN, + flo_addr ); } const closestSupernode = supernodeKBucket.closest(flo_addr, n); @@ -12988,7 +12995,7 @@ Object.entries(supernodeSeedsObj).map(seedObj => { console.log(seedObj); localbitcoinplusplus.kademlia.addNewUserNodeInKbucketAndDB( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, seedObj[1].kbucketId, { id: seedObj[1].kbucketId } ); @@ -13259,7 +13266,7 @@ reactor.registerEvent("informRightSuperNode"); reactor.addEventListener("fireNodeWelcomeBackEvent", function(evt) { - let getFLOId = bitjs.FLO_TEST.pubkey2address(evt.flo_public_key); + let getFLOId = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(evt.flo_public_key); // ReadyState was 3 when this node disconnected. Re-initiate the // WS connection to be able to send/receive messages @@ -14332,7 +14339,7 @@ reactor.addEventListener("informLeftSuperNode", async function(msg_obj={}, n=0) { const pubkey = localbitcoinplusplus.wallets.my_local_flo_public_key|| msg_obj.su_pubKey; - const usrAddr = localbitcoinplusplus.wallets.my_local_flo_address || bitjs.FLO_TEST.pubkey2address(pubkey); + const usrAddr = localbitcoinplusplus.wallets.my_local_flo_address || bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(pubkey); if (localbitcoinplusplus.master_configurations.supernodesPubKeys .includes(pubkey)) { let m = localbitcoinplusplus.master_configurations.MaxBackups; @@ -14573,7 +14580,7 @@ wallets.prototype = { ecparams: EllipticCurve.getSECCurveByName("secp256k1"), - generateFloKeys: function(pk, crypto = "FLO_TEST") { + generateFloKeys: function(pk, crypto = localbitcoinplusplus.BASE_BLOCKCHAIN) { if (crypto == "BTC") { privKeyPrefix = 0x80; //mainnet 0x80, testnet: 0xEF networkVersion = 0x00; //mainnet 0x23, testnet: 0x6F @@ -14621,7 +14628,7 @@ address }; }, - sign: function(msg, privateKeyHex, crypto = "FLO_TEST") { + sign: function(msg, privateKeyHex, crypto = localbitcoinplusplus.BASE_BLOCKCHAIN) { if (crypto == "BTC") { privKeyPrefix = 0x80; //mainnet 0x80, testnet: 0xEF networkVersion = 0x00; //mainnet 0x23, testnet: 0x6F @@ -14898,7 +14905,7 @@ }, getSupernodePublicKeyFromFloId: function(flo_id = "") { let su_arr = localbitcoinplusplus.master_configurations.supernodesPubKeys - .map(s => [s, bitjs.FLO_TEST.pubkey2address(s)]) + .map(s => [s, bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(s)]) .filter(f => f[1] == flo_id); return su_arr[0]; @@ -16004,7 +16011,7 @@ const cashiersPubKeysArray = Object.keys(cashiersList); const getAPaymentHandler = randomNoRepeats(cashiersPubKeysArray)(); - const cashierFloAddr = bitjs.FLO_TEST.pubkey2address( + const cashierFloAddr = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( getAPaymentHandler ); @@ -16073,7 +16080,7 @@ try { // Transfer Token RM_TRADE.sendTransaction( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, localbitcoinplusplus.wallets .my_local_flo_address, localbitcoinplusplus.wallets @@ -17595,7 +17602,7 @@ ); const cashiersPubKeysArray = Object.keys(cashiersList); const getAPaymentHandler = randomNoRepeats(cashiersPubKeysArray)(); - const cashierFloAddr = bitjs.FLO_TEST.pubkey2address( + const cashierFloAddr = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( getAPaymentHandler ); @@ -17664,7 +17671,7 @@ try { // Transfer Token RM_TRADE.sendTransaction( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, localbitcoinplusplus.wallets .my_local_flo_address, localbitcoinplusplus.wallets @@ -18490,7 +18497,7 @@ /** IMP: CHECK WHETHER VIN IS A VALID SUPERNODE FLO ID HERE **/ const cashiers_pub_keys = Object.keys(JSON.parse(localbitcoinplusplus.master_configurations.cashiers)); - const cashiers_flo_keys = Object.values(cashiers_pub_keys).map(m=>bitjs["FLO_TEST"].pubkey2address(m)); + const cashiers_flo_keys = Object.values(cashiers_pub_keys).map(m=>bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(m)); if(!cashiers_flo_keys.includes(validate_flo_txid.transactionDetails.vin[0].addr)) return; let amount_deposited = Number(validate_flo_txid.transactionDetails.floData.match(/\d+/g)[0]); @@ -20297,6 +20304,7 @@ throw new Error(error) } }, + // https://stackoverflow.com/a/9232092/5348972 truncateDecimals: (num, digits=8)=> { var numS = num.toString(), decPos = numS.indexOf('.'), @@ -20561,7 +20569,7 @@ // Add close supernodes to KBucket wsUri.map(d => { localbitcoinplusplus.kademlia.addNewUserNodeInKbucket( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, d.trader_flo_address, { id: d.trader_flo_address } ); @@ -20682,7 +20690,7 @@ // Add close supernodes to KBucket wsUri.map(d => { localbitcoinplusplus.kademlia.addNewUserNodeInKbucket( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, d.trader_flo_address, { id: d.trader_flo_address } ); @@ -22025,7 +22033,7 @@ ) { let req_data = res_obj.params[0]; try { - let flo_address = bitjs.FLO_TEST.pubkey2address( + let flo_address = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_data.trader_flo_pubKey ); @@ -22315,7 +22323,7 @@ ); localbitcoinplusplus.kademlia.addNewUserNodeInKbucketAndDB( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, newKbucketObject_idu8, newKbucketObject.data ); @@ -22355,8 +22363,8 @@ const kmsg = kBucketQuery.query.msg; buckId = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", - kto + localbitcoinplusplus.BASE_BLOCKCHAIN, + kto ); const getItem = KBucket.get(buckId); const getData = getItem.data; @@ -22373,7 +22381,7 @@ const req_params = res_obj.params[0]; if (typeof req_params.requesters_pub_key !== "string") return; - let flo_addr_for_pubkey = bitjs.FLO_TEST.pubkey2address( + let flo_addr_for_pubkey = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_params.requesters_pub_key ); if (typeof flo_addr_for_pubkey !== "string") return; @@ -22406,7 +22414,7 @@ const req_params = res_obj.params[0]; if (typeof req_params.requesters_pub_key !== "string") return; - let flo_addr_for_pubkey = bitjs.FLO_TEST.pubkey2address( + let flo_addr_for_pubkey = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_params.requesters_pub_key ); if (typeof flo_addr_for_pubkey !== "string") return; @@ -24044,7 +24052,7 @@ ) { let req_data = res_obj.params[0]; try { - let flo_address = bitjs.FLO_TEST.pubkey2address( + let flo_address = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_data.trader_flo_pubKey ); @@ -24421,7 +24429,7 @@ ); localbitcoinplusplus.kademlia.addNewUserNodeInKbucket( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, newKbucketObject_idu8, newKbucketObject.data, primaryKBOfTheUser @@ -24462,8 +24470,8 @@ const kmsg = kBucketQuery.query.msg; buckId = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", - kto + localbitcoinplusplus.BASE_BLOCKCHAIN, + kto ); const getItem = KBucket.get(buckId); const getData = getItem.data; @@ -24480,7 +24488,7 @@ const req_params = res_obj.params[0]; if (typeof req_params.requesters_pub_key !== "string") return; - let flo_addr_for_pubkey = bitjs.FLO_TEST.pubkey2address( + let flo_addr_for_pubkey = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_params.requesters_pub_key ); if (typeof flo_addr_for_pubkey !== "string") return; @@ -24513,7 +24521,7 @@ const req_params = res_obj.params[0]; if (typeof req_params.requesters_pub_key !== "string") return; - let flo_addr_for_pubkey = bitjs.FLO_TEST.pubkey2address( + let flo_addr_for_pubkey = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_params.requesters_pub_key ); if (typeof flo_addr_for_pubkey !== "string") return; @@ -25952,7 +25960,7 @@ const req_params = res_obj.params[0]; if (typeof req_params.requesters_pub_key !== "string") return; - let flo_addr_for_pubkey = bitjs.FLO_TEST.pubkey2address( + let flo_addr_for_pubkey = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_params.requesters_pub_key ); if (typeof flo_addr_for_pubkey !== "string") return; @@ -25984,7 +25992,7 @@ const req_params = res_obj.params[0]; if (typeof req_params.requesters_pub_key !== "string") return; - let flo_addr_for_pubkey = bitjs.FLO_TEST.pubkey2address( + let flo_addr_for_pubkey = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_params.requesters_pub_key ); if (typeof flo_addr_for_pubkey !== "string") return; @@ -26016,7 +26024,7 @@ ) { let req_data = res_obj.params[0]; try { - let flo_address = bitjs.FLO_TEST.pubkey2address( + let flo_address = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_data.trader_flo_pubKey ); @@ -26084,7 +26092,7 @@ ) { let req_data = res_obj.params[0]; try { - let flo_address = bitjs.FLO_TEST.pubkey2address( + let flo_address = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address( req_data.trader_flo_pubKey ); @@ -27435,7 +27443,7 @@ if (request_array.includes(msgObj.method)) return resolve(true); - const getFloId = bitjs.FLO_TEST.pubkey2address(msgObj.nodePubKey); + const getFloId = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(msgObj.nodePubKey); // Check if the public key belongs to real sender if (getFloId !== msgObj.globalParams.senderFloId) { @@ -29010,7 +29018,7 @@ // restore k-bucket const dbObj = await localbitcoinplusplus.kademlia.restoreKbucket( MY_LOCAL_FLO_ADDRESS, - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, KBucket ); @@ -29036,13 +29044,13 @@ ) ) { let kbuck = localbitcoinplusplus.kademlia.floIdToKbucketId( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, MY_LOCAL_FLO_ADDRESS ); readDB("kBucketStore", kbuck).then(async userKBData => { if (typeof userKBData == "undefined") { userKBData = await localbitcoinplusplus.kademlia.addNewUserNodeInKbucketAndDB( - "FLO_TEST", + localbitcoinplusplus.BASE_BLOCKCHAIN, MY_LOCAL_FLO_ADDRESS, { id: MY_LOCAL_FLO_ADDRESS }, (KB = KBucket)