diff --git a/Client/WebServer/index.html b/Client/WebServer/index.html
index 5967446ff..a693d0d9d 100644
--- a/Client/WebServer/index.html
+++ b/Client/WebServer/index.html
@@ -79,6 +79,13 @@
"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.'
}
]
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/Luis-Fernando-Molina.json b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json
index 0d67339a8..cc47573ad 100644
--- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json
+++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json
@@ -178,7 +178,7 @@
"weightVotesSwitch": [
{
"type": "Weight Votes Switch",
- "name": "Software Pool Class",
+ "name": "Software Projects Pool Class",
"config": "{}",
"project": "Governance",
"weightVotesSwitch": [],
@@ -188,15 +188,15 @@
"name": "Foundations Project Pool",
"config": "{}",
"project": "Governance",
- "id": "f24631c9-92f7-40ec-af18-f32e5e200537",
+ "id": "8b66762f-85ca-4164-b9b6-12eb794ac75d",
"savedPayload": {
"position": {
- "x": 30555.56228253721,
- "y": 24685.538763626188
+ "x": 30279.035701484092,
+ "y": 24670.99940637046
},
"targetPosition": {
- "x": 30268.890440801366,
- "y": 24773.96531594946
+ "x": 29982.386453616553,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -219,15 +219,15 @@
"name": "TensorFlow Project Pool",
"config": "{}",
"project": "Governance",
- "id": "21ac46d3-6170-422d-82ca-0738be0401c4",
+ "id": "57fa43f4-da21-46c1-af6a-b25b1fdcd640",
"savedPayload": {
"position": {
- "x": 30561.368814455913,
- "y": 24840.721596136354
+ "x": 30261.648578209813,
+ "y": 24825.31439353323
},
"targetPosition": {
- "x": 30268.890440801366,
- "y": 24773.96531594946
+ "x": 29982.386453616553,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -250,15 +250,15 @@
"name": "Governance Project Pool",
"config": "{}",
"project": "Governance",
- "id": "ac8070f0-fe42-4595-b844-e97170a0a5d6",
+ "id": "4edeaaa9-934c-445c-a118-d903a7de6bca",
"savedPayload": {
"position": {
- "x": 30488.806002350313,
- "y": 24978.017137280734
+ "x": 30169.43339417417,
+ "y": 24950.261530963722
},
"targetPosition": {
- "x": 30268.890440801366,
- "y": 24773.96531594946
+ "x": 29982.386453616553,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -281,15 +281,15 @@
"name": "Education Project Pool",
"config": "{}",
"project": "Governance",
- "id": "fcfd5e40-7df6-47bd-b246-fea2309636a7",
+ "id": "3e8eba3a-16d1-489c-9458-79ed73c3e080",
"savedPayload": {
"position": {
- "x": 30357.316993124638,
- "y": 25060.6371576853
+ "x": 30027.099133469404,
+ "y": 25012.361334090852
},
"targetPosition": {
- "x": 30268.890440801366,
- "y": 24773.96531594946
+ "x": 29982.386453616553,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -312,15 +312,15 @@
"name": "Ethereum Project Pool",
"config": "{}",
"project": "Governance",
- "id": "db4d2213-3fd5-478e-b6f3-b754090e0721",
+ "id": "e69b6ff0-a21e-4f0d-aec3-2c0ab58b260c",
"savedPayload": {
"position": {
- "x": 30202.13416061447,
- "y": 25066.443689604006
+ "x": 29872.784146306636,
+ "y": 24994.974210816574
},
"targetPosition": {
- "x": 30268.890440801366,
- "y": 24773.96531594946
+ "x": 29982.386453616553,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -342,15 +342,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "a970cae4-b62a-4127-ad64-067d44f721b4",
+ "id": "445f7d92-d3d6-40e2-9d5e-545590dc0bb7",
"savedPayload": {
"position": {
- "x": 30268.890440801366,
- "y": 24773.96531594946
+ "x": 29982.386453616553,
+ "y": 24715.712086223313
},
"targetPosition": {
- "x": 30048.97487925242,
- "y": 24569.913494618184
+ "x": 29795.339513058934,
+ "y": 24481.162641482904
},
"floatingObject": {
"isPinned": false,
@@ -383,15 +383,15 @@
"name": "First Exchange Listing The Token Pool",
"config": "{}",
"project": "Governance",
- "id": "492e0acc-1d34-476b-8519-a25b26dc5d24",
+ "id": "0b99a9a8-0e1f-414d-8ed5-54e272c415a7",
"savedPayload": {
"position": {
- "x": 30649.795366779184,
- "y": 25127.393437872197
+ "x": 30352.819456312947,
+ "y": 25081.98312900967
},
"targetPosition": {
- "x": 30357.316993124638,
- "y": 25060.6371576853
+ "x": 30066.147614577105,
+ "y": 24993.5565766864
},
"floatingObject": {
"isPinned": false,
@@ -414,15 +414,15 @@
"name": "10K Stars on Github Pool",
"config": "{}",
"project": "Governance",
- "id": "0a569224-49d0-4518-ac0b-3a9237410d76",
+ "id": "0d58b22f-16f9-4029-b5c9-885241b1d879",
"savedPayload": {
"position": {
- "x": 30445.74354544791,
- "y": 25347.308999421144
+ "x": 30132.903894764,
+ "y": 25286.034950340945
},
"targetPosition": {
- "x": 30357.316993124638,
- "y": 25060.6371576853
+ "x": 30066.147614577105,
+ "y": 24993.5565766864
},
"floatingObject": {
"isPinned": false,
@@ -444,15 +444,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "7ef32920-85af-4d4a-b4be-dd03415f905e",
+ "id": "92a7efbd-ec5d-4da3-bd2d-e3d0d47aa7ab",
"savedPayload": {
"position": {
- "x": 30357.316993124638,
- "y": 25060.6371576853
+ "x": 30066.147614577105,
+ "y": 24993.5565766864
},
"targetPosition": {
- "x": 30137.40143157569,
- "y": 24856.585336354026
+ "x": 29862.09579324583,
+ "y": 24773.64101513745
},
"floatingObject": {
"isPinned": false,
@@ -479,15 +479,15 @@
"name": "Marketing Assets Pool",
"config": "{}",
"project": "Governance",
- "id": "8ee0f13f-79ac-49e6-a417-414ef568eae7",
+ "id": "6396fad6-4f29-4e7e-bb23-cc10b042ccfa",
"savedPayload": {
"position": {
- "x": 30003.8888712019,
- "y": 25441.54208366312
+ "x": 29685.242688599286,
+ "y": 25346.984698609136
},
"targetPosition": {
- "x": 30070.645151388795,
- "y": 25149.063710008573
+ "x": 29773.669240922558,
+ "y": 25060.312856873294
},
"floatingObject": {
"isPinned": false,
@@ -509,15 +509,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "7ffccefb-7efa-43d8-942a-25f02307de29",
+ "id": "6e647581-b9bc-4dd7-81f4-dc71ba0d8a73",
"savedPayload": {
"position": {
- "x": 30070.645151388795,
- "y": 25149.063710008573
+ "x": 29773.669240922558,
+ "y": 25060.312856873294
},
"targetPosition": {
- "x": 30137.40143157569,
- "y": 24856.585336354026
+ "x": 29862.09579324583,
+ "y": 24773.64101513745
},
"floatingObject": {
"isPinned": false,
@@ -537,15 +537,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "036afdd7-5205-41e6-aac2-5ef009ba46d8",
+ "id": "fdb56fa1-ebb2-42ed-bcce-50cd04319327",
"savedPayload": {
"position": {
- "x": 30137.40143157569,
- "y": 24856.585336354026
+ "x": 29862.09579324583,
+ "y": 24773.64101513745
},
"targetPosition": {
- "x": 30048.97487925242,
- "y": 24569.913494618184
+ "x": 29795.339513058934,
+ "y": 24481.162641482904
},
"floatingObject": {
"isPinned": false,
@@ -578,15 +578,15 @@
"name": "Usage Pool",
"config": "{}",
"project": "Governance",
- "id": "536db08b-dc25-4548-b233-724d099dc447",
+ "id": "d3fd676b-5431-497e-aebe-d973c14f99b2",
"savedPayload": {
"position": {
- "x": 30407.062840071507,
- "y": 25256.589716523136
+ "x": 30153.427473878022,
+ "y": 25167.838863387857
},
"targetPosition": {
- "x": 30141.828222020125,
- "y": 25116.409128041218
+ "x": 29888.19285582664,
+ "y": 25027.658274905938
},
"floatingObject": {
"isPinned": false,
@@ -609,15 +609,15 @@
"name": "User Referrals Pool",
"config": "{}",
"project": "Governance",
- "id": "915e0231-3b99-4893-bb9a-dbcf638228d0",
+ "id": "28175543-6051-481b-a909-ef7ef250da21",
"savedPayload": {
"position": {
- "x": 30153.045580303024,
- "y": 25416.19933947774
+ "x": 29899.41021410954,
+ "y": 25327.44848634246
},
"targetPosition": {
- "x": 30141.828222020125,
- "y": 25116.409128041218
+ "x": 29888.19285582664,
+ "y": 25027.658274905938
},
"floatingObject": {
"isPinned": false,
@@ -639,15 +639,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "e058f130-c894-40b7-9e66-dfef44f20991",
+ "id": "ef1432f0-197d-412e-9126-d3253375faf0",
"savedPayload": {
"position": {
- "x": 30141.828222020125,
- "y": 25116.409128041218
+ "x": 29888.19285582664,
+ "y": 25027.658274905938
},
"targetPosition": {
- "x": 29982.218599065523,
- "y": 24862.39186827273
+ "x": 29728.58323287204,
+ "y": 24773.64101513745
},
"floatingObject": {
"isPinned": false,
@@ -674,15 +674,15 @@
"name": "Badges Pool",
"config": "{}",
"project": "Governance",
- "id": "1c26b6c1-477a-44f6-baa2-b8ab65622aed",
+ "id": "663ed15b-db2f-45a9-8d82-8525084dc314",
"savedPayload": {
"position": {
- "x": 29848.706038691733,
- "y": 25447.348615581825
+ "x": 29595.07067249825,
+ "y": 25358.597762446545
},
"targetPosition": {
- "x": 29915.462318878628,
- "y": 25154.870241927278
+ "x": 29661.826952685144,
+ "y": 25066.119388791998
},
"floatingObject": {
"isPinned": false,
@@ -704,15 +704,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "8bf4d5ef-c106-47d2-abd8-9789453279db",
+ "id": "69fe8cab-d36e-4b56-a3c1-704f629095a7",
"savedPayload": {
"position": {
- "x": 29915.462318878628,
- "y": 25154.870241927278
+ "x": 29661.826952685144,
+ "y": 25066.119388791998
},
"targetPosition": {
- "x": 29982.218599065523,
- "y": 24862.39186827273
+ "x": 29728.58323287204,
+ "y": 24773.64101513745
},
"floatingObject": {
"isPinned": false,
@@ -739,15 +739,15 @@
"name": "Stacking Pool",
"config": "{}",
"project": "Governance",
- "id": "fd7f8254-69b2-4d16-ac6b-b3d40b39273b",
+ "id": "68178505-3ca0-4e1b-b855-94b8a0a5726f",
"savedPayload": {
"position": {
- "x": 29474.18407952855,
- "y": 25181.611114181935
+ "x": 29220.548713335065,
+ "y": 25092.860261046655
},
"targetPosition": {
- "x": 29728.201339297037,
- "y": 25022.001491227333
+ "x": 29474.565973103552,
+ "y": 24933.250638092053
},
"floatingObject": {
"isPinned": false,
@@ -769,15 +769,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "14c021f7-fe45-459e-80f2-d7d358b25f4a",
+ "id": "1331df88-57d8-4484-89fd-e46428f319a0",
"savedPayload": {
"position": {
- "x": 29728.201339297037,
- "y": 25022.001491227333
+ "x": 29474.565973103552,
+ "y": 24933.250638092053
},
"targetPosition": {
- "x": 29982.218599065523,
- "y": 24862.39186827273
+ "x": 29728.58323287204,
+ "y": 24773.64101513745
},
"floatingObject": {
"isPinned": false,
@@ -797,15 +797,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "2cc608dd-0424-4a44-be7a-b2993ce2976d",
+ "id": "a08d2034-b8a7-49fc-a791-e374e1b027ad",
"savedPayload": {
"position": {
- "x": 29982.218599065523,
- "y": 24862.39186827273
+ "x": 29728.58323287204,
+ "y": 24773.64101513745
},
"targetPosition": {
- "x": 30048.97487925242,
- "y": 24569.913494618184
+ "x": 29795.339513058934,
+ "y": 24481.162641482904
},
"floatingObject": {
"isPinned": false,
@@ -844,15 +844,15 @@
"name": "Blog-Tutorials Pool",
"config": "{}",
"project": "Governance",
- "id": "ccb1229b-a633-4234-82c9-ea1404bb570b",
+ "id": "cd53b098-ca76-43e9-a653-631ca658569c",
"savedPayload": {
"position": {
- "x": 30150.49154519727,
- "y": 25465.94216879386
+ "x": 29963.532624493582,
+ "y": 25367.099487807467
},
"targetPosition": {
- "x": 29866.59333005752,
- "y": 25368.97927155752
+ "x": 29673.18219995838,
+ "y": 25291.623458684113
},
"floatingObject": {
"isPinned": false,
@@ -875,15 +875,15 @@
"name": "In-App-Docs Pool",
"config": "{}",
"project": "Governance",
- "id": "f7596a5b-52cb-4477-bc47-b2ef35d01dc8",
+ "id": "98888b87-e767-4a80-b1ac-00bc1e3da17d",
"savedPayload": {
"position": {
- "x": 30039.27844976322,
- "y": 25614.29508725685
+ "x": 29863.716930911036,
+ "y": 25523.348546451492
},
"targetPosition": {
- "x": 29866.59333005752,
- "y": 25368.97927155752
+ "x": 29673.18219995838,
+ "y": 25291.623458684113
},
"floatingObject": {
"isPinned": false,
@@ -906,15 +906,15 @@
"name": "In-App-Tutorials Pool",
"config": "{}",
"project": "Governance",
- "id": "1b0f7ebf-facc-484a-ae38-8ae379d8ddec",
+ "id": "de5522ed-456e-4b32-9153-651ed32f2c4a",
"savedPayload": {
"position": {
- "x": 29862.10550795294,
- "y": 25668.945702100602
+ "x": 29691.12344614189,
+ "y": 25591.086497614433
},
"targetPosition": {
- "x": 29866.59333005752,
- "y": 25368.97927155752
+ "x": 29673.18219995838,
+ "y": 25291.623458684113
},
"floatingObject": {
"isPinned": false,
@@ -937,15 +937,15 @@
"name": "Video-Tutorials Pool",
"config": "{}",
"project": "Governance",
- "id": "0d3dc298-3699-4ccf-a0d6-21d9b6d7f85d",
+ "id": "a79c8f02-a021-4754-a28e-2754c3424c57",
"savedPayload": {
"position": {
- "x": 29686.646761651147,
- "y": 25609.019335960882
+ "x": 29511.677015131176,
+ "y": 25544.439746280324
},
"targetPosition": {
- "x": 29866.59333005752,
- "y": 25368.97927155752
+ "x": 29673.18219995838,
+ "y": 25291.623458684113
},
"floatingObject": {
"isPinned": false,
@@ -967,15 +967,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "4f922838-940d-4ab2-a185-f737f3572f8a",
+ "id": "da58d819-4637-4116-85f1-d2b9bebf219b",
"savedPayload": {
"position": {
- "x": 29866.59333005752,
- "y": 25368.97927155752
+ "x": 29673.18219995838,
+ "y": 25291.623458684113
},
"targetPosition": {
- "x": 29778.166777734248,
- "y": 25082.307429821678
+ "x": 29563.579892648464,
+ "y": 25012.361334090852
},
"floatingObject": {
"isPinned": false,
@@ -1002,15 +1002,15 @@
"name": "In-App-Docs Pool",
"config": "{}",
"project": "Governance",
- "id": "d6530670-46f6-4fa2-8839-25c77465437c",
+ "id": "7ac5395d-5f2d-41d5-b872-7723f1774725",
"savedPayload": {
"position": {
- "x": 29585.33231468587,
- "y": 25602.013202807146
+ "x": 29410.12229492184,
+ "y": 25545.024441799233
},
"targetPosition": {
- "x": 29574.114956402973,
- "y": 25302.222991370625
+ "x": 29376.532952090845,
+ "y": 25246.91077883126
},
"floatingObject": {
"isPinned": false,
@@ -1033,15 +1033,15 @@
"name": "In-App-Tutorials Pool",
"config": "{}",
"project": "Governance",
- "id": "3ce2eb05-c54a-40c1-816d-36e1088dfed2",
+ "id": "f0e07a33-dc5a-4267-9535-125bfb9cc3c8",
"savedPayload": {
"position": {
- "x": 29370.063135071698,
- "y": 25522.138552919572
+ "x": 29189.486011533227,
+ "y": 25481.46022357167
},
"targetPosition": {
- "x": 29574.114956402973,
- "y": 25302.222991370625
+ "x": 29376.532952090845,
+ "y": 25246.91077883126
},
"floatingObject": {
"isPinned": false,
@@ -1064,15 +1064,15 @@
"name": "Video-Tutorials Pool",
"config": "{}",
"project": "Governance",
- "id": "2da649ef-07fe-4e07-a1de-59c0c2e37ea8",
+ "id": "c05c7d35-a293-4592-bb48-237b27ccb185",
"savedPayload": {
"position": {
- "x": 29274.324744966452,
- "y": 25313.440349653523
+ "x": 29078.419289122874,
+ "y": 25280.500121662255
},
"targetPosition": {
- "x": 29574.114956402973,
- "y": 25302.222991370625
+ "x": 29376.532952090845,
+ "y": 25246.91077883126
},
"floatingObject": {
"isPinned": false,
@@ -1094,15 +1094,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "2b64a4bf-8347-4b72-a3e4-1ad22ea3d78a",
+ "id": "997c4e75-38b7-42e0-b603-e59abc359639",
"savedPayload": {
"position": {
- "x": 29574.114956402973,
- "y": 25302.222991370625
+ "x": 29376.532952090845,
+ "y": 25246.91077883126
},
"targetPosition": {
- "x": 29778.166777734248,
- "y": 25082.307429821678
+ "x": 29563.579892648464,
+ "y": 25012.361334090852
},
"floatingObject": {
"isPinned": false,
@@ -1122,15 +1122,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "0d66181b-39c6-4e0b-a195-45d85fca3da4",
+ "id": "b2259481-93d7-4f84-b2ed-b2874d39e7ea",
"savedPayload": {
"position": {
- "x": 29778.166777734248,
- "y": 25082.307429821678
+ "x": 29563.579892648464,
+ "y": 25012.361334090852
},
"targetPosition": {
- "x": 29844.923057921143,
- "y": 24789.82905616713
+ "x": 29608.292572501316,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -1157,15 +1157,15 @@
"name": "Completing Tutorials Pool",
"config": "{}",
"project": "Governance",
- "id": "7db3a456-0428-4236-bac9-6bb40495f45a",
+ "id": "4fc1c337-9aa0-4373-b3c2-9220a00fa7fd",
"savedPayload": {
"position": {
- "x": 29354.199394854026,
- "y": 25098.17117003935
+ "x": 29141.983507350436,
+ "y": 25059.86383827364
},
"targetPosition": {
- "x": 29558.2512161853,
- "y": 24878.255608490403
+ "x": 29329.030447908055,
+ "y": 24825.31439353323
},
"floatingObject": {
"isPinned": false,
@@ -1188,15 +1188,15 @@
"name": "Reading the Docs Pool",
"config": "{}",
"project": "Governance",
- "id": "621292e3-1917-413e-8327-3777e77c1fd5",
+ "id": "c6dbe6e9-a907-4ce6-bf31-e8680bc77d65",
"savedPayload": {
"position": {
- "x": 29265.772842530754,
- "y": 24811.499328303507
+ "x": 29032.381200040516,
+ "y": 24780.60171368038
},
"targetPosition": {
- "x": 29558.2512161853,
- "y": 24878.255608490403
+ "x": 29329.030447908055,
+ "y": 24825.31439353323
},
"floatingObject": {
"isPinned": false,
@@ -1218,15 +1218,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "8ea22ba7-0745-4459-a7eb-6446bb64dae2",
+ "id": "13a38528-b019-40e9-a1fd-aeed8f8da1e6",
"savedPayload": {
"position": {
- "x": 29558.2512161853,
- "y": 24878.255608490403
+ "x": 29329.030447908055,
+ "y": 24825.31439353323
},
"targetPosition": {
- "x": 29844.923057921143,
- "y": 24789.82905616713
+ "x": 29608.292572501316,
+ "y": 24715.712086223313
},
"floatingObject": {
"isPinned": false,
@@ -1246,15 +1246,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "cbe7d779-09c1-4ea3-ab72-03c65d69fd3e",
+ "id": "8534e6cc-b38c-4beb-b0d5-56c55415aca2",
"savedPayload": {
"position": {
- "x": 29844.923057921143,
- "y": 24789.82905616713
+ "x": 29608.292572501316,
+ "y": 24715.712086223313
},
"targetPosition": {
- "x": 30048.97487925242,
- "y": 24569.913494618184
+ "x": 29795.339513058934,
+ "y": 24481.162641482904
},
"floatingObject": {
"isPinned": false,
@@ -1281,15 +1281,15 @@
"name": "Management Pool",
"config": "{}",
"project": "Governance",
- "id": "2e7259e0-122f-4482-87a0-e73182ff29e8",
+ "id": "3c0f718d-ffd7-46db-8d9d-e40090e9a7f2",
"savedPayload": {
"position": {
- "x": 29475.631195780734,
- "y": 24746.766599264727
+ "x": 29254.75819231748,
+ "y": 24741.492884953437
},
"targetPosition": {
- "x": 29762.303037516576,
- "y": 24658.340046941456
+ "x": 29525.048852688207,
+ "y": 24611.32776321817
},
"floatingObject": {
"isPinned": false,
@@ -1311,15 +1311,80 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "f7fa794e-2188-40c2-b342-9b1995bbb9dc",
+ "id": "02f2ad1d-17f4-4f4d-9da1-c43025615b4d",
"savedPayload": {
"position": {
- "x": 29762.303037516576,
- "y": 24658.340046941456
+ "x": 29525.048852688207,
+ "y": 24611.32776321817
},
"targetPosition": {
- "x": 30048.97487925242,
- "y": 24569.913494618184
+ "x": 29795.339513058934,
+ "y": 24481.162641482904
+ },
+ "floatingObject": {
+ "isPinned": false,
+ "isFrozen": false,
+ "isCollapsed": false,
+ "angleToParent": 2,
+ "distanceToParent": 3,
+ "arrangementStyle": 0
+ },
+ "uiObject": {
+ "isRunning": false
+ }
+ }
+ },
+ {
+ "type": "Weight Votes Switch",
+ "name": "Features Pool Class",
+ "config": "{}",
+ "project": "Governance",
+ "weightVotesSwitch": [],
+ "poolWeightVotes": [
+ {
+ "type": "Pool Weight Vote",
+ "name": "Features Pool",
+ "config": "{}",
+ "project": "Governance",
+ "id": "5a275935-6d5b-41b0-a49c-2ac5517ec4b7",
+ "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": "Features",
+ "id": "2d34ec1b-e281-4163-a44b-6ac33a54e002"
+ }
+ }
+ }
+ ],
+ "assetWeightVotes": [],
+ "featureWeightVotes": [],
+ "positionWeightVotes": [],
+ "id": "91cc4c4f-9c21-452a-a071-943742002da7",
+ "savedPayload": {
+ "position": {
+ "x": 29495.339513058934,
+ "y": 24481.162641482904
+ },
+ "targetPosition": {
+ "x": 29795.339513058934,
+ "y": 24481.162641482904
},
"floatingObject": {
"isPinned": false,
@@ -1449,7 +1514,43 @@
"name": "New Claims Program",
"config": "{}",
"project": "Governance",
- "assetContributionsFolder": [],
+ "assetContributionsFolder": [
+ {
+ "type": "Asset Contributions Folder",
+ "name": "New Asset Contributions Folder",
+ "config": "{}",
+ "project": "Governance",
+ "assetContributionsFolder": [],
+ "assetContributionClaims": [],
+ "id": "182c7646-a839-4a71-84b7-3bf154b93371",
+ "savedPayload": {
+ "position": {
+ "x": 34902.043252690906,
+ "y": 38030.51256037378
+ },
+ "targetPosition": {
+ "x": 30023.521626345453,
+ "y": 23466.75628018689
+ },
+ "floatingObject": {
+ "isPinned": true,
+ "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"
+ }
+ }
+ }
+ ],
"featureContributionsFolder": [],
"positionContributionsFolder": [],
"id": "796dd30f-c90d-4b8d-a63d-89867347407b",
diff --git a/Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json b/Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json
index 45259400f..c5ae64383 100644
--- a/Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json
+++ b/Projects/Governance/Schemas/App-Schema/asset-contributions-folder.json
@@ -8,6 +8,15 @@
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
+ {
+ "action": "Install Claims",
+ "actionProject": "Governance",
+ "actionFunction": "payload.executeAction",
+ "label": "Install Claims",
+ "relatedUiObject": "Asset Contribution Claim",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Install"
+ },
{
"action": "Add UI Object",
"actionProject": "Foundations",
@@ -44,6 +53,9 @@
"attachingRules": {
"compatibleTypes": "->Claims Program->Asset Contributions Folder->"
},
+ "referencingRules": {
+ "compatibleTypes": "->Asset Class->"
+ },
"propertyNameAtParent": "assetContributionsFolder",
"childrenNodesProperties": [
{
diff --git a/Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json b/Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json
index c68c317a5..c9cd7a8a0 100644
--- a/Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json
+++ b/Projects/Governance/Schemas/App-Schema/feature-contributions-folder.json
@@ -8,6 +8,15 @@
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
+ {
+ "action": "Install Claims",
+ "actionProject": "Governance",
+ "actionFunction": "payload.executeAction",
+ "label": "Install Claims",
+ "relatedUiObject": "Feature Contribution Claim",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Install"
+ },
{
"action": "Add UI Object",
"actionProject": "Foundations",
@@ -44,6 +53,9 @@
"attachingRules": {
"compatibleTypes": "->Claims Program->Feature Contributions Folder->"
},
+ "referencingRules": {
+ "compatibleTypes": "->Feature Class->"
+ },
"propertyNameAtParent": "featureContributionsFolder",
"childrenNodesProperties": [
{
diff --git a/Projects/Governance/Schemas/App-Schema/position-contributions-folder.json b/Projects/Governance/Schemas/App-Schema/position-contributions-folder.json
index 36390af05..8e5366f9b 100644
--- a/Projects/Governance/Schemas/App-Schema/position-contributions-folder.json
+++ b/Projects/Governance/Schemas/App-Schema/position-contributions-folder.json
@@ -8,6 +8,15 @@
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
+ {
+ "action": "Install Claims",
+ "actionProject": "Governance",
+ "actionFunction": "payload.executeAction",
+ "label": "Install Claims",
+ "relatedUiObject": "Position Contribution Claim",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Install"
+ },
{
"action": "Add UI Object",
"actionProject": "Foundations",
@@ -44,6 +53,9 @@
"attachingRules": {
"compatibleTypes": "->Claims Program->Position Contributions Folder->"
},
+ "referencingRules": {
+ "compatibleTypes": "->Position Class->"
+ },
"propertyNameAtParent": "positionContributionsFolder",
"childrenNodesProperties": [
{
diff --git a/Projects/Governance/UI/Function-Libraries/ActionSwitch.js b/Projects/Governance/UI/Function-Libraries/ActionSwitch.js
index 4dd5ba618..be4f0df83 100644
--- a/Projects/Governance/UI/Function-Libraries/ActionSwitch.js
+++ b/Projects/Governance/UI/Function-Libraries/ActionSwitch.js
@@ -28,6 +28,11 @@ function newGovernanceActionSwitch() {
UI.projects.governance.functionLibraries.votes.installVotes(action.node, action.rootNodes)
break
}
+ case 'Install Claims':
+ {
+ UI.projects.governance.functionLibraries.claims.installClaims(action.node, action.rootNodes)
+ break
+ }
case 'Build Profile':
{
UI.projects.governance.functionLibraries.profileConstructor.buildProfile(action.node, action.rootNodes)
diff --git a/Projects/Governance/UI/Function-Libraries/Claims.js b/Projects/Governance/UI/Function-Libraries/Claims.js
index a048f246e..d66953564 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,
+ installClaims: installClaims
}
return thisObject
@@ -48,211 +49,317 @@ 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 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: {
+ 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 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)
+ }
+ }
+
+ 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 installClaims(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 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.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType)
+
+ if (
+ destinationNodeChild.type === 'Asset' ||
+ destinationNodeChild.type === 'Feature' ||
+ destinationNodeChild.type === 'Position'
+ ) {
+ 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.functionLibraries.uiObjectsFromNodes.addUIObject(originNode, originNodeChildType)
+
+ if (
+ destinationNodeChild.type === 'Asset' ||
+ destinationNodeChild.type === 'Feature' ||
+ destinationNodeChild.type === 'Position'
+ ) {
+ 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 Contributions Folder'
+ break
+ }
+ case 'Feature Class': {
+ originNodeType = 'Feature Contributions Folder'
+ break
+ }
+ case 'Position Class': {
+ originNodeType = 'Position Contributions 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