diff --git a/Client/WebServer/index.html b/Client/WebServer/index.html index b5114be9a..a693d0d9d 100644 --- a/Client/WebServer/index.html +++ b/Client/WebServer/index.html @@ -32,7 +32,8 @@ } catch (e) { console.error('CJ protection', e) } try { - loadSuperalgos(); + drawSplashText() + loadSuperalgos() } catch (err) { console.log("[ERROR] UI can not be started. Please check that WebServer is running.", err); } @@ -48,21 +49,72 @@ console.log('Error Resizing. ' + err.stack) } } + + function drawSplashText() { + const splashTextArray = [ + { + "splashTextLine1Html": 'Superalgos is open source, forever free for everyone, and is constantly improving thanks to the involvement of contributors:' + , + "splashTextLine2Html": 'Luis Fernando Molina, Julian Molina, Andreja Cobeljic, Ira Miller, matbenitez, bearcanrun, nikolabjelo, 9808us, pmmax, suttridge, Basalt09, Mhnramin, 0xperez, infin1t3, benitezme, whtv, cozed-gh, Eduardo678-dotcom, Smidy13, teehanming, 64bittuning, joenij, apronotti, Noeljarillo, ssplatt, rico4dev, DougJCook, mane, Cordo-van-Saviour, CarnivalBen, Sil3ntLight, pisukesoramame, Edodi, harrellbm, CaptainJeff, Jeff Braun, Francisco J. Santillán, Norman, Viktoria B., Guillermo V., Daniel J., Javier A., Gustavo J., Romina GS, Pedro P., Thais M., Andrey M., Loui M., Natalia, M., Bashar A., Carlos V., Diego M., Sebastian E., Bogdan P., Marko V., Igor S., Niksa K., Rodrigo M., Nicanor M., Mateo H., Lan T., Leon A., Uroš R., Filip M., Vladimir J. and Pavle B.' + , + "splashTextLine3Html": 'Please, give a star to the Superalgos repo at GitHub.com... It helps other devs find the project!' + }, + { + "splashTextLine1Html": 'Superalgos is a Community of Algo-Traders, sharing knoleadge, experience and tools between each other.' + , + "splashTextLine2Html": 'The Superalgos Community is capable of collective bargaining with Crypto Exchanges to get better trading fees for all members.' + , + "splashTextLine3Html": 'Become part of the Superalgos Community by making a small contribution to the open source project!' + }, + { + "splashTextLine1Html": 'Superalgos is built on Core Values that we are never going to change.' + , + "splashTextLine2Html": 'Superalgos software does not include Ads of any kind, and it will never do it. Superalgos software does not collect user information of any kind, and it will never do it. Superalgos software is Free of Charge for all community members, and it will allways be. We value Education that is why we build into the software educational tools and content.' + , + "splashTextLine3Html": 'We build this together and it belongs to us. Become part of the Superalgos Community by making a small contribution to the open source project!' + }, + { + "splashTextLine1Html": 'Superalgos is Permissionless. Don\'t like the UI? Don\'t like the icons used? Don\'t like the Charting System? Don\'t like the Visual Designer? Don\'t like the Visual Debugger? Don\'t like the Docs? Don\'t like the Trading Bot? Don\'t like the Indicators? Don\'t like the Plotters? Don\'t like any other part of the system?' + , + "splashTextLine2Html": 'No problem, code or integrate libraries with your own version of any component and we promise we will merge your work and provide it as an alternative to users. We believe in Permissionless Innovation and that users, not team members, are the final judges and the ones who decide what they prefer to use. You are free to create an alternative for any part of the system that you believe that should work or should have been done in a different way. We will help you integrate your vision into the next release and enable a way for users to choose between different implementations of the same functionality. You will also be granted the title of maintainer of the functionality you provide and have decision power on how it evolves in the future.' + , + "splashTextLine3Html": 'We are strong belieavers in Permissionless Innovation. You don\'t need to ask for permission to become one of us. Make a small contribution to the open source project and you will become a member of the Superalgos Community' + }, + { + "splashTextLine1Html": 'Would you like to join the Superalgos\'s Developer Team?.' + , + "splashTextLine2Html": 'Just look around, find something that is missing and start coding it. If you need help ask at the chat groups. If the feature you want to add is big or difficult to integrate, look for a mentor to help you out.' + , + "splashTextLine3Html": 'If Bitcoin\'s motto is Don\'t trust. Verify., ours is: Just code it.' + } + ] + + let arrayIndex = Math.trunc(Math.random() * splashTextArray.length) + let splashTextElement + splashTextElement = document.getElementById('splash-text-line-1') + splashTextElement.innerHTML = splashTextArray[arrayIndex].splashTextLine1Html + splashTextElement = document.getElementById('splash-text-line-2') + splashTextElement.innerHTML = splashTextArray[arrayIndex].splashTextLine2Html + splashTextElement = document.getElementById('splash-text-line-3') + splashTextElement.innerHTML = splashTextArray[arrayIndex].splashTextLine3Html + } -
-

Superalgos is open source, forever free for everyone, and is constantly improving thanks to the involvement of contributors:

-

Luis Fernando Molina, Julian Molina, Andreja Cobeljic, Ira Miller, matbenitez, bearcanrun, nikolabjelo, 9808us, pmmax, suttridge, Basalt09, Mhnramin, 0xperez, infin1t3, benitezme, whtv, cozed-gh, Eduardo678-dotcom, Smidy13, teehanming, 64bittuning, joenij, apronotti, Noeljarillo, ssplatt, rico4dev, DougJCook, mane, Cordo-van-Saviour, CarnivalBen, Sil3ntLight, pisukesoramame, Edodi, harrellbm, CaptainJeff, Jeff Braun, Francisco J. Santillán, Norman, Viktoria B., Guillermo V., Daniel J., Javier A., Gustavo J., Romina GS, Pedro P., Thais M., Andrey M., Loui M., Natalia M., Bashar A., Carlos V., Diego M., Sebastian E., Bogdan P., Marko V., Igor S., Niksa K., Rodrigo M., Nicanor M., Mateo H., Lan T., Leon A., Uroš R., Filip M., Vladimir J. and Pavle B.

-

Please, give a star to the Superalgos repo at GitHub.com... It helps other devs find the project!

-

The UI is loading...

+
+

+

+

+

The UI is loading...

-
+
+
+
@@ -196,4 +248,4 @@ - + \ No newline at end of file diff --git a/Client/web3Server.js b/Client/web3Server.js index cf8979128..1062b23a2 100644 --- a/Client/web3Server.js +++ b/Client/web3Server.js @@ -223,10 +223,7 @@ exports.newWeb3Server = function newWeb3Server() { async function recoverAddress(signature) { try { - - console.log("STRING:", signature) let signatureObject = JSON.parse(signature) - console.log("OBJECT:", signatureObject) let web3 = new Web3() let address = web3.eth.accounts.recover(signatureObject) diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/okex.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/okex.svg new file mode 100644 index 000000000..da2334148 --- /dev/null +++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/okex.svg @@ -0,0 +1,241 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/okex.png b/Projects/Foundations/Icons/Crypto-Exchanges/okex.png new file mode 100644 index 000000000..41cda6784 Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/okex.png differ diff --git a/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json b/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json index 80df69e6a..0d105de52 100644 --- a/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json +++ b/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json @@ -119,6 +119,10 @@ { "codeName": "luno", "iconName": "luno" + }, + { + "codeName": "okex", + "iconName": "okex" } ] } \ No newline at end of file diff --git a/Projects/Foundations/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js b/Projects/Foundations/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js index 10d8ecc65..35f3bf21b 100644 --- a/Projects/Foundations/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js +++ b/Projects/Foundations/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js @@ -197,7 +197,8 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) { if (nodeWithCode.code === undefined) { return } try { - let instructionsArray = nodeWithCode.code.split(' ') + const code = nodeWithCode.code + let instructionsArray = code.split(' ') for (let i = 0; i < instructionsArray.length; i++) { let instruction = instructionsArray[i] instruction = instruction.replace('(', '') diff --git a/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js b/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js index 9edb76d67..b301e8300 100644 --- a/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js +++ b/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js @@ -28,11 +28,11 @@ function newUiObject() { hasError: undefined, hasWarning: undefined, hasInfo: undefined, - valueAtAngle: true, + valueAtAngle: false, valueAngleOffset: 0, - percentageAtAngle: true, + percentageAtAngle: false, percentageAngleOffset: 0, - statusAtAngle: true, + statusAtAngle: false, statusAngleOffset: 0, run: run, stop: stop, diff --git a/Projects/Foundations/UI/Utilities/StatusBar.js b/Projects/Foundations/UI/Utilities/StatusBar.js index aa8d7c9e6..df1f4ff60 100644 --- a/Projects/Foundations/UI/Utilities/StatusBar.js +++ b/Projects/Foundations/UI/Utilities/StatusBar.js @@ -6,7 +6,7 @@ function newFoundationsUtilitiesStatusBar() { return thisObject function changeStatus(newStatus) { - let statusParagraph = document.getElementById('credits-page-status-paragraph') + let statusParagraph = document.getElementById('splash-text-status-paragraph') statusParagraph.lastChild.data = newStatus try { diff --git a/Projects/Governance/Icons/Asset/asset-contributions-folder.png b/Projects/Governance/Icons/Asset/asset-claims-folder.png similarity index 100% rename from Projects/Governance/Icons/Asset/asset-contributions-folder.png rename to Projects/Governance/Icons/Asset/asset-claims-folder.png diff --git a/Projects/Governance/Icons/Feature/feature-contributions-folder.png b/Projects/Governance/Icons/Feature/feature-claims-folder.png similarity index 100% rename from Projects/Governance/Icons/Feature/feature-contributions-folder.png rename to Projects/Governance/Icons/Feature/feature-claims-folder.png diff --git a/Projects/Governance/Icons/Position/position-contributions-folder.png b/Projects/Governance/Icons/Position/position-claims-folder.png similarity index 100% rename from Projects/Governance/Icons/Position/position-contributions-folder.png rename to Projects/Governance/Icons/Position/position-claims-folder.png diff --git a/Projects/Governance/Plugins/Features/Superalgos.json b/Projects/Governance/Plugins/Features/Superalgos.json index 3499064d4..27505d85e 100644 --- a/Projects/Governance/Plugins/Features/Superalgos.json +++ b/Projects/Governance/Plugins/Features/Superalgos.json @@ -1 +1,212 @@ -{"type":"Features","name":"Superalgos","project":"Governance","featureClasses":[{"type":"Feature Class","name":"Superalgos","config":"{\n \"description\": \"\", \"relativeWeight\": 0 \n}","project":"Governance","featureClasses":[{"type":"Feature Class","name":"Visual Designer","config":"{\n \"description\": \"\", \"relativeWeight\": 0 \n}","project":"Governance","featureClasses":[],"features":[],"id":"18584f3f-6e48-4a68-89f1-0268185156e9","savedPayload":{"position":{"x":35870.70509831249,"y":38274.83557568774},"targetPosition":{"x":35628,"y":38098.5},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Feature Class","name":"Visual Debugger","config":"{\n \"description\": \"\", \"relativeWeight\": 0 \n}","project":"Governance","featureClasses":[],"features":[],"id":"0e329071-a542-405f-ae8c-2933098759c1","savedPayload":{"position":{"x":35720.70509831249,"y":38383.81695488855},"targetPosition":{"x":35628,"y":38098.5},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Feature Class","name":"Charting System","config":"{\n \"description\": \"\", \"relativeWeight\": 0 \n}","project":"Governance","featureClasses":[],"features":[],"id":"7edc83c0-74fc-4427-816d-4db5d840577f","savedPayload":{"position":{"x":35535.29490168751,"y":38383.81695488855},"targetPosition":{"x":35628,"y":38098.5},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Feature Class","name":"Data Mining","config":"{\n \"description\": \"\", \"relativeWeight\": 0 \n}","project":"Governance","featureClasses":[],"features":[],"id":"025c0e15-ad8d-49ae-b501-577bb82c207d","savedPayload":{"position":{"x":35385.29490168751,"y":38274.83557568774},"targetPosition":{"x":35628,"y":38098.5},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"features":[],"id":"136b6e7a-f042-441b-84be-395b56b65b70","savedPayload":{"position":{"x":35628,"y":38098.5},"targetPosition":{"x":35628,"y":37798.5},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"features":[],"id":"1d2c1985-c762-4ece-b350-15bd893bd1f4","savedPayload":{"position":{"x":35628,"y":37798.5},"targetPosition":{"x":35628,"y":37798.5},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}} \ No newline at end of file +{ + "type": "Features", + "name": "Superalgos", + "project": "Governance", + "featureClasses": [ + { + "type": "Feature Class", + "name": "Superalgos", + "config": "{\n \"description\": \"\", \"relativeWeight\": 0 \n}", + "project": "Governance", + "featureClasses": [ + { + "type": "Feature Class", + "name": "Visual Designer", + "config": "{\n \"description\": \"\", \"relativeWeight\": 0 \n}", + "project": "Governance", + "featureClasses": [], + "features": [], + "id": "18584f3f-6e48-4a68-89f1-0268185156e9", + "savedPayload": { + "position": { + "x": 35870.70509831249, + "y": 38274.83557568774 + }, + "targetPosition": { + "x": 35628, + "y": 38098.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Feature Class", + "name": "Visual Debugger", + "config": "{\n \"description\": \"\", \"relativeWeight\": 0 \n}", + "project": "Governance", + "featureClasses": [], + "features": [], + "id": "0e329071-a542-405f-ae8c-2933098759c1", + "savedPayload": { + "position": { + "x": 35720.70509831249, + "y": 38383.81695488855 + }, + "targetPosition": { + "x": 35628, + "y": 38098.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Feature Class", + "name": "Charting System", + "config": "{\n \"description\": \"\", \"relativeWeight\": 0 \n}", + "project": "Governance", + "featureClasses": [], + "features": [], + "id": "7edc83c0-74fc-4427-816d-4db5d840577f", + "savedPayload": { + "position": { + "x": 35535.29490168751, + "y": 38383.81695488855 + }, + "targetPosition": { + "x": 35628, + "y": 38098.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Feature Class", + "name": "Data Mining", + "config": "{\n \"description\": \"\", \"relativeWeight\": 0 \n}", + "project": "Governance", + "featureClasses": [], + "features": [ + { + "type": "Feature", + "name": "Feature X", + "config": "{}", + "project": "Governance", + "featureClasses": [], + "features": [], + "id": "1b9dd977-f388-4434-a3f9-2e7a10726848", + "savedPayload": { + "position": { + "x": 35142.58980337503, + "y": 38451.171151375485 + }, + "targetPosition": { + "x": 35385.29490168751, + "y": 38274.83557568774 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "025c0e15-ad8d-49ae-b501-577bb82c207d", + "savedPayload": { + "position": { + "x": 35385.29490168751, + "y": 38274.83557568774 + }, + "targetPosition": { + "x": 35628, + "y": 38098.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "features": [], + "id": "136b6e7a-f042-441b-84be-395b56b65b70", + "savedPayload": { + "position": { + "x": 35628, + "y": 38098.5 + }, + "targetPosition": { + "x": 35628, + "y": 37798.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "features": [], + "id": "1d2c1985-c762-4ece-b350-15bd893bd1f4", + "savedPayload": { + "position": { + "x": 35628, + "y": 37798.5 + }, + "targetPosition": { + "x": 35628, + "y": 37798.5 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } +} \ No newline at end of file diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json index c8001cec2..8118dbc49 100644 --- a/Projects/Governance/Plugins/Pools/Superalgos.json +++ b/Projects/Governance/Plugins/Pools/Superalgos.json @@ -6,7 +6,7 @@ "poolClasses": [ { "type": "Pool Class", - "name": "Software", + "name": "Software Projects", "config": "{\n \"description\": \"\"\n}", "project": "Governance", "poolClasses": [], @@ -180,7 +180,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -213,12 +213,12 @@ "id": "6a456247-13b7-41f2-80b3-957c1af55009", "savedPayload": { "position": { - "x": 25599.401355365237, - "y": 30867.356170711148 + "x": 25700.116150324728, + "y": 30728.73414780495 }, "targetPosition": { - "x": 25305.957075145096, - "y": 30804.98266346582 + "x": 25400.116150324728, + "y": 30728.73414780495 }, "floatingObject": { "isPinned": false, @@ -243,12 +243,12 @@ "id": "5bbe5a09-fe32-4802-8e14-d06615a24510", "savedPayload": { "position": { - "x": 25398.66217345758, - "y": 31090.299618354366 + "x": 25550.116150324728, + "y": 30988.541768940282 }, "targetPosition": { - "x": 25305.957075145096, - "y": 30804.98266346582 + "x": 25400.116150324728, + "y": 30728.73414780495 }, "floatingObject": { "isPinned": false, @@ -267,12 +267,12 @@ "id": "95431b88-cbff-459c-a707-fd3518e79c73", "savedPayload": { "position": { - "x": 25305.957075145096, - "y": 30804.98266346582 + "x": 25400.116150324728, + "y": 30728.73414780495 }, "targetPosition": { - "x": 25083.013627501878, - "y": 30604.243481558162 + "x": 25140.308529189395, + "y": 30578.73414780495 }, "floatingObject": { "isPinned": false, @@ -304,12 +304,12 @@ "id": "6b4bee15-622d-4df6-9662-4d7b8d44f198", "savedPayload": { "position": { - "x": 24958.266613011223, - "y": 31191.132041998444 + "x": 25140.308529189395, + "y": 31178.73414780495 }, "targetPosition": { - "x": 25020.64012025655, - "y": 30897.687761778303 + "x": 25140.308529189395, + "y": 30878.73414780495 }, "floatingObject": { "isPinned": false, @@ -333,12 +333,12 @@ "id": "ab43c779-d6d6-451d-a444-cfb8b68df07e", "savedPayload": { "position": { - "x": 25020.64012025655, - "y": 30897.687761778303 + "x": 25140.308529189395, + "y": 30878.73414780495 }, "targetPosition": { - "x": 25083.013627501878, - "y": 30604.243481558162 + "x": 25140.308529189395, + "y": 30578.73414780495 }, "floatingObject": { "isPinned": false, @@ -358,8 +358,8 @@ "id": "85dbdcb9-5b59-432e-86a0-fab37e20a55d", "savedPayload": { "position": { - "x": 25083.013627501878, - "y": 30604.243481558162 + "x": 25140.308529189395, + "y": 30578.73414780495 }, "targetPosition": { "x": 24990.308529189395, @@ -368,7 +368,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -401,12 +401,12 @@ "id": "60712b3c-ee76-40ba-8de2-e03aa61f6dde", "savedPayload": { "position": { - "x": 24808.183476228434, - "y": 31071.64273248506 + "x": 25130.086277076116, + "y": 31080.643930047634 }, "targetPosition": { - "x": 24700.673091364843, - "y": 30791.5686045359 + "x": 24917.954242720152, + "y": 30868.51189569167 }, "floatingObject": { "isPinned": false, @@ -431,12 +431,12 @@ "id": "639a6504-a0d0-4d7e-ad99-80ba5115ac72", "savedPayload": { "position": { - "x": 24511.87697404989, - "y": 31024.71239297299 + "x": 24840.308529189395, + "y": 31158.28964357839 }, "targetPosition": { - "x": 24700.673091364843, - "y": 30791.5686045359 + "x": 24917.954242720152, + "y": 30868.51189569167 }, "floatingObject": { "isPinned": false, @@ -455,12 +455,12 @@ "id": "9b6c24b9-e21d-458b-b509-1828d40b4239", "savedPayload": { "position": { - "x": 24700.673091364843, - "y": 30791.5686045359 + "x": 24917.954242720152, + "y": 30868.51189569167 }, "targetPosition": { - "x": 24747.603430876912, - "y": 30495.26210235736 + "x": 24840.308529189395, + "y": 30578.73414780495 }, "floatingObject": { "isPinned": false, @@ -492,12 +492,12 @@ "id": "6b11cf29-2957-417d-a268-3569178eca9e", "savedPayload": { "position": { - "x": 24262.193234251947, - "y": 30847.933253732845 + "x": 24540.308529189395, + "y": 31098.349390075615 }, "targetPosition": { - "x": 24504.89833256443, - "y": 30671.597678045102 + "x": 24690.308529189395, + "y": 30838.541768940282 }, "floatingObject": { "isPinned": false, @@ -516,12 +516,12 @@ "id": "e2113b73-9a38-4c59-8fbe-95a7539379c5", "savedPayload": { "position": { - "x": 24504.89833256443, - "y": 30671.597678045102 + "x": 24690.308529189395, + "y": 30838.541768940282 }, "targetPosition": { - "x": 24747.603430876912, - "y": 30495.26210235736 + "x": 24840.308529189395, + "y": 30578.73414780495 }, "floatingObject": { "isPinned": false, @@ -553,12 +553,12 @@ "id": "ea79efd3-c3d9-4c80-a1d0-1cab106e0242", "savedPayload": { "position": { - "x": 24154.99042651983, - "y": 30401.40142333322 + "x": 24260.753033415953, + "y": 30734.025574866464 }, "targetPosition": { - "x": 24451.29692869837, - "y": 30448.33176284529 + "x": 24550.530781302674, + "y": 30656.379861335707 }, "floatingObject": { "isPinned": false, @@ -577,12 +577,12 @@ "id": "c7cd91a3-96b0-4115-aaaa-fddae1c1b246", "savedPayload": { "position": { - "x": 24451.29692869837, - "y": 30448.33176284529 + "x": 24550.530781302674, + "y": 30656.379861335707 }, "targetPosition": { - "x": 24747.603430876912, - "y": 30495.26210235736 + "x": 24840.308529189395, + "y": 30578.73414780495 }, "floatingObject": { "isPinned": false, @@ -602,8 +602,8 @@ "id": "ae18dd6f-80f7-4fa0-a386-7ffd75e45063", "savedPayload": { "position": { - "x": 24747.603430876912, - "y": 30495.26210235736 + "x": 24840.308529189395, + "y": 30578.73414780495 }, "targetPosition": { "x": 24990.308529189395, @@ -612,7 +612,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -1047,8 +1047,8 @@ "id": "86787666-908c-4b27-8265-cd460732030f", "savedPayload": { "position": { - "x": 24747.603430876912, - "y": 30142.590950981874 + "x": 24690.308529189395, + "y": 30318.926526669617 }, "targetPosition": { "x": 24990.308529189395, @@ -1057,7 +1057,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -1084,12 +1084,12 @@ "id": "5d878af1-e32c-4458-8fb7-98df55f1e54a", "savedPayload": { "position": { - "x": 25175.71872581436, - "y": 29748.292616892526 + "x": 24690.308529189395, + "y": 29799.31128439895 }, "targetPosition": { - "x": 25083.013627501878, - "y": 30033.60957178107 + "x": 24840.308529189395, + "y": 30059.118905534284 }, "floatingObject": { "isPinned": false, @@ -1113,8 +1113,74 @@ "id": "a2acb2b1-c88f-47f2-b31b-b0cde52801ac", "savedPayload": { "position": { - "x": 25083.013627501878, - "y": 30033.60957178107 + "x": 24840.308529189395, + "y": 30059.118905534284 + }, + "targetPosition": { + "x": 24990.308529189395, + "y": 30318.926526669617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Pool Class", + "name": "Features", + "config": "{}", + "project": "Governance", + "poolClasses": [], + "pools": [ + { + "type": "Pool", + "name": "Features", + "config": "{}", + "project": "Governance", + "poolClasses": [], + "pools": [], + "id": "2d34ec1b-e281-4163-a44b-6ac33a54e002", + "savedPayload": { + "position": { + "x": 25290.308529189395, + "y": 29799.31128439895 + }, + "targetPosition": { + "x": 25140.308529189395, + "y": 30059.118905534284 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Features", + "name": "Superalgos", + "id": "1d2c1985-c762-4ece-b350-15bd893bd1f4" + } + } + } + ], + "id": "8c3175a1-17aa-4e27-bcbe-063468ecc87e", + "savedPayload": { + "position": { + "x": 25140.308529189395, + "y": 30059.118905534284 }, "targetPosition": { "x": 24990.308529189395, @@ -1148,7 +1214,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/Plugins/User-Profiles/Julian-Molina.json b/Projects/Governance/Plugins/User-Profiles/Julian-Molina.json index ae099358a..b6ffb40b9 100644 --- a/Projects/Governance/Plugins/User-Profiles/Julian-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Julian-Molina.json @@ -184,9 +184,9 @@ "name": "New Claims Program", "config": "{}", "project": "Governance", - "assetContributionsFolder": [], - "featureContributionsFolder": [], - "positionContributionsFolder": [], + "assetClaimsFolders": [], + "featureClaimsFolders": [], + "positionClaimsFolders": [], "id": "bec9399a-9f85-4cb5-bff4-9938a3bc7ac4", "savedPayload": { "position": { diff --git a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json index 0d67339a8..886ffadea 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -176,195 +176,6 @@ "config": "{}", "project": "Governance", "weightVotesSwitch": [ - { - "type": "Weight Votes Switch", - "name": "Software Pool Class", - "config": "{}", - "project": "Governance", - "weightVotesSwitch": [], - "poolWeightVotes": [ - { - "type": "Pool Weight Vote", - "name": "Foundations Project Pool", - "config": "{}", - "project": "Governance", - "id": "f24631c9-92f7-40ec-af18-f32e5e200537", - "savedPayload": { - "position": { - "x": 30555.56228253721, - "y": 24685.538763626188 - }, - "targetPosition": { - "x": 30268.890440801366, - "y": 24773.96531594946 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": {}, - "referenceParent": { - "type": "Pool", - "name": "Foundations Project", - "id": "2207c69c-ee9d-4453-8bf4-582d79b4b635" - } - } - }, - { - "type": "Pool Weight Vote", - "name": "TensorFlow Project Pool", - "config": "{}", - "project": "Governance", - "id": "21ac46d3-6170-422d-82ca-0738be0401c4", - "savedPayload": { - "position": { - "x": 30561.368814455913, - "y": 24840.721596136354 - }, - "targetPosition": { - "x": 30268.890440801366, - "y": 24773.96531594946 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": {}, - "referenceParent": { - "type": "Pool", - "name": "TensorFlow Project", - "id": "ea854cf8-47cd-43f0-b58a-13e61ae3106d" - } - } - }, - { - "type": "Pool Weight Vote", - "name": "Governance Project Pool", - "config": "{}", - "project": "Governance", - "id": "ac8070f0-fe42-4595-b844-e97170a0a5d6", - "savedPayload": { - "position": { - "x": 30488.806002350313, - "y": 24978.017137280734 - }, - "targetPosition": { - "x": 30268.890440801366, - "y": 24773.96531594946 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": {}, - "referenceParent": { - "type": "Pool", - "name": "Governance Project", - "id": "3c80032c-51a8-4fd8-ab65-cf219c03ce95" - } - } - }, - { - "type": "Pool Weight Vote", - "name": "Education Project Pool", - "config": "{}", - "project": "Governance", - "id": "fcfd5e40-7df6-47bd-b246-fea2309636a7", - "savedPayload": { - "position": { - "x": 30357.316993124638, - "y": 25060.6371576853 - }, - "targetPosition": { - "x": 30268.890440801366, - "y": 24773.96531594946 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": {}, - "referenceParent": { - "type": "Pool", - "name": "Education Project", - "id": "0a79ec65-6f67-4c18-823f-48a6d0494a81" - } - } - }, - { - "type": "Pool Weight Vote", - "name": "Ethereum Project Pool", - "config": "{}", - "project": "Governance", - "id": "db4d2213-3fd5-478e-b6f3-b754090e0721", - "savedPayload": { - "position": { - "x": 30202.13416061447, - "y": 25066.443689604006 - }, - "targetPosition": { - "x": 30268.890440801366, - "y": 24773.96531594946 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": {}, - "referenceParent": { - "type": "Pool", - "name": "Ethereum Project", - "id": "f51d23aa-742c-40d4-b000-2b90c3ae197c" - } - } - } - ], - "assetWeightVotes": [], - "featureWeightVotes": [], - "positionWeightVotes": [], - "id": "a970cae4-b62a-4127-ad64-067d44f721b4", - "savedPayload": { - "position": { - "x": 30268.890440801366, - "y": 24773.96531594946 - }, - "targetPosition": { - "x": 30048.97487925242, - "y": 24569.913494618184 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, { "type": "Weight Votes Switch", "name": "Marketing Pool Class", @@ -383,15 +194,15 @@ "name": "First Exchange Listing The Token Pool", "config": "{}", "project": "Governance", - "id": "492e0acc-1d34-476b-8519-a25b26dc5d24", + "id": "fa27ae9a-2aaa-4b77-a865-f42c4b1e3cde", "savedPayload": { "position": { - "x": 30649.795366779184, - "y": 25127.393437872197 + "x": 30558.297826077353, + "y": 24780.60171368038 }, "targetPosition": { - "x": 30357.316993124638, - "y": 25060.6371576853 + "x": 30261.648578209813, + "y": 24825.31439353323 }, "floatingObject": { "isPinned": false, @@ -414,15 +225,15 @@ "name": "10K Stars on Github Pool", "config": "{}", "project": "Governance", - "id": "0a569224-49d0-4518-ac0b-3a9237410d76", + "id": "6d9d9712-7a90-4dac-bdcb-1c62c2656155", "savedPayload": { "position": { - "x": 30445.74354544791, - "y": 25347.308999421144 + "x": 30448.695518767432, + "y": 25059.86383827364 }, "targetPosition": { - "x": 30357.316993124638, - "y": 25060.6371576853 + "x": 30261.648578209813, + "y": 24825.31439353323 }, "floatingObject": { "isPinned": false, @@ -444,15 +255,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "7ef32920-85af-4d4a-b4be-dd03415f905e", + "id": "128afaa5-16bb-4d08-9f49-abfc954f2b58", "savedPayload": { "position": { - "x": 30357.316993124638, - "y": 25060.6371576853 + "x": 30261.648578209813, + "y": 24825.31439353323 }, "targetPosition": { - "x": 30137.40143157569, - "y": 24856.585336354026 + "x": 29982.386453616553, + "y": 24715.712086223313 }, "floatingObject": { "isPinned": false, @@ -464,6 +275,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Collective Rewards", + "id": "95431b88-cbff-459c-a707-fd3518e79c73" } } }, @@ -479,15 +295,15 @@ "name": "Marketing Assets Pool", "config": "{}", "project": "Governance", - "id": "8ee0f13f-79ac-49e6-a417-414ef568eae7", + "id": "1fa92d72-8c7c-4595-90f0-83b72cff9dd8", "savedPayload": { "position": { - "x": 30003.8888712019, - "y": 25441.54208366312 + "x": 30071.811813322256, + "y": 25309.01058195839 }, "targetPosition": { - "x": 30070.645151388795, - "y": 25149.063710008573 + "x": 30027.099133469404, + "y": 25012.361334090852 }, "floatingObject": { "isPinned": false, @@ -509,15 +325,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "7ffccefb-7efa-43d8-942a-25f02307de29", + "id": "8a915b0f-36c1-4019-b006-02c4a5d47079", "savedPayload": { "position": { - "x": 30070.645151388795, - "y": 25149.063710008573 + "x": 30027.099133469404, + "y": 25012.361334090852 }, "targetPosition": { - "x": 30137.40143157569, - "y": 24856.585336354026 + "x": 29982.386453616553, + "y": 24715.712086223313 }, "floatingObject": { "isPinned": false, @@ -529,6 +345,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Assets", + "id": "ab43c779-d6d6-451d-a444-cfb8b68df07e" } } } @@ -537,15 +358,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "036afdd7-5205-41e6-aac2-5ef009ba46d8", + "id": "b313f748-da26-4c50-8ba1-36fff49f3a0f", "savedPayload": { "position": { - "x": 30137.40143157569, - "y": 24856.585336354026 + "x": 29982.386453616553, + "y": 24715.712086223313 }, "targetPosition": { - "x": 30048.97487925242, - "y": 24569.913494618184 + "x": 29795.339513058934, + "y": 24481.162641482904 }, "floatingObject": { "isPinned": false, @@ -557,6 +378,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Marketing", + "id": "85dbdcb9-5b59-432e-86a0-fab37e20a55d" } } }, @@ -578,15 +404,15 @@ "name": "Usage Pool", "config": "{}", "project": "Governance", - "id": "536db08b-dc25-4548-b233-724d099dc447", + "id": "a32cb176-83c0-4800-b630-01f1df6d2301", "savedPayload": { "position": { - "x": 30407.062840071507, - "y": 25256.589716523136 + "x": 30415.903264450837, + "y": 24944.46799637495 }, "targetPosition": { - "x": 30141.828222020125, - "y": 25116.409128041218 + "x": 30116.113053014316, + "y": 24933.250638092053 }, "floatingObject": { "isPinned": false, @@ -609,15 +435,15 @@ "name": "User Referrals Pool", "config": "{}", "project": "Governance", - "id": "915e0231-3b99-4893-bb9a-dbcf638228d0", + "id": "33a03a57-6811-4cad-94af-14a0597e9fb3", "savedPayload": { "position": { - "x": 30153.045580303024, - "y": 25416.19933947774 + "x": 30256.293641496235, + "y": 25198.485256143435 }, "targetPosition": { - "x": 30141.828222020125, - "y": 25116.409128041218 + "x": 30116.113053014316, + "y": 24933.250638092053 }, "floatingObject": { "isPinned": false, @@ -639,15 +465,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "e058f130-c894-40b7-9e66-dfef44f20991", + "id": "c8894826-483a-4c6d-92e7-8190ea952717", "savedPayload": { "position": { - "x": 30141.828222020125, - "y": 25116.409128041218 + "x": 30116.113053014316, + "y": 24933.250638092053 }, "targetPosition": { - "x": 29982.218599065523, - "y": 24862.39186827273 + "x": 29862.09579324583, + "y": 24773.64101513745 }, "floatingObject": { "isPinned": false, @@ -659,6 +485,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Users", + "id": "9b6c24b9-e21d-458b-b509-1828d40b4239" } } }, @@ -674,15 +505,15 @@ "name": "Badges Pool", "config": "{}", "project": "Governance", - "id": "1c26b6c1-477a-44f6-baa2-b8ab65622aed", + "id": "cb05c8ff-235b-4b97-9c41-d3cbee5d797d", "savedPayload": { "position": { - "x": 29848.706038691733, - "y": 25447.348615581825 + "x": 29995.60835361962, + "y": 25358.597762446545 }, "targetPosition": { - "x": 29915.462318878628, - "y": 25154.870241927278 + "x": 29928.852073432725, + "y": 25066.119388791998 }, "floatingObject": { "isPinned": false, @@ -704,15 +535,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "8bf4d5ef-c106-47d2-abd8-9789453279db", + "id": "307ed30b-fbb2-49c8-ad8a-7e45d9fd8815", "savedPayload": { "position": { - "x": 29915.462318878628, - "y": 25154.870241927278 + "x": 29928.852073432725, + "y": 25066.119388791998 }, "targetPosition": { - "x": 29982.218599065523, - "y": 24862.39186827273 + "x": 29862.09579324583, + "y": 24773.64101513745 }, "floatingObject": { "isPinned": false, @@ -724,6 +555,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Contributors", + "id": "e2113b73-9a38-4c59-8fbe-95a7539379c5" } } }, @@ -739,15 +575,15 @@ "name": "Stacking Pool", "config": "{}", "project": "Governance", - "id": "fd7f8254-69b2-4d16-ac6b-b3d40b39273b", + "id": "40d246e2-1cd8-4e8e-a9d9-33a3256f1f75", "savedPayload": { "position": { - "x": 29474.18407952855, - "y": 25181.611114181935 + "x": 29542.876547336626, + "y": 25281.675534674425 }, "targetPosition": { - "x": 29728.201339297037, - "y": 25022.001491227333 + "x": 29702.486170291228, + "y": 25027.658274905938 }, "floatingObject": { "isPinned": false, @@ -769,15 +605,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "14c021f7-fe45-459e-80f2-d7d358b25f4a", + "id": "021a8f3b-eccc-4cce-9884-f3b51d7470d8", "savedPayload": { "position": { - "x": 29728.201339297037, - "y": 25022.001491227333 + "x": 29702.486170291228, + "y": 25027.658274905938 }, "targetPosition": { - "x": 29982.218599065523, - "y": 24862.39186827273 + "x": 29862.09579324583, + "y": 24773.64101513745 }, "floatingObject": { "isPinned": false, @@ -789,6 +625,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Token Holders", + "id": "c7cd91a3-96b0-4115-aaaa-fddae1c1b246" } } } @@ -797,15 +638,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "2cc608dd-0424-4a44-be7a-b2993ce2976d", + "id": "8a321cf8-2b35-4c65-80fc-6474597c9a4e", "savedPayload": { "position": { - "x": 29982.218599065523, - "y": 24862.39186827273 + "x": 29862.09579324583, + "y": 24773.64101513745 }, "targetPosition": { - "x": 30048.97487925242, - "y": 24569.913494618184 + "x": 29795.339513058934, + "y": 24481.162641482904 }, "floatingObject": { "isPinned": false, @@ -817,6 +658,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Community", + "id": "ae18dd6f-80f7-4fa0-a386-7ffd75e45063" } } }, @@ -844,15 +690,15 @@ "name": "Blog-Tutorials Pool", "config": "{}", "project": "Governance", - "id": "ccb1229b-a633-4234-82c9-ea1404bb570b", + "id": "0d922c8d-d7fe-4ee1-a842-bc09b07f5a39", "savedPayload": { "position": { - "x": 30150.49154519727, - "y": 25465.94216879386 + "x": 30331.26986176251, + "y": 25206.387902865903 }, "targetPosition": { - "x": 29866.59333005752, - "y": 25368.97927155752 + "x": 30036.925346744258, + "y": 25264.36467820457 }, "floatingObject": { "isPinned": false, @@ -875,15 +721,15 @@ "name": "In-App-Docs Pool", "config": "{}", "project": "Governance", - "id": "f7596a5b-52cb-4477-bc47-b2ef35d01dc8", + "id": "096f39eb-d93d-48a0-a66a-818fdfc36236", "savedPayload": { "position": { - "x": 30039.27844976322, - "y": 25614.29508725685 + "x": 30309.132955114615, + "y": 25390.471846697437 }, "targetPosition": { - "x": 29866.59333005752, - "y": 25368.97927155752 + "x": 30036.925346744258, + "y": 25264.36467820457 }, "floatingObject": { "isPinned": false, @@ -906,15 +752,15 @@ "name": "In-App-Tutorials Pool", "config": "{}", "project": "Governance", - "id": "1b0f7ebf-facc-484a-ae38-8ae379d8ddec", + "id": "1cf165ee-f898-43bc-9601-9158cd23b651", "savedPayload": { "position": { - "x": 29862.10550795294, - "y": 25668.945702100602 + "x": 30183.021994065566, + "y": 25526.38713838971 }, "targetPosition": { - "x": 29866.59333005752, - "y": 25368.97927155752 + "x": 30036.925346744258, + "y": 25264.36467820457 }, "floatingObject": { "isPinned": false, @@ -937,15 +783,15 @@ "name": "Video-Tutorials Pool", "config": "{}", "project": "Governance", - "id": "0d3dc298-3699-4ccf-a0d6-21d9b6d7f85d", + "id": "594d2230-1402-4ed3-8d36-7ef134db9e68", "savedPayload": { "position": { - "x": 29686.646761651147, - "y": 25609.019335960882 + "x": 30001.107079382185, + "y": 25562.21875610712 }, "targetPosition": { - "x": 29866.59333005752, - "y": 25368.97927155752 + "x": 30036.925346744258, + "y": 25264.36467820457 }, "floatingObject": { "isPinned": false, @@ -967,15 +813,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "4f922838-940d-4ab2-a185-f737f3572f8a", + "id": "6e843832-f035-4bf5-a533-e7c24241d5da", "savedPayload": { "position": { - "x": 29866.59333005752, - "y": 25368.97927155752 + "x": 30036.925346744258, + "y": 25264.36467820457 }, "targetPosition": { - "x": 29778.166777734248, - "y": 25082.307429821678 + "x": 29817.00978519531, + "y": 25060.312856873294 }, "floatingObject": { "isPinned": false, @@ -987,6 +833,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Creating", + "id": "e8c86964-e87d-4490-96ad-4bf4be249d51" } } }, @@ -1002,15 +853,15 @@ "name": "In-App-Docs Pool", "config": "{}", "project": "Governance", - "id": "d6530670-46f6-4fa2-8839-25c77465437c", + "id": "c9c48c3d-05e2-4620-841e-9326df488b8f", "savedPayload": { "position": { - "x": 29585.33231468587, - "y": 25602.013202807146 + "x": 29909.863127963017, + "y": 25606.808490296327 }, "targetPosition": { - "x": 29574.114956402973, - "y": 25302.222991370625 + "x": 29750.253505008415, + "y": 25352.79123052784 }, "floatingObject": { "isPinned": false, @@ -1033,15 +884,15 @@ "name": "In-App-Tutorials Pool", "config": "{}", "project": "Governance", - "id": "3ce2eb05-c54a-40c1-816d-36e1088dfed2", + "id": "6da35c2d-089c-4406-ba0d-f899e680ed29", "savedPayload": { "position": { - "x": 29370.063135071698, - "y": 25522.138552919572 + "x": 29683.49722482152, + "y": 25645.269604182387 }, "targetPosition": { - "x": 29574.114956402973, - "y": 25302.222991370625 + "x": 29750.253505008415, + "y": 25352.79123052784 }, "floatingObject": { "isPinned": false, @@ -1064,15 +915,15 @@ "name": "Video-Tutorials Pool", "config": "{}", "project": "Governance", - "id": "2da649ef-07fe-4e07-a1de-59c0c2e37ea8", + "id": "3a6da240-0f49-466d-88f9-6ea746d34c55", "savedPayload": { "position": { - "x": 29274.324744966452, - "y": 25313.440349653523 + "x": 29496.23624523993, + "y": 25512.400853482442 }, "targetPosition": { - "x": 29574.114956402973, - "y": 25302.222991370625 + "x": 29750.253505008415, + "y": 25352.79123052784 }, "floatingObject": { "isPinned": false, @@ -1094,15 +945,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "2b64a4bf-8347-4b72-a3e4-1ad22ea3d78a", + "id": "b20ba922-208b-4aa8-8a57-270a54a39806", "savedPayload": { "position": { - "x": 29574.114956402973, - "y": 25302.222991370625 + "x": 29750.253505008415, + "y": 25352.79123052784 }, "targetPosition": { - "x": 29778.166777734248, - "y": 25082.307429821678 + "x": 29817.00978519531, + "y": 25060.312856873294 }, "floatingObject": { "isPinned": false, @@ -1114,6 +965,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Translating", + "id": "1dc0d3a0-4a11-43c2-8c53-6b9e86cb0d01" } } } @@ -1122,15 +978,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "0d66181b-39c6-4e0b-a195-45d85fca3da4", + "id": "4827d415-f407-47f3-b389-d6429c676250", "savedPayload": { "position": { - "x": 29778.166777734248, - "y": 25082.307429821678 + "x": 29817.00978519531, + "y": 25060.312856873294 }, "targetPosition": { - "x": 29844.923057921143, - "y": 24789.82905616713 + "x": 29728.58323287204, + "y": 24773.64101513745 }, "floatingObject": { "isPinned": false, @@ -1142,6 +998,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Production", + "id": "58feb67b-074a-4373-8cc1-9219851b251a" } } }, @@ -1157,15 +1018,15 @@ "name": "Completing Tutorials Pool", "config": "{}", "project": "Governance", - "id": "7db3a456-0428-4236-bac9-6bb40495f45a", + "id": "f28026a2-7299-45c3-9f42-e0a64311e114", "savedPayload": { "position": { - "x": 29354.199394854026, - "y": 25098.17117003935 + "x": 29457.77513135387, + "y": 25286.034950340945 }, "targetPosition": { - "x": 29558.2512161853, - "y": 24878.255608490403 + "x": 29524.531411540764, + "y": 24993.5565766864 }, "floatingObject": { "isPinned": false, @@ -1188,15 +1049,15 @@ "name": "Reading the Docs Pool", "config": "{}", "project": "Governance", - "id": "621292e3-1917-413e-8327-3777e77c1fd5", + "id": "57196823-651b-4285-bf18-a4bbd9fa3066", "savedPayload": { "position": { - "x": 29265.772842530754, - "y": 24811.499328303507 + "x": 29237.85956980492, + "y": 25081.98312900967 }, "targetPosition": { - "x": 29558.2512161853, - "y": 24878.255608490403 + "x": 29524.531411540764, + "y": 24993.5565766864 }, "floatingObject": { "isPinned": false, @@ -1218,15 +1079,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "8ea22ba7-0745-4459-a7eb-6446bb64dae2", + "id": "2fb14c74-e3b6-43db-86e3-3f67fb3aa657", "savedPayload": { "position": { - "x": 29558.2512161853, - "y": 24878.255608490403 + "x": 29524.531411540764, + "y": 24993.5565766864 }, "targetPosition": { - "x": 29844.923057921143, - "y": 24789.82905616713 + "x": 29728.58323287204, + "y": 24773.64101513745 }, "floatingObject": { "isPinned": false, @@ -1238,6 +1099,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Consumption", + "id": "8a133a29-c678-4da0-8408-1e7f87d9dfa7" } } } @@ -1246,15 +1112,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "cbe7d779-09c1-4ea3-ab72-03c65d69fd3e", + "id": "30929e97-3faa-4a62-b45d-c22716b3df8e", "savedPayload": { "position": { - "x": 29844.923057921143, - "y": 24789.82905616713 + "x": 29728.58323287204, + "y": 24773.64101513745 }, "targetPosition": { - "x": 30048.97487925242, - "y": 24569.913494618184 + "x": 29795.339513058934, + "y": 24481.162641482904 }, "floatingObject": { "isPinned": false, @@ -1266,6 +1132,11 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Education", + "id": "86787666-908c-4b27-8265-cd460732030f" } } }, @@ -1281,15 +1152,15 @@ "name": "Management Pool", "config": "{}", "project": "Governance", - "id": "2e7259e0-122f-4482-87a0-e73182ff29e8", + "id": "a3cd897e-df9e-49ab-88a7-02869b81523b", "savedPayload": { "position": { - "x": 29475.631195780734, - "y": 24746.766599264727 + "x": 29421.245631943697, + "y": 24950.261530963722 }, "targetPosition": { - "x": 29762.303037516576, - "y": 24658.340046941456 + "x": 29608.292572501316, + "y": 24715.712086223313 }, "floatingObject": { "isPinned": false, @@ -1311,15 +1182,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "f7fa794e-2188-40c2-b342-9b1995bbb9dc", + "id": "40c0e3d0-1165-4ff9-8242-211d9f0a7a85", "savedPayload": { "position": { - "x": 29762.303037516576, - "y": 24658.340046941456 + "x": 29608.292572501316, + "y": 24715.712086223313 }, "targetPosition": { - "x": 30048.97487925242, - "y": 24569.913494618184 + "x": 29795.339513058934, + "y": 24481.162641482904 }, "floatingObject": { "isPinned": false, @@ -1331,6 +1202,275 @@ }, "uiObject": { "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Management", + "id": "a2acb2b1-c88f-47f2-b31b-b0cde52801ac" + } + } + }, + { + "type": "Weight Votes Switch", + "name": "Features Pool Class", + "config": "{\n\"percentage\": 50\n}", + "project": "Governance", + "weightVotesSwitch": [], + "poolWeightVotes": [ + { + "type": "Pool Weight Vote", + "name": "Features Pool", + "config": "{}", + "project": "Governance", + "id": "247ec21c-2331-460f-b803-a108db234804", + "savedPayload": { + "position": { + "x": 29254.75819231748, + "y": 24741.492884953437 + }, + "targetPosition": { + "x": 29525.048852688207, + "y": 24611.32776321817 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Pool", + "name": "Features", + "id": "2d34ec1b-e281-4163-a44b-6ac33a54e002" + } + } + } + ], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "e7eea9e5-4df6-4a6b-8a2a-5e46373a77fa", + "savedPayload": { + "position": { + "x": 29525.048852688207, + "y": 24611.32776321817 + }, + "targetPosition": { + "x": 29795.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Features", + "id": "8c3175a1-17aa-4e27-bcbe-063468ecc87e" + } + } + }, + { + "type": "Weight Votes Switch", + "name": "Software Projects Pool Class", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [], + "poolWeightVotes": [ + { + "type": "Pool Weight Vote", + "name": "Foundations Project Pool", + "config": "{}", + "project": "Governance", + "id": "e55378fa-5093-4225-864d-8ff41d99dd6a", + "savedPayload": { + "position": { + "x": 29345.339513058934, + "y": 24740.970262618237 + }, + "targetPosition": { + "x": 29495.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Pool", + "name": "Foundations Project", + "id": "2207c69c-ee9d-4453-8bf4-582d79b4b635" + } + } + }, + { + "type": "Pool Weight Vote", + "name": "TensorFlow Project Pool", + "config": "{}", + "project": "Governance", + "id": "61584484-e4c2-4166-8e41-f8473f8c669f", + "savedPayload": { + "position": { + "x": 29235.5318919236, + "y": 24631.162641482904 + }, + "targetPosition": { + "x": 29495.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Pool", + "name": "TensorFlow Project", + "id": "ea854cf8-47cd-43f0-b58a-13e61ae3106d" + } + } + }, + { + "type": "Pool Weight Vote", + "name": "Governance Project Pool", + "config": "{}", + "project": "Governance", + "id": "a6bb434c-67fd-4429-a4b4-f51a0c9a07ed", + "savedPayload": { + "position": { + "x": 29195.339513058934, + "y": 24481.162641482904 + }, + "targetPosition": { + "x": 29495.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Pool", + "name": "Governance Project", + "id": "3c80032c-51a8-4fd8-ab65-cf219c03ce95" + } + } + }, + { + "type": "Pool Weight Vote", + "name": "Education Project Pool", + "config": "{}", + "project": "Governance", + "id": "e718201a-9ce4-4eb5-aade-1e844f59af64", + "savedPayload": { + "position": { + "x": 29235.5318919236, + "y": 24331.162641482904 + }, + "targetPosition": { + "x": 29495.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Pool", + "name": "Education Project", + "id": "0a79ec65-6f67-4c18-823f-48a6d0494a81" + } + } + }, + { + "type": "Pool Weight Vote", + "name": "Ethereum Project Pool", + "config": "{}", + "project": "Governance", + "id": "7ac78464-92ee-470e-ba77-661071937ab5", + "savedPayload": { + "position": { + "x": 29345.339513058934, + "y": 24221.35502034757 + }, + "targetPosition": { + "x": 29495.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Pool", + "name": "Ethereum Project", + "id": "f51d23aa-742c-40d4-b000-2b90c3ae197c" + } + } + } + ], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "f98086f7-1e41-4365-aa6c-4e4cccaf4ae6", + "savedPayload": { + "position": { + "x": 29495.339513058934, + "y": 24481.162641482904 + }, + "targetPosition": { + "x": 29795.339513058934, + "y": 24481.162641482904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Software Projects", + "id": "a987f1d3-fc8d-4b7c-99dd-77f15a32f37d" } } } @@ -1352,7 +1492,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -1449,9 +1589,218 @@ "name": "New Claims Program", "config": "{}", "project": "Governance", - "assetContributionsFolder": [], - "featureContributionsFolder": [], - "positionContributionsFolder": [], + "assetClaimsFolders": [], + "featureClaimsFolders": [ + { + "type": "Feature Claims Folder", + "name": "Superalgos Feature Class", + "config": "{}", + "project": "Governance", + "featureClaimsFolders": [ + { + "type": "Feature Claims Folder", + "name": "Data Mining Feature Class", + "config": "{}", + "project": "Governance", + "featureClaimsFolders": [], + "featureContributionClaims": [ + { + "type": "Feature Contribution Claim", + "name": "Feature X Data Mining", + "config": "{}", + "project": "Governance", + "id": "edf1a5c9-7802-4856-918c-3cd5a7a9caf7", + "savedPayload": { + "position": { + "x": 30038.782819134452, + "y": 24048.581836534908 + }, + "targetPosition": { + "x": 29884.91303591268, + "y": 23791.047198454347 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {}, + "referenceParent": { + "type": "Feature", + "name": "Feature X", + "id": "1b9dd977-f388-4434-a3f9-2e7a10726848" + } + } + } + ], + "id": "ebad23ed-1a02-4edf-a9d7-fc4b2fd0dacb", + "savedPayload": { + "position": { + "x": 29884.91303591268, + "y": 23791.047198454347 + }, + "targetPosition": { + "x": 29731.043252690906, + "y": 23533.512560373787 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Feature Class", + "name": "Data Mining", + "id": "025c0e15-ad8d-49ae-b501-577bb82c207d" + } + } + }, + { + "type": "Feature Claims Folder", + "name": "Charting System Feature Class", + "config": "{}", + "project": "Governance", + "featureClaimsFolders": [], + "featureContributionClaims": [], + "id": "e745f3cd-4cd9-421b-b9ab-f62650fb56f8", + "savedPayload": { + "position": { + "x": 29533.661634908993, + "y": 23759.43400017487 + }, + "targetPosition": { + "x": 29731.043252690906, + "y": 23533.512560373787 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Feature Class", + "name": "Charting System", + "id": "7edc83c0-74fc-4427-816d-4db5d840577f" + } + } + }, + { + "type": "Feature Claims Folder", + "name": "Visual Designer Feature Class", + "config": "{}", + "project": "Governance", + "featureClaimsFolders": [], + "featureContributionClaims": [], + "id": "3ae7f0f9-be37-4e6c-b3b1-4343e51f80a9", + "savedPayload": { + "position": { + "x": 29455.184920925472, + "y": 23415.60505087761 + }, + "targetPosition": { + "x": 29731.043252690906, + "y": 23533.512560373787 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Feature Class", + "name": "Visual Designer", + "id": "18584f3f-6e48-4a68-89f1-0268185156e9" + } + } + }, + { + "type": "Feature Claims Folder", + "name": "Visual Debugger Feature Class", + "config": "{}", + "project": "Governance", + "featureClaimsFolders": [], + "featureContributionClaims": [], + "id": "d8ab7844-f98f-4ce1-a634-c0ff98af28ca", + "savedPayload": { + "position": { + "x": 29757.935045361937, + "y": 23234.720272175215 + }, + "targetPosition": { + "x": 29731.043252690906, + "y": 23533.512560373787 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Feature Class", + "name": "Visual Debugger", + "id": "0e329071-a542-405f-ae8c-2933098759c1" + } + } + } + ], + "featureContributionClaims": [], + "id": "f8a482c4-dee0-475a-831b-7514fd255ba6", + "savedPayload": { + "position": { + "x": 29731.043252690906, + "y": 23533.512560373787 + }, + "targetPosition": { + "x": 30023.521626345453, + "y": 23466.75628018689 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Feature Class", + "name": "Superalgos", + "id": "136b6e7a-f042-441b-84be-395b56b65b70" + } + } + } + ], + "positionClaimsFolders": [], "id": "796dd30f-c90d-4b8d-a63d-89867347407b", "savedPayload": { "position": { @@ -1465,7 +1814,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json b/Projects/Governance/Schemas/App-Schema/asset-claims-folder.json similarity index 66% rename from Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json rename to Projects/Governance/Schemas/App-Schema/asset-claims-folder.json index 45259400f..70dee72df 100644 --- a/Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json +++ b/Projects/Governance/Schemas/App-Schema/asset-claims-folder.json @@ -1,5 +1,5 @@ { - "type": "Asset Contributions Folder", + "type": "Asset Claims Folder", "menuItems": [ { "action": "Configure", @@ -8,12 +8,21 @@ "iconPathOn": "configuration", "iconPathOff": "configuration" }, + { + "action": "Install Missing Claims", + "actionProject": "Governance", + "actionFunction": "payload.executeAction", + "label": "Install Missing Claims", + "relatedUiObject": "Asset Contribution Claim", + "askConfirmation": true, + "confirmationLabel": "Confirm to Install" + }, { "action": "Add UI Object", "actionProject": "Foundations", "actionFunction": "payload.executeAction", - "label": "Add Asset Contributions Folder", - "relatedUiObject": "Asset Contributions Folder" + "label": "Add Asset Claims Folder", + "relatedUiObject": "Asset Claims Folder" }, { "action": "Add UI Object", @@ -42,14 +51,17 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Claims Program->Asset Contributions Folder->" + "compatibleTypes": "->Claims Program->Asset Claims Folder->" }, - "propertyNameAtParent": "assetContributionsFolder", + "referencingRules": { + "compatibleTypes": "->Asset Class->" + }, + "propertyNameAtParent": "assetClaimsFolders", "childrenNodesProperties": [ { - "name": "assetContributionsFolder", + "name": "assetClaimsFolders", "type": "array", - "childType": "Asset Contributions Folder", + "childType": "Asset Claims Folder", "autoAdd": false }, { diff --git a/Projects/Governance/Schemas/App-Schema/asset-class.json b/Projects/Governance/Schemas/App-Schema/asset-class.json index c2ddd6147..62485c9d0 100644 --- a/Projects/Governance/Schemas/App-Schema/asset-class.json +++ b/Projects/Governance/Schemas/App-Schema/asset-class.json @@ -9,9 +9,9 @@ "iconPathOff": "configuration" }, { - "action": "Install Assets", + "action": "Install Missing Assets", "actionProject": "Governance", - "label": "Install Assets", + "label": "Install Missing Assets", "askConfirmation": true, "confirmationLabel": "Confirm to Proceed", "workDoneLabel": "Done", diff --git a/Projects/Governance/Schemas/App-Schema/asset-contribution-claim.json b/Projects/Governance/Schemas/App-Schema/asset-contribution-claim.json index 2bb648613..819307a02 100644 --- a/Projects/Governance/Schemas/App-Schema/asset-contribution-claim.json +++ b/Projects/Governance/Schemas/App-Schema/asset-contribution-claim.json @@ -33,7 +33,7 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Asset Contributions Folder->" + "compatibleTypes": "->Asset Claims Folder->" }, "referencingRules": { "compatibleTypes": "->Asset->" diff --git a/Projects/Governance/Schemas/App-Schema/assets.json b/Projects/Governance/Schemas/App-Schema/assets.json index 6c4470d06..6d7a859af 100644 --- a/Projects/Governance/Schemas/App-Schema/assets.json +++ b/Projects/Governance/Schemas/App-Schema/assets.json @@ -9,9 +9,9 @@ "iconPathOff": "configuration" }, { - "action": "Install Assets", + "action": "Install Missing Assets", "actionProject": "Governance", - "label": "Install Assets", + "label": "Install Missing Assets", "askConfirmation": true, "confirmationLabel": "Confirm to Proceed", "workDoneLabel": "Done", diff --git a/Projects/Governance/Schemas/App-Schema/claim-votes-switch.json b/Projects/Governance/Schemas/App-Schema/claim-votes-switch.json index 4cf974141..86d6f15df 100644 --- a/Projects/Governance/Schemas/App-Schema/claim-votes-switch.json +++ b/Projects/Governance/Schemas/App-Schema/claim-votes-switch.json @@ -9,10 +9,10 @@ "iconPathOff": "configuration" }, { - "action": "Install Votes", + "action": "Install Missing Votes", "actionProject": "Governance", "actionFunction": "payload.executeAction", - "label": "Install Votes", + "label": "Install Missing Votes", "relatedUiObject": "Weight Votes Switch", "askConfirmation": true, "confirmationLabel": "Confirm to Install" diff --git a/Projects/Governance/Schemas/App-Schema/claims-program.json b/Projects/Governance/Schemas/App-Schema/claims-program.json index 8a9e731d6..86ec39c65 100644 --- a/Projects/Governance/Schemas/App-Schema/claims-program.json +++ b/Projects/Governance/Schemas/App-Schema/claims-program.json @@ -11,23 +11,23 @@ { "action": "Add UI Object", "actionProject": "Foundations", - "label": "Add Asset Contributions Folder", - "relatedUiObject": "Asset Contributions Folder", + "label": "Add Asset Claims Folder", + "relatedUiObject": "Asset Claims Folder", "actionFunction": "payload.executeAction" }, { "action": "Add UI Object", "actionProject": "Foundations", "actionFunction": "payload.executeAction", - "label": "Add Feature Contributions Folder", - "relatedUiObject": "Feature Contributions Folder" + "label": "Add Feature Claims Folder", + "relatedUiObject": "Feature Claims Folder" }, { "action": "Add UI Object", "actionProject": "Foundations", "actionFunction": "payload.executeAction", - "label": "Add Position Contributions Folder", - "relatedUiObject": "Position Contributions Folder" + "label": "Add Position Claims Folder", + "relatedUiObject": "Position Claims Folder" }, { "action": "Add UI Object", @@ -63,21 +63,21 @@ "propertyNameAtParent": "claimsProgram", "childrenNodesProperties": [ { - "name": "assetContributionsFolder", + "name": "assetClaimsFolders", "type": "array", - "childType": "Asset Contributions Folder", + "childType": "Asset Claims Folder", "autoAdd": false }, { - "name": "featureContributionsFolder", + "name": "featureClaimsFolders", "type": "array", - "childType": "Feature Contributions Folder", + "childType": "Feature Claims Folder", "autoAdd": false }, { - "name": "positionContributionsFolder", + "name": "positionClaimsFolders", "type": "array", - "childType": "Position Contributions Folder", + "childType": "Position Claims Folder", "autoAdd": false }, { diff --git a/Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json b/Projects/Governance/Schemas/App-Schema/feature-claims-folder.json similarity index 65% rename from Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json rename to Projects/Governance/Schemas/App-Schema/feature-claims-folder.json index c68c317a5..ec01207f0 100644 --- a/Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json +++ b/Projects/Governance/Schemas/App-Schema/feature-claims-folder.json @@ -1,5 +1,5 @@ { - "type": "Feature Contributions Folder", + "type": "Feature Claims Folder", "menuItems": [ { "action": "Configure", @@ -8,12 +8,21 @@ "iconPathOn": "configuration", "iconPathOff": "configuration" }, + { + "action": "Install Missing Claims", + "actionProject": "Governance", + "actionFunction": "payload.executeAction", + "label": "Install Missing Claims", + "relatedUiObject": "Feature Contribution Claim", + "askConfirmation": true, + "confirmationLabel": "Confirm to Install" + }, { "action": "Add UI Object", "actionProject": "Foundations", "actionFunction": "payload.executeAction", - "label": "Add Feature Contributions Folder", - "relatedUiObject": "Feature Contributions Folder" + "label": "Add Feature Claims Folder", + "relatedUiObject": "Feature Claims Folder" }, { "action": "Add UI Object", @@ -42,14 +51,17 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Claims Program->Feature Contributions Folder->" + "compatibleTypes": "->Claims Program->Feature Claims Folder->" }, - "propertyNameAtParent": "featureContributionsFolder", + "referencingRules": { + "compatibleTypes": "->Feature Class->" + }, + "propertyNameAtParent": "featureClaimsFolders", "childrenNodesProperties": [ { - "name": "featureContributionsFolder", + "name": "featureClaimsFolders", "type": "array", - "childType": "Feature Contributions Folder", + "childType": "Feature Claims Folder", "autoAdd": false }, { diff --git a/Projects/Governance/Schemas/App-Schema/feature-contribution-claim.json b/Projects/Governance/Schemas/App-Schema/feature-contribution-claim.json index 335b55877..42ebb071c 100644 --- a/Projects/Governance/Schemas/App-Schema/feature-contribution-claim.json +++ b/Projects/Governance/Schemas/App-Schema/feature-contribution-claim.json @@ -32,7 +32,7 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Feature Contributions Folder->" + "compatibleTypes": "->Feature Claims Folder->" }, "referencingRules": { "compatibleTypes": "->Feature->" diff --git a/Projects/Governance/Schemas/App-Schema/position-contributions-folder.json b/Projects/Governance/Schemas/App-Schema/position-claims-folder.json similarity index 65% rename from Projects/Governance/Schemas/App-Schema/position-contributions-folder.json rename to Projects/Governance/Schemas/App-Schema/position-claims-folder.json index 36390af05..2c2fbcfdc 100644 --- a/Projects/Governance/Schemas/App-Schema/position-contributions-folder.json +++ b/Projects/Governance/Schemas/App-Schema/position-claims-folder.json @@ -1,5 +1,5 @@ { - "type": "Position Contributions Folder", + "type": "Position Claims Folder", "menuItems": [ { "action": "Configure", @@ -8,12 +8,21 @@ "iconPathOn": "configuration", "iconPathOff": "configuration" }, + { + "action": "Install Missing Claims", + "actionProject": "Governance", + "actionFunction": "payload.executeAction", + "label": "Install Missing Claims", + "relatedUiObject": "Position Contribution Claim", + "askConfirmation": true, + "confirmationLabel": "Confirm to Install" + }, { "action": "Add UI Object", "actionProject": "Foundations", "actionFunction": "payload.executeAction", - "label": "Add Position Contributions Folder", - "relatedUiObject": "Position Contributions Folder" + "label": "Add Position Claims Folder", + "relatedUiObject": "Position Claims Folder" }, { "action": "Add UI Object", @@ -42,14 +51,17 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Claims Program->Position Contributions Folder->" + "compatibleTypes": "->Claims Program->Position Claims Folder->" }, - "propertyNameAtParent": "positionContributionsFolder", + "referencingRules": { + "compatibleTypes": "->Position Class->" + }, + "propertyNameAtParent": "positionClaimsFolders", "childrenNodesProperties": [ { - "name": "positionContributionsFolder", + "name": "positionClaimsFolders", "type": "array", - "childType": "Position Contributions Folder", + "childType": "Position Claims Folder", "autoAdd": false }, { diff --git a/Projects/Governance/Schemas/App-Schema/position-contribution-claim.json b/Projects/Governance/Schemas/App-Schema/position-contribution-claim.json index ac9655682..3aecb6959 100644 --- a/Projects/Governance/Schemas/App-Schema/position-contribution-claim.json +++ b/Projects/Governance/Schemas/App-Schema/position-contribution-claim.json @@ -32,7 +32,7 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Position Contributions Folder->" + "compatibleTypes": "->Position Claims Folder->" }, "referencingRules": { "compatibleTypes": "->Position->" diff --git a/Projects/Governance/Schemas/App-Schema/user-profile-votes-switch.json b/Projects/Governance/Schemas/App-Schema/user-profile-votes-switch.json index 317b18d85..43837946e 100644 --- a/Projects/Governance/Schemas/App-Schema/user-profile-votes-switch.json +++ b/Projects/Governance/Schemas/App-Schema/user-profile-votes-switch.json @@ -9,10 +9,10 @@ "iconPathOff": "configuration" }, { - "action": "Install Votes", + "action": "Install Missing Votes", "actionProject": "Governance", "actionFunction": "payload.executeAction", - "label": "Install Votes", + "label": "Install Missing Votes", "relatedUiObject": "Weight Votes Switch", "askConfirmation": true, "confirmationLabel": "Confirm to Install" diff --git a/Projects/Governance/Schemas/App-Schema/votes-switch.json b/Projects/Governance/Schemas/App-Schema/votes-switch.json index 3437ff59a..47e4aee77 100644 --- a/Projects/Governance/Schemas/App-Schema/votes-switch.json +++ b/Projects/Governance/Schemas/App-Schema/votes-switch.json @@ -9,10 +9,10 @@ "iconPathOff": "configuration" }, { - "action": "Install Votes", + "action": "Install Missing Votes", "actionProject": "Governance", "actionFunction": "payload.executeAction", - "label": "Install Votes", + "label": "Install Missing Votes", "relatedUiObject": "Weight Votes Switch", "askConfirmation": true, "confirmationLabel": "Confirm to Install" diff --git a/Projects/Governance/Schemas/App-Schema/weight-votes-switch.json b/Projects/Governance/Schemas/App-Schema/weight-votes-switch.json index 2bf3b50a3..da310615f 100644 --- a/Projects/Governance/Schemas/App-Schema/weight-votes-switch.json +++ b/Projects/Governance/Schemas/App-Schema/weight-votes-switch.json @@ -9,10 +9,10 @@ "iconPathOff": "configuration" }, { - "action": "Install Votes", + "action": "Install Missing Votes", "actionProject": "Governance", "actionFunction": "payload.executeAction", - "label": "Install Votes", + "label": "Install Missing Votes", "relatedUiObject": "Weight Votes Switch", "askConfirmation": true, "confirmationLabel": "Confirm to Install" diff --git a/Projects/Governance/Schemas/Docs-Nodes/A/Asset/Asset-Contributions-Folder/asset-contributions-folder.json b/Projects/Governance/Schemas/Docs-Nodes/A/Asset/Asset-Claims-Folder/asset-claims-folder.json similarity index 88% rename from Projects/Governance/Schemas/Docs-Nodes/A/Asset/Asset-Contributions-Folder/asset-contributions-folder.json rename to Projects/Governance/Schemas/Docs-Nodes/A/Asset/Asset-Claims-Folder/asset-claims-folder.json index 51c29c93c..aeb04d2ad 100644 --- a/Projects/Governance/Schemas/Docs-Nodes/A/Asset/Asset-Contributions-Folder/asset-contributions-folder.json +++ b/Projects/Governance/Schemas/Docs-Nodes/A/Asset/Asset-Claims-Folder/asset-claims-folder.json @@ -1,5 +1,5 @@ { - "type": "Asset Contributions Folder", + "type": "Asset Claims Folder", "definition": { "text": "This folder type of node, help users organize their Asset contributions claims.", "updated": 1622989520560 diff --git a/Projects/Governance/Schemas/Docs-Nodes/F/Feature/Feature-Contributions-Folder/feature-contributions-folder.json b/Projects/Governance/Schemas/Docs-Nodes/F/Feature/Feature-Claims-Folder/feature-claims-folder.json similarity index 87% rename from Projects/Governance/Schemas/Docs-Nodes/F/Feature/Feature-Contributions-Folder/feature-contributions-folder.json rename to Projects/Governance/Schemas/Docs-Nodes/F/Feature/Feature-Claims-Folder/feature-claims-folder.json index 64d127d07..746f7f8e0 100644 --- a/Projects/Governance/Schemas/Docs-Nodes/F/Feature/Feature-Contributions-Folder/feature-contributions-folder.json +++ b/Projects/Governance/Schemas/Docs-Nodes/F/Feature/Feature-Claims-Folder/feature-claims-folder.json @@ -1,5 +1,5 @@ { - "type": "Feature Contributions Folder", + "type": "Feature Claims Folder", "definition": { "text": "This folder type of node, help users organize their Feature contributions claims.", "updated": 1622989537182 diff --git a/Projects/Governance/Schemas/Docs-Nodes/P/Position/Position-Contributions-Folder/position-contributions-folder.json b/Projects/Governance/Schemas/Docs-Nodes/P/Position/Position-Claims-Folder/position-claims-folder.json similarity index 87% rename from Projects/Governance/Schemas/Docs-Nodes/P/Position/Position-Contributions-Folder/position-contributions-folder.json rename to Projects/Governance/Schemas/Docs-Nodes/P/Position/Position-Claims-Folder/position-claims-folder.json index e07cee55d..aa689e470 100644 --- a/Projects/Governance/Schemas/Docs-Nodes/P/Position/Position-Contributions-Folder/position-contributions-folder.json +++ b/Projects/Governance/Schemas/Docs-Nodes/P/Position/Position-Claims-Folder/position-claims-folder.json @@ -1,5 +1,5 @@ { - "type": "Position Contributions Folder", + "type": "Position Claims Folder", "definition": { "text": "This folder type of node, help users organize their Position contributions claims.", "updated": 1622989549721 diff --git a/Projects/Governance/UI/Function-Libraries/ActionSwitch.js b/Projects/Governance/UI/Function-Libraries/ActionSwitch.js index 4dd5ba618..113e19280 100644 --- a/Projects/Governance/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Governance/UI/Function-Libraries/ActionSwitch.js @@ -18,14 +18,19 @@ function newGovernanceActionSwitch() { async function executeAction(action) { switch (action.name) { - case 'Install Assets': + case 'Install Missing Assets': { - UI.projects.governance.functionLibraries.assets.installAssets(action.node, action.rootNodes) + UI.projects.governance.functionLibraries.assets.installMissingAssets(action.node, action.rootNodes) break } - case 'Install Votes': + case 'Install Missing Votes': { - UI.projects.governance.functionLibraries.votes.installVotes(action.node, action.rootNodes) + UI.projects.governance.functionLibraries.votes.installMissingVotes(action.node, action.rootNodes) + break + } + case 'Install Missing Claims': + { + UI.projects.governance.functionLibraries.claims.installMissingClaims(action.node, action.rootNodes) break } case 'Build Profile': diff --git a/Projects/Governance/UI/Function-Libraries/Assets.js b/Projects/Governance/UI/Function-Libraries/Assets.js index 8403f1f64..64be554bf 100644 --- a/Projects/Governance/UI/Function-Libraries/Assets.js +++ b/Projects/Governance/UI/Function-Libraries/Assets.js @@ -1,11 +1,11 @@ function newGovernanceFunctionLibraryAssets() { let thisObject = { - installAssets: installAssets + installMissingAssets: installMissingAssets } return thisObject - function installAssets( + function installMissingAssets( node, rootNodes ) { diff --git a/Projects/Governance/UI/Function-Libraries/Claims.js b/Projects/Governance/UI/Function-Libraries/Claims.js index a048f246e..37968011e 100644 --- a/Projects/Governance/UI/Function-Libraries/Claims.js +++ b/Projects/Governance/UI/Function-Libraries/Claims.js @@ -1,6 +1,7 @@ function newGovernanceFunctionLibraryClaims() { let thisObject = { - calculate: calculate + calculate: calculate, + installMissingClaims: installMissingClaims } return thisObject @@ -48,211 +49,309 @@ function newGovernanceFunctionLibraryClaims() { let userProfilesNode = userProfiles[i] calculateForNode(userProfilesNode.claimsProgram, userProfilesNode) } - } - function resetClaims(node) { - if (node === undefined) { return } - if (node.payload === undefined) { return } + function resetClaims(node) { + if (node === undefined) { return } + if (node.payload === undefined) { return } - if ( - node.type !== 'Asset Class' && - node.type !== 'Feature Class' && - node.type !== 'Position Class' - ) { - if (node.payload.votes !== undefined) { - node.payload.claims = { - count: 0, - votes: 0 - } - } - } - - let schemaDocument = getSchemaDocument(node) - if (schemaDocument === undefined) { return } - - if (schemaDocument.childrenNodesProperties !== undefined) { - for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { - let property = schemaDocument.childrenNodesProperties[i] - switch (property.type) { - case 'node': { - let childNode = node[property.name] - resetClaims(childNode) - } - break - case 'array': { - let propertyArray = node[property.name] - if (propertyArray !== undefined) { - for (let m = 0; m < propertyArray.length; m++) { - let childNode = propertyArray[m] - resetClaims(childNode) - } - } - break - } - } - } - } - } - - function countForNode(node) { - if (node === undefined) { return } - if (node.payload === undefined) { return } - - if ( - node.type !== 'Asset Contributions Folder' && - node.type !== 'Feature Contributions Folder' && - node.type !== 'Position Contributions Folder' && - node.type !== 'Claims Program' - ) { - if (node.payload.claims === undefined) { - node.payload.claims = { - count: 0, - awarded: { - tokens: 0, - percentage: 0 - }, - share: { + if ( + node.type !== 'Asset Class' && + node.type !== 'Feature Class' && + node.type !== 'Position Class' + ) { + if (node.payload.votes !== undefined) { + node.payload.claims = { count: 0, - percentage: 0 + votes: 0 } } } - if ( - node.payload.votes !== undefined && - node.payload.votes > 0 && - node.payload.referenceParent !== undefined && - node.payload.referenceParent.payload !== undefined && - node.payload.referenceParent.payload.votes !== undefined && - node.payload.referenceParent.payload.votes > 0 && - node.payload.referenceParent.payload.weight !== undefined && - node.payload.referenceParent.payload.weight > 0 && - node.payload.referenceParent.payload.claims.count !== undefined && - node.payload.referenceParent.payload.claims.votes !== undefined - ) { - node.payload.referenceParent.payload.claims.count++ - node.payload.referenceParent.payload.claims.votes = node.payload.referenceParent.payload.claims.votes + node.payload.votes + let schemaDocument = getSchemaDocument(node) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + switch (property.type) { + case 'node': { + let childNode = node[property.name] + resetClaims(childNode) + } + break + case 'array': { + let propertyArray = node[property.name] + if (propertyArray !== undefined) { + for (let m = 0; m < propertyArray.length; m++) { + let childNode = propertyArray[m] + resetClaims(childNode) + } + } + break + } + } + } } } - let schemaDocument = getSchemaDocument(node) - if (schemaDocument === undefined) { return } + function countForNode(node) { + if (node === undefined) { return } + if (node.payload === undefined) { return } - if (schemaDocument.childrenNodesProperties !== undefined) { - for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { - let property = schemaDocument.childrenNodesProperties[i] - switch (property.type) { - case 'node': { - let childNode = node[property.name] - countForNode(childNode) + if ( + node.type !== 'Asset Claims Folder' && + node.type !== 'Feature Claims Folder' && + node.type !== 'Position Claims Folder' && + node.type !== 'Claims Program' + ) { + if (node.payload.claims === undefined) { + node.payload.claims = { + count: 0, + awarded: { + tokens: 0, + percentage: 0 + }, + share: { + count: 0, + percentage: 0 + } } - break - case 'array': { - let propertyArray = node[property.name] - if (propertyArray !== undefined) { - for (let m = 0; m < propertyArray.length; m++) { - let childNode = propertyArray[m] - countForNode(childNode) + } + + if ( + node.payload.votes !== undefined && + node.payload.votes > 0 && + node.payload.referenceParent !== undefined && + node.payload.referenceParent.payload !== undefined && + node.payload.referenceParent.payload.votes !== undefined && + node.payload.referenceParent.payload.votes > 0 && + node.payload.referenceParent.payload.weight !== undefined && + node.payload.referenceParent.payload.weight > 0 && + node.payload.referenceParent.payload.claims.count !== undefined && + node.payload.referenceParent.payload.claims.votes !== undefined + ) { + node.payload.referenceParent.payload.claims.count++ + node.payload.referenceParent.payload.claims.votes = node.payload.referenceParent.payload.claims.votes + node.payload.votes + } + } + + let schemaDocument = getSchemaDocument(node) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + switch (property.type) { + case 'node': { + let childNode = node[property.name] + countForNode(childNode) + } + break + case 'array': { + let propertyArray = node[property.name] + if (propertyArray !== undefined) { + for (let m = 0; m < propertyArray.length; m++) { + let childNode = propertyArray[m] + countForNode(childNode) + } } + break } - break } } } } + + function calculateForNode(node, userProfilesNode) { + if (node === undefined) { return } + if (node.payload === undefined) { return } + + if ( + node.type !== 'Asset Claims Folder' && + node.type !== 'Feature Claims Folder' && + node.type !== 'Position Claims Folder' && + node.type !== 'Claims Program' + ) { + if ( + node.payload.claims !== undefined && + node.payload.votes !== undefined && + node.payload.votes > 0 && + node.payload.referenceParent !== undefined && + node.payload.referenceParent.payload !== undefined && + node.payload.referenceParent.payload.votes !== undefined && + node.payload.referenceParent.payload.votes > 0 && + node.payload.referenceParent.payload.weight !== undefined && + node.payload.referenceParent.payload.weight > 0 && + node.payload.referenceParent.payload.claims.count !== undefined && + node.payload.referenceParent.payload.claims.votes !== undefined + ) { + /* + We will use the concept of Vote Reward Claims Ratio for the situation in which the + total votes in claims exeeds the amount of votes of the reward. When this happens + the Votes Rewards Claims Ratio will be used to redude the amount of tokens awarded + proportionally to how much was exeeded. + */ + let votesRatio = node.payload.referenceParent.payload.votes / node.payload.referenceParent.payload.claims.votes + if (votesRatio > 1) { votesRatio = 1 } + /* + Share Count means the amount to claims pointing to the same potential tokens reward. + */ + node.payload.claims.share.count = node.payload.referenceParent.payload.claims.count + node.payload.claims.share.percentage = node.payload.votes * 100 / node.payload.referenceParent.payload.claims.votes + node.payload.claims.awarded.tokens = + Math.min( + node.payload.votes / node.payload.referenceParent.payload.votes * node.payload.referenceParent.payload.tokens * votesRatio, + node.payload.votes + ) + node.payload.claims.awarded.percentage = node.payload.claims.awarded.tokens / node.payload.referenceParent.payload.tokens * 100 + + userProfilesNode.payload.claims.awarded.tokens = userProfilesNode.payload.claims.awarded.tokens + node.payload.claims.awarded.tokens + userProfilesNode.payload.claims.count++ + + drawClaims(node, userProfilesNode) + } + } + + let schemaDocument = getSchemaDocument(node) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + switch (property.type) { + case 'node': { + let childNode = node[property.name] + calculateForNode(childNode, userProfilesNode) + } + break + case 'array': { + let propertyArray = node[property.name] + if (propertyArray !== undefined) { + for (let m = 0; m < propertyArray.length; m++) { + let childNode = propertyArray[m] + calculateForNode(childNode, userProfilesNode) + } + } + break + } + } + } + } + } + + function drawClaims(node, userProfilesNode) { + let satatus = + new Intl.NumberFormat().format(node.payload.claims.awarded.tokens) + + ' ' + 'SA Tokens Awarded' + ' - ' + + 'From Reward: ' + node.payload.claims.awarded.percentage.toFixed(2) + '%' + ' - ' + + 'Shared Between: ' + node.payload.claims.share.count + ' claims' + ' - ' + + 'Share of Claims: ' + node.payload.claims.share.percentage.toFixed(2) + '%' + + node.payload.uiObject.setStatus(satatus) + + satatus = new Intl.NumberFormat().format(userProfilesNode.payload.claims.awarded.tokens) + + ' ' + 'SA Tokens Awarded' + + ' from ' + userProfilesNode.payload.claims.count + ' Claims' + + userProfilesNode.payload.uiObject.setValue(satatus) + } } - function calculateForNode(node, userProfilesNode) { - if (node === undefined) { return } + function installMissingClaims(node, rootNodes) { if (node.payload === undefined) { return } - - if ( - node.type !== 'Asset Contributions Folder' && - node.type !== 'Feature Contributions Folder' && - node.type !== 'Position Contributions Folder' && - node.type !== 'Claims Program' - ) { - if ( - node.payload.claims !== undefined && - node.payload.votes !== undefined && - node.payload.votes > 0 && - node.payload.referenceParent !== undefined && - node.payload.referenceParent.payload !== undefined && - node.payload.referenceParent.payload.votes !== undefined && - node.payload.referenceParent.payload.votes > 0 && - node.payload.referenceParent.payload.weight !== undefined && - node.payload.referenceParent.payload.weight > 0 && - node.payload.referenceParent.payload.claims.count !== undefined && - node.payload.referenceParent.payload.claims.votes !== undefined - ) { - /* - We will use the concept of Vote Reward Claims Ratio for the situation in which the - total votes in claims exeeds the amount of votes of the reward. When this happens - the Votes Rewards Claims Ratio will be used to redude the amount of tokens awarded - proportionally to how much was exeeded. - */ - let votesRatio = node.payload.referenceParent.payload.votes / node.payload.referenceParent.payload.claims.votes - if (votesRatio > 1) { votesRatio = 1 } - /* - Share Count means the amount to claims pointing to the same potential tokens reward. - */ - node.payload.claims.share.count = node.payload.referenceParent.payload.claims.count - node.payload.claims.share.percentage = node.payload.votes * 100 / node.payload.referenceParent.payload.claims.votes - node.payload.claims.awarded.tokens = - Math.min( - node.payload.votes / node.payload.referenceParent.payload.votes * node.payload.referenceParent.payload.tokens * votesRatio, - node.payload.votes - ) - node.payload.claims.awarded.percentage = node.payload.claims.awarded.tokens / node.payload.referenceParent.payload.tokens * 100 - - userProfilesNode.payload.claims.awarded.tokens = userProfilesNode.payload.claims.awarded.tokens + node.payload.claims.awarded.tokens - userProfilesNode.payload.claims.count++ - - drawClaims(node, userProfilesNode) - } + if (node.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('To Install Missing Claims you need a Reference Parent') + return } + scanNodeBranch(node, node.payload.referenceParent) - let schemaDocument = getSchemaDocument(node) - if (schemaDocument === undefined) { return } + function scanNodeBranch(originNode, destinationNode) { + if ( + destinationNode.type === 'Asset' || + destinationNode.type === 'Feature' || + destinationNode.type === 'Position' + ) { + originNode.name = destinationNode.name + ' ' + destinationNode.type + ' ' + ' Claim' + } else { + originNode.name = destinationNode.name + ' ' + destinationNode.type + } - if (schemaDocument.childrenNodesProperties !== undefined) { - for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { - let property = schemaDocument.childrenNodesProperties[i] - switch (property.type) { - case 'node': { - let childNode = node[property.name] - calculateForNode(childNode, userProfilesNode) - } - break - case 'array': { - let propertyArray = node[property.name] - if (propertyArray !== undefined) { - for (let m = 0; m < propertyArray.length; m++) { - let childNode = propertyArray[m] - calculateForNode(childNode, userProfilesNode) + let schemaDocument = getSchemaDocument(destinationNode) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + + switch (property.type) { + case 'node': { + + let destinationNodeChild = destinationNode[property.name] + + let originNodeChildType = getOriginNodeChildType(destinationNodeChild) + let originNodeChild = UI.projects.foundations.utilities.children.findChildReferencingThisNode(originNode, destinationNodeChild) + + if (originNodeChild === undefined) { + originNodeChild = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType) } + originNodeChild.payload.referenceParent = destinationNodeChild + scanNodeBranch(originNodeChild, destinationNodeChild) + } + break + case 'array': { + let propertyArray = destinationNode[property.name] + if (propertyArray !== undefined) { + for (let m = 0; m < propertyArray.length; m++) { + + let destinationNodeChild = propertyArray[m] + + let originNodeChildType = getOriginNodeChildType(destinationNodeChild) + let originNodeChild = UI.projects.foundations.utilities.children.findChildReferencingThisNode(originNode, destinationNodeChild) + + if (originNodeChild === undefined) { + originNodeChild = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType) + } + originNodeChild.payload.referenceParent = destinationNodeChild + scanNodeBranch(originNodeChild, destinationNodeChild) + } + } + break } - break } } } } - } - function drawClaims(node, userProfilesNode) { - let satatus = - new Intl.NumberFormat().format(node.payload.claims.awarded.tokens) + - ' ' + 'SA Tokens Awarded' + ' - ' + - 'From Reward: ' + node.payload.claims.awarded.percentage.toFixed(2) + '%' + ' - ' + - 'Shared Between: ' + node.payload.claims.share.count + ' claims' + ' - ' + - 'Share of Claims: ' + node.payload.claims.share.percentage.toFixed(2) + '%' + function getOriginNodeChildType(destinationNode) { + let originNodeType - node.payload.uiObject.setStatus(satatus) - - satatus = new Intl.NumberFormat().format(userProfilesNode.payload.claims.awarded.tokens) + - ' ' + 'SA Tokens Awarded' + - ' from ' + userProfilesNode.payload.claims.count + ' Claims' - - userProfilesNode.payload.uiObject.setValue(satatus) + switch (destinationNode.type) { + case 'Asset Class': { + originNodeType = 'Asset Claims Folder' + break + } + case 'Feature Class': { + originNodeType = 'Feature Claims Folder' + break + } + case 'Position Class': { + originNodeType = 'Position Claims Folder' + break + } + case 'Asset': { + originNodeType = 'Asset Contribution Claim' + break + } + case 'Feature': { + originNodeType = 'Feature Contribution Claim' + break + } + case 'Position': { + originNodeType = 'Position Contribution Claim' + break + } + } + return originNodeType + } } } \ No newline at end of file diff --git a/Projects/Governance/UI/Function-Libraries/Votes.js b/Projects/Governance/UI/Function-Libraries/Votes.js index 70afdc0c5..1137f4a50 100644 --- a/Projects/Governance/UI/Function-Libraries/Votes.js +++ b/Projects/Governance/UI/Function-Libraries/Votes.js @@ -1,7 +1,7 @@ function newGovernanceFunctionLibraryVotes() { let thisObject = { calculate: calculate, - installVotes: installVotes + installMissingVotes: installMissingVotes } return thisObject @@ -313,7 +313,7 @@ function newGovernanceFunctionLibraryVotes() { } } - function installVotes(node, rootNodes) { + function installMissingVotes(node, rootNodes) { if (node.payload === undefined) { return } if (node.payload.referenceParent === undefined) { node.payload.uiObject.setErrorMessage('To install votes you need a Reference Parent') @@ -346,17 +346,12 @@ function newGovernanceFunctionLibraryVotes() { let destinationNodeChild = destinationNode[property.name] let originNodeChildType = getOriginNodeChildType(destinationNodeChild) - let originNodeChild = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType) + let originNodeChild = UI.projects.foundations.utilities.children.findChildReferencingThisNode(originNode, destinationNodeChild) - if ( - destinationNodeChild.type === 'Pool' || - destinationNodeChild.type === 'Asset' || - destinationNodeChild.type === 'Feature' || - destinationNodeChild.type === 'Position' - ) { - originNodeChild.payload.referenceParent = destinationNodeChild + if (originNodeChild === undefined) { + originNodeChild = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType) } - + originNodeChild.payload.referenceParent = destinationNodeChild scanNodeBranch(originNodeChild, destinationNodeChild) } break @@ -368,17 +363,12 @@ function newGovernanceFunctionLibraryVotes() { let destinationNodeChild = propertyArray[m] let originNodeChildType = getOriginNodeChildType(destinationNodeChild) - let originNodeChild = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType) + let originNodeChild = UI.projects.foundations.utilities.children.findChildReferencingThisNode(originNode, destinationNodeChild) - if ( - destinationNodeChild.type === 'Pool' || - destinationNodeChild.type === 'Asset' || - destinationNodeChild.type === 'Feature' || - destinationNodeChild.type === 'Position' - ) { - originNodeChild.payload.referenceParent = destinationNodeChild + if (originNodeChild === undefined) { + originNodeChild = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType) } - + originNodeChild.payload.referenceParent = destinationNodeChild scanNodeBranch(originNodeChild, destinationNodeChild) } } diff --git a/UI/Canvas.js b/UI/Canvas.js index e305512d1..1849c1bbd 100644 --- a/UI/Canvas.js +++ b/UI/Canvas.js @@ -393,7 +393,7 @@ function newCanvas() { UI.projects.foundations.spaces.chartingSpace.onKeyPressed(event) - /* Shourcuts to Menu Items */ + /* Shortcuts to Menu Items */ if ((event.keyCode >= 48 && event.keyCode <= 57)) { let number = event.key if (MENU_ITEM_ON_FOCUS !== undefined) {