diff --git a/Client/client.js b/Client/client.js index 9f4a241e0..3e0999b15 100644 --- a/Client/client.js +++ b/Client/client.js @@ -18,7 +18,7 @@ process.on('uncaughtException', function (err) { process.on('unhandledRejection', (reason, p) => { // Signal user that a necissary node module is missing if (reason.code == 'MODULE_NOT_FOUND') { - console.log("[ERROR] Node Modules not found. Running the node setup command and then restart") + console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Client.") console.log('[ERROR] Client -> client-> reason = ' + JSON.stringify(reason)) process.exit(1) } diff --git a/Client/httpInterface.js b/Client/httpInterface.js index cd8cf6785..d34c0aff0 100644 --- a/Client/httpInterface.js +++ b/Client/httpInterface.js @@ -1102,7 +1102,10 @@ exports.newHttpInterface = function newHttpInterface( case 'payContributors': { let serverResponse = await WEB3_SERVER.payContributors( - params.signature + params.contractAddress, + params.contractAbi, + params.paymentsArray, + params.mnemonic ) respondWithContent(JSON.stringify(serverResponse), httpResponse) diff --git a/Client/package-lock.json b/Client/package-lock.json index 085910bef..119b3c164 100644 --- a/Client/package-lock.json +++ b/Client/package-lock.json @@ -1397,6 +1397,36 @@ "setimmediate": "^1.0.5" } }, + "ethereumjs-common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", + "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==" + }, + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, "ethereumjs-util": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", diff --git a/Client/package.json b/Client/package.json index cb0a4b543..d09113f0b 100644 --- a/Client/package.json +++ b/Client/package.json @@ -10,6 +10,8 @@ "@octokit/rest": "^18.9.0", "ccxt": "^1.51.98", "child_process": "^1.0.2", + "ethereumjs-common": "^1.5.2", + "ethereumjs-tx": "^2.1.2", "ethers": "^5.4.4", "lookpath": "^1.2.2", "node-fetch": "2.6.1", diff --git a/Client/web3Server.js b/Client/web3Server.js index a67e1afe7..48745b979 100644 --- a/Client/web3Server.js +++ b/Client/web3Server.js @@ -8,7 +8,8 @@ exports.newWeb3Server = function newWeb3Server() { getWalletBalances: getWalletBalances, signData: signData, recoverAddress: recoverAddress, - mnemonicToPrivateKey: mnemonicToPrivateKey, + mnemonicToPrivateKey: mnemonicToPrivateKey, + payContributors: payContributors, initialize: initialize, finalize: finalize, run: run @@ -245,13 +246,13 @@ exports.newWeb3Server = function newWeb3Server() { if (wallet.privateKey !== undefined) { return { - address: wallet.address, + address: wallet.address, privateKey: wallet.privateKey, result: 'Ok' } } else { return { - address: undefined, + address: undefined, privateKey: undefined, result: 'Fail' } @@ -260,6 +261,83 @@ exports.newWeb3Server = function newWeb3Server() { } catch (err) { return { error: 'Could not convert to Private Key. ' + err.stack } } + } + async function payContributors(contractAddress, contractAbi, paymentsArray, mnemonic) { + try { + let response = await mnemonicToPrivateKey(mnemonic) + let privateKey = response.privateKey + + for (let i = 0; i < paymentsArray.length; i++) { + await CL.projects.foundations.utilities.asyncFunctions.sleep(10000) + let payment = paymentsArray[i] + sendTokens( + i + 1, + payment.userProfile, + payment.from, + payment.to, + payment.amount + ) + } + + async function sendTokens(number, userProfile, fromAddress, toAddress, tokenAmount) { + try { + console.log('') + console.log('---------------------------------------------------------------------------------------------------------------------------------------------------') + console.log(' Payment # ' + number + ' - User Profile: ' + userProfile + ' - SA Tokens Amount: ' + tokenAmount / 1000000000000000000 + ' - Address: ' + toAddress) + console.log('---------------------------------------------------------------------------------------------------------------------------------------------------') + console.log('') + + const Tx = require('ethereumjs-tx').Transaction; + const web3 = new Web3(new Web3.providers.HttpProvider('https://bsc-dataseed.binance.org/')) + const amount = web3.utils.toHex(tokenAmount) + privateKey = privateKey.replace('0x', '') + const privateKeyBuffer = Buffer.from(privateKey, 'hex') + const contractAbiObject = JSON.parse(contractAbi) + const contract = new web3.eth.Contract(contractAbiObject, contractAddress, { from: fromAddress }) + const Common = require('ethereumjs-common').default + const BSC_FORK = Common.forCustomChain( + 'mainnet', + { + name: 'Binance Smart Chain Mainnet', + networkId: 56, + chainId: 56, + url: 'https://bsc-dataseed.binance.org/' + }, + 'istanbul', + ); + + const nonce = await web3.eth.getTransactionCount(fromAddress); + + const rawTransaction = { + "from": fromAddress, + "gasPrice": web3.utils.toHex(5000000000), + "gasLimit": web3.utils.toHex(210000), + "to": contractAddress, "value": "0x0", + "data": contract.methods.transfer(toAddress, amount).encodeABI(), + "nonce": web3.utils.toHex(nonce) + }; + + const transaction = new Tx(rawTransaction, { 'common': BSC_FORK }) + transaction.sign(privateKeyBuffer) + + console.log('Transaction:', rawTransaction) + const result = await web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex')) + console.log('Result:', result) + return result + } catch (err) { + console.log('[ERROR] web3Server -> sendTokens -> err.stack = ' + err.stack) + } + } + + return { + address: wallet.address, + privateKey: wallet.privateKey, + result: 'Ok' + } + + } catch (err) { + return { error: 'Could not convert to Private Key. ' + err.stack } + } } } \ No newline at end of file diff --git a/Projects/Foundations/Icons/web3-api.png b/Projects/Foundations/Icons/web3-api.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Foundations/Icons/web3-api.png differ diff --git a/Projects/Foundations/Schemas/App-Schema/Api/apis.json b/Projects/Foundations/Schemas/App-Schema/Api/apis.json index 84b5af99b..3a5b9dcdb 100644 --- a/Projects/Foundations/Schemas/App-Schema/Api/apis.json +++ b/Projects/Foundations/Schemas/App-Schema/Api/apis.json @@ -9,6 +9,14 @@ "propertyToCheckFor": "githubAPI", "actionFunction": "payload.executeAction" }, + { + "action": "Add UI Object", + "label": "Add Web3 API", + "relatedUiObject": "Web3 API", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "web3API", + "actionFunction": "payload.executeAction" + }, { "action": "Delete UI Object", "askConfirmation": true, @@ -27,6 +35,11 @@ "name": "githubAPI", "type": "node", "childType": "Github API" + }, + { + "name": "web3API", + "type": "node", + "childType": "Web3 API" } ], "isPersonalData": true diff --git a/Projects/Foundations/Schemas/App-Schema/web3-api.json b/Projects/Foundations/Schemas/App-Schema/web3-api.json new file mode 100644 index 000000000..4119d8320 --- /dev/null +++ b/Projects/Foundations/Schemas/App-Schema/web3-api.json @@ -0,0 +1,35 @@ +{ + "type": "Web3 API", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n\"token\": \"\", \n\"mnemonic\": \"\"\n}" + }, + "addLeftIcons": true, + "level": 1, + "attachingRules": { + "compatibleTypes": "->APIs->" + }, + "propertyNameAtParent": "web3API", + "isPersonalData": true +} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/I/Integrations/Integrations/integrations-002-webhook-notifications.json b/Projects/Foundations/Schemas/Docs-Topics/I/Integrations/Integrations/integrations-002-webhook-notifications.json index 59cf5d19a..1befa265e 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/I/Integrations/Integrations/integrations-002-webhook-notifications.json +++ b/Projects/Foundations/Schemas/Docs-Topics/I/Integrations/Integrations/integrations-002-webhook-notifications.json @@ -146,12 +146,22 @@ }, { "style": "Text", - "text": "The Masters Data Mine features the definition of the Webhooks sensor bot used to monitor incoming notifications. You need to run an instance of this bot in the data mining section of the exchange and market of your choice.", - "updated": 1615370092995 + "text": "The Webhooks Data Mine features the definition of the Webhooks sensor bot used to monitor incoming notifications. You need to run an instance of this bot in the data mining section of the exchange and market of your choice.", + "updated": 1629361373616 }, { "style": "Text", - "text": "The default workspace does not feature these tasks. To create a task for the Webhooks sensor bot, you need to uninstall and re-install the corresponding market." + "text": "The Getting-Started-Tutorials workspace does not have this Data Mine as a plugin so you will need to add it first. To do that locate the Plugins node, expand it and at the Plugins Data Mines add a New Plugin File. You can setup it's configuration like this:" + }, + { + "style": "Json", + "text": "{\n \"project\": \"Foundations\",\n \"fileName\": \"Webhooks\",\n \"folderName\": \"Data-Mines\",\n \"nodeType\": \"Data Mine\",\n \"saveWithWorkspace\": false\n}", + "updated": 1629361560976 + }, + { + "style": "Text", + "text": "The default workspace does not feature these tasks. To create a task for the Webhooks sensor bot, you need to uninstall and re-install the corresponding market. The prcess of installing a market adds all the tasks needed to run all the bots defined at all Data Mines present at the workspace.", + "updated": 1629361603647 }, { "style": "Success", diff --git a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js b/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js index 4d6739de0..84d8cfa01 100644 --- a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js +++ b/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js @@ -38,7 +38,7 @@ exports.newFoundationsBotModulesCheckWebhook = function (processIndex) { function getContextVariables(callBack) { try { - let reportKey = "Masters" + "-" + "Webhooks" + "-" + "Check-Webhook" + let reportKey = "Webhooks" + "-" + "Webhooks" + "-" + "Check-Webhook" TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] start -> getContextVariables -> reportKey = " + reportKey) diff --git a/Projects/Governance/Plugins/Assets/Superalgos-Exchanges.json b/Projects/Governance/Plugins/Assets/Superalgos-Exchanges.json index fae67de1c..d4090dcf2 100644 --- a/Projects/Governance/Plugins/Assets/Superalgos-Exchanges.json +++ b/Projects/Governance/Plugins/Assets/Superalgos-Exchanges.json @@ -12,87 +12,119 @@ "assetClasses": [ { "type": "Asset Class", - "name": "Open Negotiations", + "name": "DEXs", "config": "{\n\"folderPath\": \"\"\n}", "project": "Governance", - "assetClasses": [], - "assets": [ + "assetClasses": [ { - "type": "Asset", - "name": "Bittrex", - "config": "{\n \"docs\": {\n \"project\": \"Governance\",\n \"category\": \"Topic\",\n \"type\": \"Exchange Asset - Bittrex\"\n }\n}", + "type": "Asset Class", + "name": "First Listing", + "config": "{\n\"folderPath\": \"\"\n}", "project": "Governance", - "assetClasses": [], - "assets": [], - "id": "548dd163-9991-4de3-9e68-9e8a9a051a2f", - "savedPayload": { - "position": { - "x": 9806.132034355964, - "y": 38608.632034355964 - }, - "targetPosition": { - "x": 9594, - "y": 38396.5 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false + "assetClasses": [ + { + "type": "Asset Class", + "name": " Pancakeswap SA/WBTC", + "config": "{\n\"folderPath\": \"\"\n}", + "project": "Governance", + "assetClasses": [], + "assets": [ + { + "type": "Asset", + "name": "SA Liquidity", + "config": "{}", + "project": "Governance", + "assetClasses": [], + "assets": [], + "id": "2e59edc7-7e37-40e3-808f-9ab3c7c5f0b3", + "savedPayload": { + "position": { + "x": 10303.807621135331, + "y": 39025.922863406 + }, + "targetPosition": { + "x": 10044, + "y": 38875.922863406 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Asset", + "name": "WBTC Liquidity", + "config": "{}", + "project": "Governance", + "assetClasses": [], + "assets": [], + "id": "117afaed-83bd-4b0c-be12-40b8c8dd3a34", + "savedPayload": { + "position": { + "x": 10044, + "y": 39175.922863406 + }, + "targetPosition": { + "x": 10044, + "y": 38875.922863406 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cc6e34d9-d58a-4aa7-9049-250ea90a8430", + "savedPayload": { + "position": { + "x": 10044, + "y": 38875.922863406 + }, + "targetPosition": { + "x": 9894, + "y": 38616.115242270665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "w" + } + } } - } - }, - { - "type": "Asset", - "name": "LBank", - "config": "{\n \"docs\": {\n \"project\": \"Governance\",\n \"category\": \"Topic\",\n \"type\": \"Exchange Asset - LBank\"\n }\n}", - "project": "Governance", - "assetClasses": [], + ], "assets": [], - "id": "e4e7addb-a840-4ce9-9e01-74c7e57c24ad", + "id": "54f70f64-029a-4f2f-8847-5208c2fa94a1", "savedPayload": { "position": { - "x": 9594, - "y": 38696.5 + "x": 9894, + "y": 38616.115242270665 }, "targetPosition": { - "x": 9594, - "y": 38396.5 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, - { - "type": "Asset", - "name": "Probit", - "config": "{\n \"docs\": {\n \"project\": \"Governance\",\n \"category\": \"Topic\",\n \"type\": \"Exchange Asset - Probit\"\n }\n}", - "project": "Governance", - "assetClasses": [], - "assets": [], - "id": "6b27f708-c243-42e9-874b-ceceea7db21f", - "savedPayload": { - "position": { - "x": 9381.867965644036, - "y": 38608.632034355964 - }, - "targetPosition": { - "x": 9594, - "y": 38396.5 + "x": 9744, + "y": 38356.30762113533 }, "floatingObject": { "isPinned": false, @@ -108,11 +140,164 @@ } } ], - "id": "144ad412-94fc-4b80-8dd9-2520f64edfcc", + "assets": [], + "id": "90e0c410-b1e7-4f0a-9dec-99c597a7956d", "savedPayload": { "position": { + "x": 9744, + "y": 38356.30762113533 + }, + "targetPosition": { "x": 9594, - "y": 38396.5 + "y": 38096.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Asset Class", + "name": "CEXs", + "config": "{\n\"folderPath\": \"\"\n}", + "project": "Governance", + "assetClasses": [ + { + "type": "Asset Class", + "name": "Open Negotiations", + "config": "{\n\"folderPath\": \"\"\n}", + "project": "Governance", + "assetClasses": [], + "assets": [ + { + "type": "Asset", + "name": "Bittrex", + "config": "{\n \"docs\": {\n \"project\": \"Governance\",\n \"category\": \"Topic\",\n \"type\": \"Exchange Asset - Bittrex\"\n }\n}", + "project": "Governance", + "assetClasses": [], + "assets": [], + "id": "548dd163-9991-4de3-9e68-9e8a9a051a2f", + "savedPayload": { + "position": { + "x": 9371.645713530756, + "y": 38905.89299015739 + }, + "targetPosition": { + "x": 9294, + "y": 38616.115242270665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Asset", + "name": "LBank", + "config": "{\n \"docs\": {\n \"project\": \"Governance\",\n \"category\": \"Topic\",\n \"type\": \"Exchange Asset - LBank\"\n }\n}", + "project": "Governance", + "assetClasses": [], + "assets": [], + "id": "e4e7addb-a840-4ce9-9e01-74c7e57c24ad", + "savedPayload": { + "position": { + "x": 9144, + "y": 38875.922863406 + }, + "targetPosition": { + "x": 9294, + "y": 38616.115242270665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Asset", + "name": "Probit", + "config": "{\n \"docs\": {\n \"project\": \"Governance\",\n \"category\": \"Topic\",\n \"type\": \"Exchange Asset - Probit\"\n }\n}", + "project": "Governance", + "assetClasses": [], + "assets": [], + "id": "6b27f708-c243-42e9-874b-ceceea7db21f", + "savedPayload": { + "position": { + "x": 9004.222252113279, + "y": 38693.76095580142 + }, + "targetPosition": { + "x": 9294, + "y": 38616.115242270665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "144ad412-94fc-4b80-8dd9-2520f64edfcc", + "savedPayload": { + "position": { + "x": 9294, + "y": 38616.115242270665 + }, + "targetPosition": { + "x": 9444, + "y": 38356.30762113533 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "assets": [], + "id": "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4", + "savedPayload": { + "position": { + "x": 9444, + "y": 38356.30762113533 }, "targetPosition": { "x": 9594, diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json index e5a89de9d..a30d80f5e 100644 --- a/Projects/Governance/Plugins/Pools/Superalgos.json +++ b/Projects/Governance/Plugins/Pools/Superalgos.json @@ -1,7 +1,7 @@ { "type": "Pools", "name": "Superalgos", - "config": "{\"tokens\":\"40960000\",\"codeName\":\"Superalgos\"}", + "config": "{\"tokens\":\"60000000\",\"codeName\":\"Superalgos\"}", "project": "Governance", "poolClasses": [ { @@ -548,7 +548,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -844,12 +844,12 @@ "id": "2207c69c-ee9d-4453-8bf4-582d79b4b635", "savedPayload": { "position": { - "x": 25452.076448909353, - "y": 30999.297863215397 + "x": 25433.862855091826, + "y": 31054.64830727775 }, "targetPosition": { - "x": 25162.29870102263, - "y": 31076.943576746155 + "x": 25137.213607224287, + "y": 31099.3609871306 }, "floatingObject": { "isPinned": false, @@ -879,12 +879,12 @@ "id": "ea854cf8-47cd-43f0-b58a-13e61ae3106d", "savedPayload": { "position": { - "x": 25452.076448909353, - "y": 31154.589290276912 + "x": 25416.475731817547, + "y": 31208.963294440517 }, "targetPosition": { - "x": 25162.29870102263, - "y": 31076.943576746155 + "x": 25137.213607224287, + "y": 31099.3609871306 }, "floatingObject": { "isPinned": false, @@ -909,12 +909,12 @@ "id": "3c80032c-51a8-4fd8-ab65-cf219c03ce95", "savedPayload": { "position": { - "x": 25374.430735378595, - "y": 31289.07561110212 + "x": 25324.260547781905, + "y": 31333.91043187101 }, "targetPosition": { - "x": 25162.29870102263, - "y": 31076.943576746155 + "x": 25137.213607224287, + "y": 31099.3609871306 }, "floatingObject": { "isPinned": false, @@ -939,12 +939,12 @@ "id": "0a79ec65-6f67-4c18-823f-48a6d0494a81", "savedPayload": { "position": { - "x": 25239.94441455339, - "y": 31366.721324632876 + "x": 25181.926287077138, + "y": 31396.01023499814 }, "targetPosition": { - "x": 25162.29870102263, - "y": 31076.943576746155 + "x": 25137.213607224287, + "y": 31099.3609871306 }, "floatingObject": { "isPinned": false, @@ -969,12 +969,12 @@ "id": "f51d23aa-742c-40d4-b000-2b90c3ae197c", "savedPayload": { "position": { - "x": 25084.652987491874, - "y": 31366.721324632876 + "x": 25027.61129991437, + "y": 31378.62311172386 }, "targetPosition": { - "x": 25162.29870102263, - "y": 31076.943576746155 + "x": 25137.213607224287, + "y": 31099.3609871306 }, "floatingObject": { "isPinned": false, @@ -1030,12 +1030,12 @@ "id": "7f18003d-f622-46d4-b243-e681d78b0503", "savedPayload": { "position": { - "x": 25162.29870102263, - "y": 31376.943576746155 + "x": 25043.020009434375, + "y": 31411.307175813225 }, "targetPosition": { - "x": 24950.166666666668, - "y": 31164.81154239019 + "x": 24883.410386479773, + "y": 31157.289916044738 }, "floatingObject": { "isPinned": false, @@ -1065,12 +1065,12 @@ "id": "34acbd28-6ae0-494c-ac26-5b253ac758c6", "savedPayload": { "position": { - "x": 24950.166666666668, - "y": 31464.81154239019 + "x": 24816.654106292877, + "y": 31449.768289699285 }, "targetPosition": { - "x": 24950.166666666668, - "y": 31164.81154239019 + "x": 24883.410386479773, + "y": 31157.289916044738 }, "floatingObject": { "isPinned": false, @@ -1100,12 +1100,12 @@ "id": "8f7ad8cf-2c10-4d53-8c3b-baa729ea8292", "savedPayload": { "position": { - "x": 24738.034632310704, - "y": 31376.943576746155 + "x": 24629.393126711286, + "y": 31316.89953899934 }, "targetPosition": { - "x": 24950.166666666668, - "y": 31164.81154239019 + "x": 24883.410386479773, + "y": 31157.289916044738 }, "floatingObject": { "isPinned": false, @@ -1351,7 +1351,8 @@ "arrangementStyle": 0 }, "uiObject": { - "isRunning": false + "isRunning": false, + "shortcutKey": "a" } } }, @@ -1372,12 +1373,12 @@ "id": "c1b99af4-d8ab-446e-b8c4-76d01c2f2766", "savedPayload": { "position": { - "x": 24390.359045531335, - "y": 31014.81154239019 + "x": 24380.714867141585, + "y": 30757.065448730853 }, "targetPosition": { - "x": 24650.166666666668, - "y": 30864.81154239019 + "x": 24679.87600629594, + "y": 30734.646420654924 }, "floatingObject": { "isPinned": false, @@ -1415,12 +1416,12 @@ "id": "ffc5e688-d2d6-4747-ab6e-79d62a4e391b", "savedPayload": { "position": { - "x": 24390.359045531335, - "y": 30714.81154239019 + "x": 24510.879988876855, + "y": 30486.774788360126 }, "targetPosition": { - "x": 24650.166666666668, - "y": 30864.81154239019 + "x": 24679.87600629594, + "y": 30734.646420654924 }, "floatingObject": { "isPinned": false, @@ -1505,7 +1506,8 @@ "arrangementStyle": 0 }, "uiObject": { - "isRunning": false + "isRunning": false, + "shortcutKey": "" }, "referenceParent": { "type": "Assets", @@ -1789,7 +1791,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -1820,7 +1822,8 @@ "arrangementStyle": 0 }, "uiObject": { - "isRunning": false + "isRunning": false, + "shortcutKey": "" } } } \ No newline at end of file diff --git a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json index ec67cd93c..1c6e76fff 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -544,7 +544,7 @@ "votingProgram": { "type": "Voting Program", "name": "New Voting Program", - "config": "{\n \"percentage\": 75\n}", + "config": "{\n \"percentage\": 0\n}", "project": "Governance", "votesSwitch": [ { @@ -758,7 +758,7 @@ { "type": "Weight Votes Switch", "name": "New Weight Votes Switch", - "config": "{\n \"percentage\": 75\n}", + "config": "{\n \"percentage\": 80\n}", "project": "Governance", "weightVotesSwitch": [ { @@ -770,7 +770,7 @@ { "type": "Weight Votes Switch", "name": "Exchanges Pool Class", - "config": "{\n \"percentage\": 35\n}", + "config": "{\n \"percentage\": 75\n}", "project": "Governance", "weightVotesSwitch": [], "poolWeightVotes": [ @@ -834,12 +834,12 @@ "id": "58949e1e-3502-4317-ae8e-b4c56350902e", "savedPayload": { "position": { - "x": 30905.003798952057, - "y": 24539.12189221862 + "x": 30945.003798952057, + "y": 24558.121892218624 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, @@ -850,7 +850,8 @@ "arrangementStyle": 0 }, "uiObject": { - "isRunning": false + "isRunning": false, + "shortcutKey": "" }, "referenceParent": { "type": "Pool Class", @@ -876,13 +877,13 @@ { "type": "Weight Votes Switch", "name": "Governance Programs Pool Class", - "config": "{\n \"percentage\": 15\n}", + "config": "{\n \"percentage\": 5\n}", "project": "Governance", "weightVotesSwitch": [ { "type": "Weight Votes Switch", "name": "Community Building Programs Pool Class", - "config": "{\n \"percentage\": 70\n}", + "config": "{\n \"percentage\": 50\n}", "project": "Governance", "weightVotesSwitch": [ { @@ -900,12 +901,12 @@ "id": "d5cfaf67-cacc-4ce2-bcf3-1cf86e104ff3", "savedPayload": { "position": { - "x": 31296.69683694488, - "y": 24603.823102920433 + "x": 31489.106092113674, + "y": 23952.029123225548 }, "targetPosition": { - "x": 31053.991738632398, - "y": 24780.158678608175 + "x": 31381.595707250082, + "y": 24232.103251174707 }, "floatingObject": { "isPinned": false, @@ -965,12 +966,12 @@ "id": "0c7e8840-3b89-48c4-8087-b3e0c2396892", "savedPayload": { "position": { - "x": 31334.065866581557, - "y": 24672.648293744583 + "x": 31557.931282937825, + "y": 23989.398152862224 }, "targetPosition": { - "x": 31053.991738632398, - "y": 24780.158678608175 + "x": 31381.595707250082, + "y": 24232.103251174707 }, "floatingObject": { "isPinned": false, @@ -1029,12 +1030,12 @@ "id": "e234520e-5755-418a-9a32-f53a4d02f04d", "savedPayload": { "position": { - "x": 31053.991738632398, - "y": 24780.158678608175 + "x": 31381.595707250082, + "y": 24232.103251174707 }, "targetPosition": { - "x": 30790.34660483381, - "y": 24923.30630668606 + "x": 31238.448079172198, + "y": 24495.748384973296 }, "floatingObject": { "isPinned": false, @@ -1095,12 +1096,12 @@ "id": "90eeb2fb-aa44-4530-bbeb-44b29a574c9b", "savedPayload": { "position": { - "x": 31370.64003199154, - "y": 24775.930550725934 + "x": 31644.856507790835, + "y": 24056.09822382808 }, "targetPosition": { - "x": 31085.323077102996, - "y": 24868.635649038417 + "x": 31456.060390475883, + "y": 24289.24201226517 }, "floatingObject": { "isPinned": false, @@ -1160,12 +1161,12 @@ "id": "d9180061-a15d-48dc-8330-be63446cf655", "savedPayload": { "position": { - "x": 31384.911937529367, - "y": 24852.934862165534 + "x": 31698.765488788365, + "y": 24112.90643657743 }, "targetPosition": { - "x": 31085.323077102996, - "y": 24868.635649038417 + "x": 31456.060390475883, + "y": 24289.24201226517 }, "floatingObject": { "isPinned": false, @@ -1224,12 +1225,12 @@ "id": "48220c57-0e4b-4ebc-b5af-ac122b17ccf5", "savedPayload": { "position": { - "x": 31085.323077102996, - "y": 24868.635649038417 + "x": 31456.060390475883, + "y": 24289.24201226517 }, "targetPosition": { - "x": 30790.34660483381, - "y": 24923.30630668606 + "x": 31238.448079172198, + "y": 24495.748384973296 }, "floatingObject": { "isPinned": false, @@ -1290,12 +1291,12 @@ "id": "1289397e-3fba-4ff6-b095-d7fb40cd2066", "savedPayload": { "position": { - "x": 31387.78006324595, - "y": 24962.464164352074 + "x": 31760.82483486078, + "y": 24203.2033454263 }, "targetPosition": { - "x": 31087.78006324595, - "y": 24962.464164352074 + "x": 31509.223664477155, + "y": 24366.595055930808 }, "floatingObject": { "isPinned": false, @@ -1355,12 +1356,12 @@ "id": "945ed8a9-4d5d-4304-83ed-ca5a750b27a2", "savedPayload": { "position": { - "x": 31377.557811132672, - "y": 25040.10987788283 + "x": 31794.5406193657, + "y": 24273.889957618325 }, "targetPosition": { - "x": 31087.78006324595, - "y": 24962.464164352074 + "x": 31509.223664477155, + "y": 24366.595055930808 }, "floatingObject": { "isPinned": false, @@ -1419,12 +1420,12 @@ "id": "0efc0384-5f10-493c-bf04-a2eec4b61770", "savedPayload": { "position": { - "x": 31087.78006324595, - "y": 24962.464164352074 + "x": 31509.223664477155, + "y": 24366.595055930808 }, "targetPosition": { - "x": 30790.34660483381, - "y": 24923.30630668606 + "x": 31238.448079172198, + "y": 24495.748384973296 }, "floatingObject": { "isPinned": false, @@ -1473,7 +1474,7 @@ { "type": "Weight Votes Switch", "name": "Influencer Program Pool Class", - "config": "{\n \"percentage\": 10\n}", + "config": "{\n \"percentage\": 0\n}", "project": "Governance", "weightVotesSwitch": [], "poolWeightVotes": [ @@ -1485,12 +1486,12 @@ "id": "7f198bd2-bbe2-47fa-a5e9-b417c453faf8", "savedPayload": { "position": { - "x": 31346.43914502731, - "y": 25145.16473404103 + "x": 31825.65928547106, + "y": 24378.944813776525 }, "targetPosition": { - "x": 31061.122190138765, - "y": 25052.459635728548 + "x": 31535.88153758434, + "y": 24456.590527307282 }, "floatingObject": { "isPinned": false, @@ -1550,12 +1551,12 @@ "id": "3e0ac914-7a36-4dd7-8ba3-19116faafc43", "savedPayload": { "position": { - "x": 31312.723360522392, - "y": 25215.851346233056 + "x": 31835.88153758434, + "y": 24456.590527307282 }, "targetPosition": { - "x": 31061.122190138765, - "y": 25052.459635728548 + "x": 31535.88153758434, + "y": 24456.590527307282 }, "floatingObject": { "isPinned": false, @@ -1614,12 +1615,12 @@ "id": "edf91f0f-7013-428f-9165-59ccea32edff", "savedPayload": { "position": { - "x": 31061.122190138765, - "y": 25052.459635728548 + "x": 31535.88153758434, + "y": 24456.590527307282 }, "targetPosition": { - "x": 30790.34660483381, - "y": 24923.30630668606 + "x": 31238.448079172198, + "y": 24495.748384973296 }, "floatingObject": { "isPinned": false, @@ -1673,12 +1674,12 @@ "id": "c3f7a909-3284-4f5f-86db-41fdab0cf484", "savedPayload": { "position": { - "x": 30790.34660483381, - "y": 24923.30630668606 + "x": 31238.448079172198, + "y": 24495.748384973296 }, "targetPosition": { - "x": 30490.44940734114, - "y": 24931.159391178422 + "x": 30991.210222585592, + "y": 24665.670256050747 }, "floatingObject": { "isPinned": false, @@ -1992,12 +1993,12 @@ "id": "5962ffe0-3120-4573-b996-6bf22cfdc9de", "savedPayload": { "position": { - "x": 30770.5235352903, - "y": 25038.669776042014 + "x": 31284.654502805734, + "y": 24603.29674880542 }, "targetPosition": { - "x": 30490.44940734114, - "y": 24931.159391178422 + "x": 30991.210222585592, + "y": 24665.670256050747 }, "floatingObject": { "isPinned": false, @@ -2505,12 +2506,12 @@ "id": "efa27450-103f-4b2e-b0c5-b26d538e711e", "savedPayload": { "position": { - "x": 30708.061718644825, - "y": 25137.665763886547 + "x": 31286.18669485478, + "y": 24720.34091369839 }, "targetPosition": { - "x": 30490.44940734114, - "y": 24931.159391178422 + "x": 30991.210222585592, + "y": 24665.670256050747 }, "floatingObject": { "isPinned": false, @@ -2558,12 +2559,12 @@ "id": "cb79b91f-d01c-4efa-8fea-e4b7374fdd8b", "savedPayload": { "position": { - "x": 30951.210222585592, - "y": 24646.670256050744 + "x": 30991.210222585592, + "y": 24665.670256050747 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, @@ -2607,17 +2608,17 @@ { "type": "Pool Weight Vote", "name": "Foundations Project Pool", - "config": "{\n \"percentage\": 28\n}", + "config": "{\n \"percentage\": 5\n}", "project": "Governance", "id": "2a1c7f8b-1cf0-411b-b483-d400885c3728", "savedPayload": { "position": { - "x": 30715.633511156124, - "y": 24944.95077561178 + "x": 31187.576829133694, + "y": 24554.59263126371 }, "targetPosition": { - "x": 30427.987590695666, - "y": 25030.155379022955 + "x": 30992.74241463464, + "y": 24782.714420943717 }, "floatingObject": { "isPinned": false, @@ -2660,17 +2661,17 @@ { "type": "Pool Weight Vote", "name": "TensorFlow Project Pool", - "config": "{\n \"percentage\": 22\n}", + "config": "{\n \"percentage\": 40\n}", "project": "Governance", "id": "6c19b162-0b82-4d3a-a949-7361a2ad2b22", "savedPayload": { "position": { - "x": 30719.69856681497, - "y": 25100.18898817973 + "x": 31275.534861962293, + "y": 24682.572363173585 }, "targetPosition": { - "x": 30427.987590695666, - "y": 25030.155379022955 + "x": 30992.74241463464, + "y": 24782.714420943717 }, "floatingObject": { "isPinned": false, @@ -2713,17 +2714,17 @@ { "type": "Pool Weight Vote", "name": "Governance Project Pool", - "config": "{\n \"percentage\": 25\n}", + "config": "{\n \"percentage\": 50\n}", "project": "Governance", "id": "0c9cc0a5-cbc2-4c85-824e-432875d39dfc", "savedPayload": { "position": { - "x": 30645.59990199935, - "y": 25236.66175173108 + "x": 31287.718886903825, + "y": 24837.38507859136 }, "targetPosition": { - "x": 30427.987590695666, - "y": 25030.155379022955 + "x": 30992.74241463464, + "y": 24782.714420943717 }, "floatingObject": { "isPinned": false, @@ -2766,17 +2767,17 @@ { "type": "Pool Weight Vote", "name": "Education Project Pool", - "config": "{\n \"percentage\": 18\n}", + "config": "{\n \"percentage\": 5\n}", "project": "Governance", "id": "39553f4f-8b18-4194-9d91-38ded93677f3", "savedPayload": { "position": { - "x": 30513.192194106843, - "y": 25317.801299483413 + "x": 31220.864204314646, + "y": 24977.548835442773 }, "targetPosition": { - "x": 30427.987590695666, - "y": 25030.155379022955 + "x": 30992.74241463464, + "y": 24782.714420943717 }, "floatingObject": { "isPinned": false, @@ -2819,17 +2820,17 @@ { "type": "Pool Weight Vote", "name": "Ethereum Project Pool", - "config": "{}", + "config": "{\n \"percentage\": 0\n}", "project": "Governance", "id": "c0e53819-b234-4583-b1c7-b465492ae165", "savedPayload": { "position": { - "x": 30357.953981538893, - "y": 25321.866355142258 + "x": 31092.88447240477, + "y": 25065.50686827137 }, "targetPosition": { - "x": 30427.987590695666, - "y": 25030.155379022955 + "x": 30992.74241463464, + "y": 24782.714420943717 }, "floatingObject": { "isPinned": false, @@ -2876,12 +2877,12 @@ "id": "33c4a72b-4908-478e-b7c3-2304cb211f05", "savedPayload": { "position": { - "x": 30952.74241463464, - "y": 24763.714420943714 + "x": 30992.74241463464, + "y": 24782.714420943717 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, @@ -2918,7 +2919,7 @@ { "type": "Weight Votes Switch", "name": "Trading Intelligence", - "config": "{\n \"percentage\": 9\n}", + "config": "{\n \"percentage\": 2.5\n}", "project": "Governance", "weightVotesSwitch": [], "poolWeightVotes": [ @@ -3088,12 +3089,12 @@ "id": "56c59557-4ab9-4f4b-9c48-e1f9822e4899", "savedPayload": { "position": { - "x": 30909.367112749078, - "y": 24872.43547380058 + "x": 30949.367112749078, + "y": 24891.435473800582 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, @@ -3130,7 +3131,7 @@ { "type": "Weight Votes Switch", "name": "Education, Docs, Tutorials, Videos, Icons", - "config": "{\n \"percentage\": 4\n}", + "config": "{\n \"percentage\": 2\n}", "project": "Governance", "weightVotesSwitch": [], "poolWeightVotes": [ @@ -3142,12 +3143,12 @@ "id": "34682b4d-a2de-49da-baa3-bfec87ac0521", "savedPayload": { "position": { - "x": 30481.873497682933, - "y": 25266.693831885383 + "x": 31166.763013562842, + "y": 24951.743891164326 }, "targetPosition": { - "x": 30218.228363884344, - "y": 25123.5462038075 + "x": 30867.687813442903, + "y": 24975.28161988268 }, "floatingObject": { "isPinned": false, @@ -3190,17 +3191,17 @@ { "type": "Pool Weight Vote", "name": "Tensor Flow Project Pool", - "config": "{\n \"percentage\": 35\n}", + "config": "{\n \"percentage\": 30\n}", "project": "Governance", "id": "bd2be404-987e-4568-90c1-12bb74c850e1", "savedPayload": { "position": { - "x": 30374.977933299127, - "y": 25379.338253113725 + "x": 31138.46339874786, + "y": 25104.43494892517 }, "targetPosition": { - "x": 30218.228363884344, - "y": 25123.5462038075 + "x": 30867.687813442903, + "y": 24975.28161988268 }, "floatingObject": { "isPinned": false, @@ -3243,17 +3244,17 @@ { "type": "Pool Weight Vote", "name": "Governance Project Pool", - "config": "{\n \"percentage\": 35\n}", + "config": "{\n \"percentage\": 40\n}", "project": "Governance", "id": "e279f63a-310d-4532-bfc9-54e883c537dd", "savedPayload": { "position": { - "x": 30226.081448376706, - "y": 25423.443401300166 + "x": 31037.609684520354, + "y": 25222.519476469286 }, "targetPosition": { - "x": 30218.228363884344, - "y": 25123.5462038075 + "x": 30867.687813442903, + "y": 24975.28161988268 }, "floatingObject": { "isPinned": false, @@ -3296,17 +3297,17 @@ { "type": "Pool Weight Vote", "name": "Education Project Pool", - "config": "{}", + "config": "{\n \"percentage\": 5\n}", "project": "Governance", "id": "5a656caa-36db-4ee7-a1c3-f748636b80aa", "savedPayload": { "position": { - "x": 30075.08073580646, - "y": 25387.191337606087 + "x": 30891.225542161257, + "y": 25274.35682000262 }, "targetPosition": { - "x": 30218.228363884344, - "y": 25123.5462038075 + "x": 30867.687813442903, + "y": 24975.28161988268 }, "floatingObject": { "isPinned": false, @@ -3354,12 +3355,12 @@ "id": "af3c5702-3ce1-4a32-8987-8bbce440931b", "savedPayload": { "position": { - "x": 29962.436314578117, - "y": 25280.295773222282 + "x": 30738.534484400414, + "y": 25246.057205187637 }, "targetPosition": { - "x": 30218.228363884344, - "y": 25123.5462038075 + "x": 30867.687813442903, + "y": 24975.28161988268 }, "floatingObject": { "isPinned": false, @@ -3406,23 +3407,24 @@ "id": "88c4df8c-48ff-4d7e-a5ed-015c3faf6e69", "savedPayload": { "position": { - "x": 30827.687813442903, - "y": 24956.281619882677 + "x": 30867.687813442903, + "y": 24975.28161988268 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 }, "uiObject": { - "isRunning": false + "isRunning": false, + "shortcutKey": "q" }, "referenceParent": { "type": "Pool Class", @@ -3448,7 +3450,7 @@ { "type": "Weight Votes Switch", "name": "Marketing", - "config": "{\n \"percentage\": 14\n}", + "config": "{\n \"percentage\": 7\n}", "project": "Governance", "weightVotesSwitch": [], "poolWeightVotes": [ @@ -3565,12 +3567,12 @@ "id": "34ddd8f7-d8a3-495d-8c7f-2a3f121b3269", "savedPayload": { "position": { - "x": 30720.13944961078, - "y": 25002.488043516212 + "x": 30760.13944961078, + "y": 25021.488043516216 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, @@ -3972,12 +3974,12 @@ "id": "c092f4bb-64fe-47ca-bb13-668d4d65f901", "savedPayload": { "position": { - "x": 30603.09528471781, - "y": 25004.02023556526 + "x": 30643.09528471781, + "y": 25023.020235565262 }, "targetPosition": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "floatingObject": { "isPinned": false, @@ -4019,23 +4021,24 @@ "id": "800e3388-1ea6-40ee-ace5-1811a3373e39", "savedPayload": { "position": { - "x": 30657.76594236545, - "y": 24709.04376329607 + "x": 30697.76594236545, + "y": 24728.043763296075 }, "targetPosition": { - "x": 30406.164771981825, - "y": 24545.652052791564 + "x": 30446.164771981825, + "y": 24564.652052791567 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 }, "uiObject": { - "isRunning": false + "isRunning": false, + "shortcutKey": "" } } }, @@ -7127,12 +7130,12 @@ "id": "f5b54a5c-0251-4a78-94e6-5e2dc4113d5c", "savedPayload": { "position": { - "x": 30542.36192190369, - "y": 24812.954010048074 + "x": 30582.36192190369, + "y": 24831.954010048077 }, "targetPosition": { - "x": 30406.164771981825, - "y": 24545.652052791564 + "x": 30446.164771981825, + "y": 24564.652052791567 }, "floatingObject": { "isPinned": false, @@ -11942,12 +11945,12 @@ "id": "c5258958-8fd9-4d68-8a9f-481430aa1bb3", "savedPayload": { "position": { - "x": 30390.46398510894, - "y": 24845.240913217935 + "x": 30430.46398510894, + "y": 24864.24091321794 }, "targetPosition": { - "x": 30406.164771981825, - "y": 24545.652052791564 + "x": 30446.164771981825, + "y": 24564.652052791567 }, "floatingObject": { "isPinned": false, @@ -11964,7 +11967,7 @@ }, { "type": "Weight Votes Switch", - "name": "Exchanges", + "name": "Superalgos-Exchanges", "config": "{\n \"percentage\": 5\n}", "project": "Governance", "weightVotesSwitch": [ @@ -11973,23 +11976,306 @@ "name": "SA Token Listings Rewards", "config": "{}", "project": "Governance", - "weightVotesSwitch": [], - "poolWeightVotes": [], - "assetWeightVotes": [ + "weightVotesSwitch": [ { - "type": "Asset Weight Vote", - "name": "Superalgos-Exchanges SA Token Listings Rewards Open Negotiations Bittrex", - "config": "{\n \"percentage\": 45\n}", + "type": "Weight Votes Switch", + "name": "DEXs", + "config": "{\n \"percentage\": 100\n}", "project": "Governance", - "id": "ed4cf0cf-3ef8-4e2e-8ec9-9809e3462994", + "weightVotesSwitch": [ + { + "type": "Weight Votes Switch", + "name": "First Listing", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [ + { + "type": "Weight Votes Switch", + "name": " Pancakeswap SA/WBTC", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [], + "poolWeightVotes": [], + "assetWeightVotes": [ + { + "type": "Asset Weight Vote", + "name": "DEXs First Listing Pancakeswap SA/WBTC SA Liquidity", + "config": "{}", + "project": "Governance", + "id": "132eec8f-8438-429d-bebc-47a5e100e48e", + "savedPayload": { + "position": { + "x": 30208.476140276023, + "y": 26233.922932094443 + }, + "targetPosition": { + "x": 30072.27899035416, + "y": 25966.620974837933 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset", + "name": "SA Liquidity", + "id": "2e59edc7-7e37-40e3-808f-9ab3c7c5f0b3" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "DEXs", + "Asset Class", + "Governance", + "90e0c410-b1e7-4f0a-9dec-99c597a7956d" + ], + [ + "First Listing", + "Asset Class", + "Governance", + "54f70f64-029a-4f2f-8847-5208c2fa94a1" + ], + [ + " Pancakeswap SA/WBTC", + "Asset Class", + "Governance", + "cc6e34d9-d58a-4aa7-9049-250ea90a8430" + ], + [ + "SA Liquidity", + "Asset", + "Governance", + "2e59edc7-7e37-40e3-808f-9ab3c7c5f0b3" + ] + ] + } + }, + { + "type": "Asset Weight Vote", + "name": "DEXs First Listing Pancakeswap SA/WBTC WBTC Liquidity", + "config": "{\n \"percentage\": 55.555556\n}", + "project": "Governance", + "id": "99b1f5b3-d368-49ed-b848-d52e13b586d6", + "savedPayload": { + "position": { + "x": 29908.887279849652, + "y": 26218.22214522156 + }, + "targetPosition": { + "x": 30072.27899035416, + "y": 25966.620974837933 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + }, + "referenceParent": { + "type": "Asset", + "name": "WBTC Liquidity", + "id": "117afaed-83bd-4b0c-be12-40b8c8dd3a34" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "DEXs", + "Asset Class", + "Governance", + "90e0c410-b1e7-4f0a-9dec-99c597a7956d" + ], + [ + "First Listing", + "Asset Class", + "Governance", + "54f70f64-029a-4f2f-8847-5208c2fa94a1" + ], + [ + " Pancakeswap SA/WBTC", + "Asset Class", + "Governance", + "cc6e34d9-d58a-4aa7-9049-250ea90a8430" + ], + [ + "WBTC Liquidity", + "Asset", + "Governance", + "117afaed-83bd-4b0c-be12-40b8c8dd3a34" + ] + ] + } + } + ], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "6188434b-762d-44f9-a459-b79cea727bfe", + "savedPayload": { + "position": { + "x": 30072.27899035416, + "y": 25966.620974837933 + }, + "targetPosition": { + "x": 30087.979777227043, + "y": 25667.032114411562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset Class", + "name": " Pancakeswap SA/WBTC", + "id": "cc6e34d9-d58a-4aa7-9049-250ea90a8430" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "DEXs", + "Asset Class", + "Governance", + "90e0c410-b1e7-4f0a-9dec-99c597a7956d" + ], + [ + "First Listing", + "Asset Class", + "Governance", + "54f70f64-029a-4f2f-8847-5208c2fa94a1" + ], + [ + " Pancakeswap SA/WBTC", + "Asset Class", + "Governance", + "cc6e34d9-d58a-4aa7-9049-250ea90a8430" + ] + ] + } + } + ], + "poolWeightVotes": [], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "d987d5ba-4316-4d62-927a-cf25b16bfbdf", + "savedPayload": { + "position": { + "x": 30087.979777227043, + "y": 25667.032114411562 + }, + "targetPosition": { + "x": 30103.680564099926, + "y": 25367.44325398519 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset Class", + "name": "First Listing", + "id": "54f70f64-029a-4f2f-8847-5208c2fa94a1" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "DEXs", + "Asset Class", + "Governance", + "90e0c410-b1e7-4f0a-9dec-99c597a7956d" + ], + [ + "First Listing", + "Asset Class", + "Governance", + "54f70f64-029a-4f2f-8847-5208c2fa94a1" + ] + ] + } + } + ], + "poolWeightVotes": [], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "c06903b5-4a3f-4d0e-bfdb-84003992c271", "savedPayload": { "position": { - "x": 30141.754858218137, - "y": 25342.298673778958 + "x": 30103.680564099926, + "y": 25367.44325398519 }, "targetPosition": { - "x": 30079.38135097281, - "y": 25048.854393558817 + "x": 30119.38135097281, + "y": 25067.85439355882 }, "floatingObject": { "isPinned": false, @@ -12003,9 +12289,9 @@ "isRunning": false }, "referenceParent": { - "type": "Asset", - "name": "Bittrex", - "id": "548dd163-9991-4de3-9e68-9e8a9a051a2f" + "type": "Asset Class", + "name": "DEXs", + "id": "90e0c410-b1e7-4f0a-9dec-99c597a7956d" }, "referenceParentCombinedNodePath": [ [ @@ -12021,98 +12307,299 @@ "492669d5-223f-426d-845a-f26dd1ae251e" ], [ - "Open Negotiations", + "DEXs", "Asset Class", "Governance", - "144ad412-94fc-4b80-8dd9-2520f64edfcc" - ], - [ - "Bittrex", - "Asset", - "Governance", - "548dd163-9991-4de3-9e68-9e8a9a051a2f" + "90e0c410-b1e7-4f0a-9dec-99c597a7956d" ] ] } }, { - "type": "Asset Weight Vote", - "name": "Superalgos-Exchanges SA Token Listings Rewards Open Negotiations LBank", - "config": "{\n \"percentage\": 25\n}", - "project": "Governance", - "id": "25eed22d-3f2f-4a33-92fc-d43028cfa972", - "savedPayload": { - "position": { - "x": 29915.989640468302, - "y": 25300.455563942443 - }, - "targetPosition": { - "x": 30079.38135097281, - "y": 25048.854393558817 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - }, - "referenceParent": { - "type": "Asset", - "name": "LBank", - "id": "e4e7addb-a840-4ce9-9e01-74c7e57c24ad" - }, - "referenceParentCombinedNodePath": [ - [ - "Superalgos-Exchanges", - "Assets", - "Governance", - "2cefeb95-9fde-418b-a35b-6178a97cac9d" - ], - [ - "SA Token Listings Rewards", - "Asset Class", - "Governance", - "492669d5-223f-426d-845a-f26dd1ae251e" - ], - [ - "Open Negotiations", - "Asset Class", - "Governance", - "144ad412-94fc-4b80-8dd9-2520f64edfcc" - ], - [ - "LBank", - "Asset", - "Governance", - "e4e7addb-a840-4ce9-9e01-74c7e57c24ad" - ] - ] - } - }, - { - "type": "Asset Weight Vote", - "name": "Superalgos-Exchanges SA Token Listings Rewards Open Negotiations Probit", + "type": "Weight Votes Switch", + "name": "CEXs", "config": "{}", "project": "Governance", - "id": "cc322882-2489-4b4e-989b-d56d3345ad70", + "weightVotesSwitch": [ + { + "type": "Weight Votes Switch", + "name": "Open Negotiations", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [], + "poolWeightVotes": [], + "assetWeightVotes": [ + { + "type": "Asset Weight Vote", + "name": "SA Token Listings Rewards CEXs Open Negotiations Bittrex", + "config": "{}", + "project": "Governance", + "id": "8f4adb75-d7f5-4ea4-94e6-9126cd9fc1da", + "savedPayload": { + "position": { + "x": 29492.072338147307, + "y": 25625.565648291093 + }, + "targetPosition": { + "x": 29584.77743645979, + "y": 25340.248693402547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset", + "name": "Bittrex", + "id": "548dd163-9991-4de3-9e68-9e8a9a051a2f" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "CEXs", + "Asset Class", + "Governance", + "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4" + ], + [ + "Open Negotiations", + "Asset Class", + "Governance", + "144ad412-94fc-4b80-8dd9-2520f64edfcc" + ], + [ + "Bittrex", + "Asset", + "Governance", + "548dd163-9991-4de3-9e68-9e8a9a051a2f" + ] + ] + } + }, + { + "type": "Asset Weight Vote", + "name": "SA Token Listings Rewards CEXs Open Negotiations LBank", + "config": "{}", + "project": "Governance", + "id": "308cb2e4-23e2-4a7f-a1e2-3fa4e83fd6e2", + "savedPayload": { + "position": { + "x": 29317.47547920328, + "y": 25476.44584332441 + }, + "targetPosition": { + "x": 29584.77743645979, + "y": 25340.248693402547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset", + "name": "LBank", + "id": "e4e7addb-a840-4ce9-9e01-74c7e57c24ad" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "CEXs", + "Asset Class", + "Governance", + "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4" + ], + [ + "Open Negotiations", + "Asset Class", + "Governance", + "144ad412-94fc-4b80-8dd9-2520f64edfcc" + ], + [ + "LBank", + "Asset", + "Governance", + "e4e7addb-a840-4ce9-9e01-74c7e57c24ad" + ] + ] + } + }, + { + "type": "Asset Weight Vote", + "name": "SA Token Listings Rewards CEXs Open Negotiations Probit", + "config": "{}", + "project": "Governance", + "id": "622a822c-b952-4c17-ab4d-2a8874b60016", + "savedPayload": { + "position": { + "x": 29299.460481571245, + "y": 25247.543595090065 + }, + "targetPosition": { + "x": 29584.77743645979, + "y": 25340.248693402547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset", + "name": "Probit", + "id": "6b27f708-c243-42e9-874b-ceceea7db21f" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "CEXs", + "Asset Class", + "Governance", + "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4" + ], + [ + "Open Negotiations", + "Asset Class", + "Governance", + "144ad412-94fc-4b80-8dd9-2520f64edfcc" + ], + [ + "Probit", + "Asset", + "Governance", + "6b27f708-c243-42e9-874b-ceceea7db21f" + ] + ] + } + } + ], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "3c1a71a8-58ff-42f5-b45e-feea25575e97", + "savedPayload": { + "position": { + "x": 29584.77743645979, + "y": 25340.248693402547 + }, + "targetPosition": { + "x": 29852.0793937163, + "y": 25204.051543480684 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Asset Class", + "name": "Open Negotiations", + "id": "144ad412-94fc-4b80-8dd9-2520f64edfcc" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos-Exchanges", + "Assets", + "Governance", + "2cefeb95-9fde-418b-a35b-6178a97cac9d" + ], + [ + "SA Token Listings Rewards", + "Asset Class", + "Governance", + "492669d5-223f-426d-845a-f26dd1ae251e" + ], + [ + "CEXs", + "Asset Class", + "Governance", + "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4" + ], + [ + "Open Negotiations", + "Asset Class", + "Governance", + "144ad412-94fc-4b80-8dd9-2520f64edfcc" + ] + ] + } + } + ], + "poolWeightVotes": [], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "34e73e02-70aa-4154-9603-58a67a7ff047", "savedPayload": { "position": { - "x": 29785.93707075267, - "y": 25111.227900804144 + "x": 29852.0793937163, + "y": 25204.051543480684 }, "targetPosition": { - "x": 30079.38135097281, - "y": 25048.854393558817 + "x": 30119.38135097281, + "y": 25067.85439355882 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -12121,9 +12608,9 @@ "isRunning": false }, "referenceParent": { - "type": "Asset", - "name": "Probit", - "id": "6b27f708-c243-42e9-874b-ceceea7db21f" + "type": "Asset Class", + "name": "CEXs", + "id": "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4" }, "referenceParentCombinedNodePath": [ [ @@ -12139,32 +12626,28 @@ "492669d5-223f-426d-845a-f26dd1ae251e" ], [ - "Open Negotiations", + "CEXs", "Asset Class", "Governance", - "144ad412-94fc-4b80-8dd9-2520f64edfcc" - ], - [ - "Probit", - "Asset", - "Governance", - "6b27f708-c243-42e9-874b-ceceea7db21f" + "ec0ab4b8-e3cc-47e6-94e7-6d181e1008f4" ] ] } } ], + "poolWeightVotes": [], + "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], "id": "b856fe5a-4f77-4fad-8c41-1b172b9f01df", "savedPayload": { "position": { - "x": 30079.38135097281, - "y": 25048.854393558817 + "x": 30119.38135097281, + "y": 25067.85439355882 }, "targetPosition": { - "x": 30242.773061477317, - "y": 24797.25322317519 + "x": 30282.773061477317, + "y": 24816.253223175194 }, "floatingObject": { "isPinned": false, @@ -12206,17 +12689,17 @@ "id": "9017ca73-7bbd-4228-a59a-9fb85a130e1a", "savedPayload": { "position": { - "x": 30242.773061477317, - "y": 24797.25322317519 + "x": 30282.773061477317, + "y": 24816.253223175194 }, "targetPosition": { - "x": 30406.164771981825, - "y": 24545.652052791564 + "x": 30446.164771981825, + "y": 24564.652052791567 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -12838,12 +13321,12 @@ "id": "066ec791-bd03-4e03-a180-58c7d90c42c4", "savedPayload": { "position": { - "x": 30138.862814725315, - "y": 24681.849202713427 + "x": 30178.862814725315, + "y": 24700.84920271343 }, "targetPosition": { - "x": 30406.164771981825, - "y": 24545.652052791564 + "x": 30446.164771981825, + "y": 24564.652052791567 }, "floatingObject": { "isPinned": false, @@ -12876,14 +13359,14 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 }, "uiObject": { "isRunning": false, - "shortcutKey": "a" + "shortcutKey": "" } } } @@ -13360,12 +13843,12 @@ "id": "928e9ccb-1e90-48a9-af77-b3089225fc4f", "savedPayload": { "position": { - "x": 29829.25291584204, - "y": 24124.4628502733 + "x": 29869.25291584204, + "y": 24143.462850273303 }, "targetPosition": { - "x": 29951.27390876478, - "y": 23850.39921298052 + "x": 29991.27390876478, + "y": 23869.399212980523 }, "floatingObject": { "isPinned": false, @@ -13383,12 +13866,12 @@ "id": "b046f4e4-40b1-4e47-8fed-75a6a5c6029d", "savedPayload": { "position": { - "x": 29951.27390876478, - "y": 23850.39921298052 + "x": 29991.27390876478, + "y": 23869.399212980523 }, "targetPosition": { - "x": 30073.294901687517, - "y": 23576.33557568774 + "x": 30113.294901687517, + "y": 23595.335575687743 }, "floatingObject": { "isPinned": false, @@ -13406,7 +13889,7 @@ "delegationProgram": { "type": "Delegation Program", "name": "New Delegation Program", - "config": "{\n \"percentage\": 85\n}", + "config": "{\n \"percentage\": 100\n}", "project": "Governance", "delegatePowerSwitch": [ { @@ -13681,12 +14164,12 @@ "id": "3ff7f410-911d-4cb8-9094-d816dee4dccb", "savedPayload": { "position": { - "x": 29774.938333077036, - "y": 23607.694114668036 + "x": 29814.938333077036, + "y": 23626.69411466804 }, "targetPosition": { - "x": 30073.294901687517, - "y": 23576.33557568774 + "x": 30113.294901687517, + "y": 23595.335575687743 }, "floatingObject": { "isPinned": false, diff --git a/Projects/Governance/UI/Globals/SaToken.js b/Projects/Governance/UI/Globals/SaToken.js index fec31461a..12c4ef3ee 100644 --- a/Projects/Governance/UI/Globals/SaToken.js +++ b/Projects/Governance/UI/Globals/SaToken.js @@ -1,7 +1,9 @@ function newGovernanceGlobalsSaToken() { let thisObject = { SA_TOKEN_BSC_CONTRACT_ADDRESS: '0xfb981ed9a92377ca4d75d924b9ca06df163924fd', - SA_TOKEN_BSC_TREASURY_ACCOUNT_ADDRESS: '0x8d4d2557ce99f83f658adf61eef3e61e04c2ac2c' + SA_TOKEN_BSC_CONTRACT_ABI: '[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"isBlackListed","type":"bool"}],"name":"blackListAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"},{"name":"_supply","type":"uint256"},{"name":"tokenOwner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"blackListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Blacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]', + SA_TOKEN_BSC_TREASURY_ACCOUNT_ADDRESS: '0x8d4d2557ce99f83f658adf61eef3e61e04c2ac2c', + SA_TOKEN_BSC_DECIMAL_FACTOR: 1000000000000000000 } return thisObject } \ No newline at end of file diff --git a/Projects/Governance/UI/Spaces/Reports-Space/CommandInterface.js b/Projects/Governance/UI/Spaces/Reports-Space/CommandInterface.js index d9d5ad775..f7eb10614 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/CommandInterface.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/CommandInterface.js @@ -33,7 +33,7 @@ function newGovernanceReportsCommmandInterface() { UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov PRs Command') return } - if (command.indexOf('gov.prs') !== 0 ) { return 'Not PRs Commands' } + if (command.indexOf('gov.prs') !== 0) { return 'Not PRs Commands' } /* Set up the commit message */ let message = command.trim().substring(command.indexOf(' ') + 1, command.length) @@ -127,28 +127,83 @@ function newGovernanceReportsCommmandInterface() { } if (command.indexOf('gov.pay') !== 0) { return 'Not Pay Commands' } - httpRequest(undefined, 'Gov/Pay/' + UI.projects.education.spaces.docsSpace.currentBranch, onResponse) UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Message - Paying to Contributors') - return + /* + Let's create a list of payments to be made. + */ + let paymentsArray = [] + /* + Here we get from the workspace all User Profiles. + */ + let userProfiles = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('User Profile') + /* + Transform the result array into table records. + */ + for (let j = 0; j < userProfiles.length; j++) { + let userProfile = userProfiles[j] + + if (userProfile.payload === undefined) { continue } + if (userProfile.tokensMined === undefined) { continue } + if (userProfile.tokensMined.payload === undefined) { continue } + if (userProfile.tokensMined.payload.tokensMined === undefined) { continue } + + let payment = { + "userProfile": userProfile.name, + "from": UI.projects.governance.globals.saToken.SA_TOKEN_BSC_TREASURY_ACCOUNT_ADDRESS, + "to": userProfile.payload.blockchainAccount, + "amount": 1 * UI.projects.governance.globals.saToken.SA_TOKEN_BSC_DECIMAL_FACTOR //(userProfile.tokensMined.payload.tokensMined.total | 0) * UI.projects.governance.globals.saToken.SA_TOKEN_BSC_DECIMAL_FACTOR + } + + paymentsArray.push(payment) + } + /* Let's get the Mnemonic */ + let web3API = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('APIs')[0].web3API + let mnemonic = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(web3API.payload, 'mnemonic') + + /* Lets execute this command against the Client */ + + let params = { + method: 'payContributors', + contractAddress: UI.projects.governance.globals.saToken.SA_TOKEN_BSC_CONTRACT_ADDRESS, + contractAbi: UI.projects.governance.globals.saToken.SA_TOKEN_BSC_CONTRACT_ABI, + paymentsArray: paymentsArray, + mnemonic: mnemonic + } + + let url = 'GOV' // We will access the default Client GOV endpoint. + + httpRequest(JSON.stringify(params), url, onResponse) function onResponse(err, data) { + /* Lets check the result of the call through the http interface */ - data = JSON.parse(data) - if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result && data.result === GLOBAL.CUSTOM_OK_RESPONSE.result) { - if (data.message.summary.changes + data.message.summary.deletions + data.message.summary.insertions > 0) { - UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Message - Pay Done') - } else { - UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Message - Pay Failed') - } + if (err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) { + console.log('[ERROR] Call via HTTP Interface failed.' + err.stack) + console.log('[ERROR] Params = ' + JSON.stringify(params)) + return + } + + let response = JSON.parse(data) + + /* Lets check the result of the method call */ + if (response.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) { + console.log('[ERROR] Call to Client Github Server failed.' + err.stack) + console.log('[ERROR] Params = ' + JSON.stringify(params)) + } + + /* Successful Call */ + + if (response.result === GLOBAL.DEFAULT_OK_RESPONSE.result) { + UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Message - Contribution Payments Processed') } else { UI.projects.education.spaces.docsSpace.navigateTo( - data.docs.project, - data.docs.category, - data.docs.type, - data.docs.anchor, + response.docs.project, + response.docs.category, + response.docs.type, + response.docs.anchor, undefined, - data.docs.placeholder + response.docs.placeholder ) } } diff --git a/Projects/Governance/UI/Spaces/Reports-Space/Delegation.js b/Projects/Governance/UI/Spaces/Reports-Space/Delegation.js index 435ff4f5e..6c161a722 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/Delegation.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/Delegation.js @@ -77,6 +77,7 @@ function newGovernanceReportsDelegation() { if (program === undefined) { continue } if (program.payload === undefined) { continue } if (program.payload[programPropertyName] === undefined) { continue } + if (program.payload[programPropertyName].bonus === undefined) { continue } let tableRecord = { "name": userProfile.name, diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index 63d2c0d1c..54cb070fd 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -88,7 +88,7 @@ function newGovernanceUserProfileSpace() { if (transfer.contractAddress !== UI.projects.governance.globals.saToken.SA_TOKEN_BSC_CONTRACT_ADDRESS) { continue } if (transfer.from !== UI.projects.governance.globals.saToken.SA_TOKEN_BSC_TREASURY_ACCOUNT_ADDRESS) { continue } - let currentReputation = Number(transfer.value) / 1000000000000000000 + let currentReputation = Number(transfer.value) / UI.projects.governance.globals.saToken.SA_TOKEN_BSC_DECIMAL_FACTOR let previousReputation = reputationByAddress.get(transfer.to) let newReputation = previousReputation | 0 + currentReputation reputationByAddress.set(transfer.to, newReputation) diff --git a/Projects/Governance/UI/Utilities/DescendentTables.js b/Projects/Governance/UI/Utilities/DescendentTables.js index 89a57fddf..7bebf214a 100644 --- a/Projects/Governance/UI/Utilities/DescendentTables.js +++ b/Projects/Governance/UI/Utilities/DescendentTables.js @@ -91,6 +91,7 @@ function newGovernanceUtilitiesDecendentTables() { if (program === undefined) { continue } if (program.payload === undefined) { continue } if (program.payload[programPropertyName] === undefined) { continue } + if (program.payload[programPropertyName].bonus === undefined) { continue } let tableRecord = { "name": userProfile.name,