diff --git a/Projects/Governance/Icons/algo-traders-platform.png b/Projects/Governance/Icons/algo-traders-platform.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/algo-traders-platform.png differ diff --git a/Projects/Governance/Icons/p2p-network-node.png b/Projects/Governance/Icons/p2p-network-node.png new file mode 100644 index 000000000..30782f8e3 Binary files /dev/null and b/Projects/Governance/Icons/p2p-network-node.png differ diff --git a/Projects/Governance/Icons/social-trading-desktop-app.png b/Projects/Governance/Icons/social-trading-desktop-app.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/social-trading-desktop-app.png differ diff --git a/Projects/Governance/Icons/social-trading-mobile-app.png b/Projects/Governance/Icons/social-trading-mobile-app.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/social-trading-mobile-app.png differ diff --git a/Projects/Governance/Icons/social-trading-server-app.png b/Projects/Governance/Icons/social-trading-server-app.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/social-trading-server-app.png differ diff --git a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json index 3ab0494ad..0e403516c 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -1,7 +1,7 @@ { "type": "User Profile", "name": "Luis-Fernando-Molina", - "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0x8645be85fd4b053c9102194be4d007b79d971ca27acd38a7f6abe2588cb2b1a3\",\n \"s\": \"0x55c5bff8b6d0a038ef53287fb5feffca4eb7002f521472091a0a0014dea4d23e\",\n \"signature\": \"0x8645be85fd4b053c9102194be4d007b79d971ca27acd38a7f6abe2588cb2b1a355c5bff8b6d0a038ef53287fb5feffca4eb7002f521472091a0a0014dea4d23e1c\"\n },\n \"codeName\": \"Luis-Fernando-Molina\"\n}", + "config": "{\"signature\":{\"message\":\"Luis-Fernando-Molina\",\"messageHash\":\"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\"v\":\"0x1c\",\"r\":\"0x8645be85fd4b053c9102194be4d007b79d971ca27acd38a7f6abe2588cb2b1a3\",\"s\":\"0x55c5bff8b6d0a038ef53287fb5feffca4eb7002f521472091a0a0014dea4d23e\",\"signature\":\"0x8645be85fd4b053c9102194be4d007b79d971ca27acd38a7f6abe2588cb2b1a355c5bff8b6d0a038ef53287fb5feffca4eb7002f521472091a0a0014dea4d23e1c\"},\"codeName\":\"Luis-Fernando-Molina\"}", "project": "Governance", "tokenPowerSwitch": { "type": "Token Power Switch", @@ -127,12 +127,12 @@ "id": "f4d39b02-4324-438d-9f74-2bea2b7272ef", "savedPayload": { "position": { - "x": 10503.335575687743, - "y": 23997.294901687517 + "x": 10476.335575687743, + "y": 24007.294901687517 }, "targetPosition": { - "x": 10327, - "y": 24240 + "x": 10300, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -516,12 +516,12 @@ "id": "b6e3c87d-a11b-4b2a-b6a6-edc96375f5da", "savedPayload": { "position": { - "x": 10612.316954888545, - "y": 24147.294901687517 + "x": 10585.316954888545, + "y": 24157.294901687517 }, "targetPosition": { - "x": 10327, - "y": 24240 + "x": 10300, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -12448,12 +12448,12 @@ "id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf", "savedPayload": { "position": { - "x": 10612.316954888545, - "y": 24332.705098312483 + "x": 10585.316954888545, + "y": 24342.705098312483 }, "targetPosition": { - "x": 10327, - "y": 24240 + "x": 10300, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -12508,12 +12508,12 @@ "id": "b046f4e4-40b1-4e47-8fed-75a6a5c6029d", "savedPayload": { "position": { - "x": 10777.399212980523, - "y": 24604.72609123522 + "x": 10750.399212980523, + "y": 24614.72609123522 }, "targetPosition": { - "x": 10503.335575687743, - "y": 24482.705098312483 + "x": 10476.335575687743, + "y": 24492.705098312483 }, "floatingObject": { "isPinned": false, @@ -13007,12 +13007,12 @@ "id": "681ff42a-d5af-4fed-971e-935398dac2aa", "savedPayload": { "position": { - "x": 10767.83790310513, - "y": 24969.857784237916 + "x": 10740.83790310513, + "y": 24979.857784237916 }, "targetPosition": { - "x": 10534.694114668038, - "y": 24781.061666922964 + "x": 10507.694114668038, + "y": 24791.061666922964 }, "floatingObject": { "isPinned": false, @@ -13042,12 +13042,12 @@ "id": "ff3bc7ad-6051-4246-99fa-1210a3378a29", "savedPayload": { "position": { - "x": 10597.41119262863, - "y": 25377.774804143926 + "x": 10570.41119262863, + "y": 25387.774804143926 }, "targetPosition": { - "x": 10566.052653648334, - "y": 25079.418235533445 + "x": 10539.052653648334, + "y": 25089.418235533445 }, "floatingObject": { "isPinned": false, @@ -13066,12 +13066,12 @@ "id": "7f642170-d60b-41bc-85ae-dc64fbfc8b4c", "savedPayload": { "position": { - "x": 10566.052653648334, - "y": 25079.418235533445 + "x": 10539.052653648334, + "y": 25089.418235533445 }, "targetPosition": { - "x": 10534.694114668038, - "y": 24781.061666922964 + "x": 10507.694114668038, + "y": 24791.061666922964 }, "floatingObject": { "isPinned": false, @@ -13094,12 +13094,12 @@ "id": "e4be3ce4-3569-4d97-8d54-95bb4cfcb0c5", "savedPayload": { "position": { - "x": 10345.897997353088, - "y": 25014.205455360054 + "x": 10318.897997353088, + "y": 25024.205455360054 }, "targetPosition": { - "x": 10534.694114668038, - "y": 24781.061666922964 + "x": 10507.694114668038, + "y": 24791.061666922964 }, "floatingObject": { "isPinned": false, @@ -13117,12 +13117,12 @@ "id": "3ff7f410-911d-4cb8-9094-d816dee4dccb", "savedPayload": { "position": { - "x": 10534.694114668038, - "y": 24781.061666922964 + "x": 10507.694114668038, + "y": 24791.061666922964 }, "targetPosition": { - "x": 10503.335575687743, - "y": 24482.705098312483 + "x": 10476.335575687743, + "y": 24492.705098312483 }, "floatingObject": { "isPinned": false, @@ -13140,12 +13140,12 @@ "id": "4f35322c-3e7d-49f8-9706-10bf71f0d420", "savedPayload": { "position": { - "x": 10503.335575687743, - "y": 24482.705098312483 + "x": 10476.335575687743, + "y": 24492.705098312483 }, "targetPosition": { - "x": 10327, - "y": 24240 + "x": 10300, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -13163,12 +13163,12 @@ "id": "f8182a9c-f830-4ec1-a238-ac3a5efd69e6", "savedPayload": { "position": { - "x": 10327, - "y": 24240 + "x": 10300, + "y": 24250 }, "targetPosition": { - "x": 10027, - "y": 24240 + "x": 10000, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -13190,12 +13190,12 @@ "id": "9870ca2a-cefc-484b-b7fc-206d62782ebc", "savedPayload": { "position": { - "x": 9877, - "y": 24499.807621135333 + "x": 9850, + "y": 24509.807621135333 }, "targetPosition": { - "x": 10027, - "y": 24240 + "x": 10000, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -13217,18 +13217,46 @@ "signingAccounts": [ { "type": "Signing Account", - "name": "Social Trading Desktop", + "name": "My Signing Account", "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0x44cba4eeebb7f8bfb0d9fedb8b3c5c34ecd75b69969766435ae641547a8158c4\",\n \"s\": \"0x144b9076038085fa5fa51c381e76377cd2bcc87c835698eeb5195cceefb63ead\",\n \"signature\": \"0x44cba4eeebb7f8bfb0d9fedb8b3c5c34ecd75b69969766435ae641547a8158c4144b9076038085fa5fa51c381e76377cd2bcc87c835698eeb5195cceefb63ead1c\"\n }\n}", "project": "Governance", + "assignedTo": { + "type": "Social Trading Desktop App", + "name": "New Social Trading Desktop App", + "config": "{}", + "project": "Governance", + "id": "bde87a47-5f7b-40a6-82e9-d4ba528d7894", + "savedPayload": { + "position": { + "x": 9250, + "y": 23990.192378864667 + }, + "targetPosition": { + "x": 9550, + "y": 23990.192378864667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, "id": "30858b11-5b8d-46c6-97f8-765e3676fc2f", "savedPayload": { "position": { - "x": 9577, - "y": 23980.192378864667 + "x": 9550, + "y": 23990.192378864667 }, "targetPosition": { - "x": 9877, - "y": 23980.192378864667 + "x": 9850, + "y": 23990.192378864667 }, "floatingObject": { "isPinned": false, @@ -13245,18 +13273,46 @@ }, { "type": "Signing Account", - "name": "Social Trading Server", + "name": "My Signing Account", "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1b\",\n \"r\": \"0xc56bbcd7a99f47e20c5d83b1d4c102e1c7a223267b76f53200ff87fea7964e95\",\n \"s\": \"0x3e730a7d40a13199ef59f7a2a06a9d43da8f918e37afd6f706eceaea1fa8ed2d\",\n \"signature\": \"0xc56bbcd7a99f47e20c5d83b1d4c102e1c7a223267b76f53200ff87fea7964e953e730a7d40a13199ef59f7a2a06a9d43da8f918e37afd6f706eceaea1fa8ed2d1b\"\n }\n}", "project": "Governance", + "assignedTo": { + "type": "Social Trading Server App", + "name": "New Social Trading Server App", + "config": "{}", + "project": "Governance", + "id": "ba500984-3766-4a95-85ca-67194bf52052", + "savedPayload": { + "position": { + "x": 9330.384757729338, + "y": 23690.192378864667 + }, + "targetPosition": { + "x": 9590.192378864669, + "y": 23840.192378864667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, "id": "beff2691-f55f-401c-87a7-f6f7e59ebfb0", "savedPayload": { "position": { - "x": 9617.192378864669, - "y": 23830.192378864667 + "x": 9590.192378864669, + "y": 23840.192378864667 }, "targetPosition": { - "x": 9877, - "y": 23980.192378864667 + "x": 9850, + "y": 23990.192378864667 }, "floatingObject": { "isPinned": false, @@ -13273,18 +13329,46 @@ }, { "type": "Signing Account", - "name": "Social Trading Mobile", + "name": "My Signing Account", "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0x502693fda93e9331e1eb1f5f6bd2896f6175d86816d11437ab8f4c51bdb95c5c\",\n \"s\": \"0x3c901bdb9f56f97cf558159c0f57c94dcade020a992be74a955a2cddf88047e1\",\n \"signature\": \"0x502693fda93e9331e1eb1f5f6bd2896f6175d86816d11437ab8f4c51bdb95c5c3c901bdb9f56f97cf558159c0f57c94dcade020a992be74a955a2cddf88047e11c\"\n }\n}", "project": "Governance", + "assignedTo": { + "type": "Social Trading Mobile App", + "name": "New Social Trading Mobile App", + "config": "{}", + "project": "Governance", + "id": "8cb693fc-84a0-48d7-b7d7-a88463b34cd5", + "savedPayload": { + "position": { + "x": 9550, + "y": 23470.577136594 + }, + "targetPosition": { + "x": 9700, + "y": 23730.384757729335 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, "id": "5828093e-65e1-4b18-9cbc-9ff33c98acc1", "savedPayload": { "position": { - "x": 9727, - "y": 23720.384757729335 + "x": 9700, + "y": 23730.384757729335 }, "targetPosition": { - "x": 9877, - "y": 23980.192378864667 + "x": 9850, + "y": 23990.192378864667 }, "floatingObject": { "isPinned": false, @@ -13301,18 +13385,46 @@ }, { "type": "Signing Account", - "name": "Social Trading Platform", + "name": "My Signing Account", "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0x363cd2c23617b65f0314a6b1b34c515e0fed9b2da62d53f2cf2609c1bc25e7fb\",\n \"s\": \"0x5e72414fcfe8a1308d7d82f275b3922cfe738374ed74e67086c59cfe7b6c0a24\",\n \"signature\": \"0x363cd2c23617b65f0314a6b1b34c515e0fed9b2da62d53f2cf2609c1bc25e7fb5e72414fcfe8a1308d7d82f275b3922cfe738374ed74e67086c59cfe7b6c0a241c\"\n }\n}", "project": "Governance", + "assignedTo": { + "type": "Algo Traders Platform", + "name": "New Algo Traders Platform", + "config": "{}", + "project": "Governance", + "id": "27f30390-6f86-4c25-bdc2-7680567a1b4a", + "savedPayload": { + "position": { + "x": 9850, + "y": 23390.192378864667 + }, + "targetPosition": { + "x": 9850, + "y": 23690.192378864667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, "id": "fa5647f8-42bc-4d7b-8137-401ac8b5433c", "savedPayload": { "position": { - "x": 9877, - "y": 23680.192378864667 + "x": 9850, + "y": 23690.192378864667 }, "targetPosition": { - "x": 9877, - "y": 23980.192378864667 + "x": 9850, + "y": 23990.192378864667 }, "floatingObject": { "isPinned": false, @@ -13329,18 +13441,46 @@ }, { "type": "Signing Account", - "name": "P2P Network Node", + "name": "My Signing Account", "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1b\",\n \"r\": \"0x1df7b43b26e14a886b0702f3a43bfa7e078a3603a54d5befeb83ae451e423267\",\n \"s\": \"0x19cb2e7ba38cf49e5baa6ea20cbf895e86c9e010217a3f42e4df46b7b4e0bf36\",\n \"signature\": \"0x1df7b43b26e14a886b0702f3a43bfa7e078a3603a54d5befeb83ae451e42326719cb2e7ba38cf49e5baa6ea20cbf895e86c9e010217a3f42e4df46b7b4e0bf361b\"\n }\n}", "project": "Governance", + "assignedTo": { + "type": "P2P Network Node", + "name": "New P2P Network Node", + "config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}", + "project": "Governance", + "id": "10a196ef-b6ba-4edb-b33f-3604de5a3cd0", + "savedPayload": { + "position": { + "x": 10150, + "y": 23470.577136594 + }, + "targetPosition": { + "x": 10000, + "y": 23730.384757729335 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, "id": "e7066d66-9e36-4f38-963e-76b915b38c43", "savedPayload": { "position": { - "x": 10027, - "y": 23720.384757729335 + "x": 10000, + "y": 23730.384757729335 }, "targetPosition": { - "x": 9877, - "y": 23980.192378864667 + "x": 9850, + "y": 23990.192378864667 }, "floatingObject": { "isPinned": false, @@ -13359,12 +13499,12 @@ "id": "1aae1fa4-e5cf-48de-a25e-20001523da70", "savedPayload": { "position": { - "x": 9877, - "y": 23980.192378864667 + "x": 9850, + "y": 23990.192378864667 }, "targetPosition": { - "x": 10027, - "y": 24240 + "x": 10000, + "y": 24250 }, "floatingObject": { "isPinned": false, @@ -13382,17 +13522,17 @@ "id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db", "savedPayload": { "position": { - "x": 10027, - "y": 24240 + "x": 10000, + "y": 24250 }, "targetPosition": { - "x": 10027, - "y": 24240 + "x": 10000, + "y": 24250 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/Plugins/User-Profiles/Test-Network-Client-Profile.json b/Projects/Governance/Plugins/User-Profiles/Test-Network-Client-Profile.json index bbd0152d0..095621cc9 100644 --- a/Projects/Governance/Plugins/User-Profiles/Test-Network-Client-Profile.json +++ b/Projects/Governance/Plugins/User-Profiles/Test-Network-Client-Profile.json @@ -62,12 +62,12 @@ "id": "baa2f02c-2920-4edb-a103-d452fc61d82f", "savedPayload": { "position": { - "x": 30000, - "y": 18250 + "x": 40000, + "y": 21250 }, "targetPosition": { - "x": 30000, - "y": 18250 + "x": 40000, + "y": 21250 }, "floatingObject": { "isPinned": false, diff --git a/Projects/Governance/Plugins/User-Profiles/Test-Network-Node-Profile.json b/Projects/Governance/Plugins/User-Profiles/Test-Network-Node-Profile.json index 03377a20e..465460e28 100644 --- a/Projects/Governance/Plugins/User-Profiles/Test-Network-Node-Profile.json +++ b/Projects/Governance/Plugins/User-Profiles/Test-Network-Node-Profile.json @@ -62,12 +62,12 @@ "id": "36c2b050-631f-4291-987c-418adc94317d", "savedPayload": { "position": { - "x": 40000, - "y": 21250 + "x": 30000, + "y": 18250 }, "targetPosition": { - "x": 40000, - "y": 21250 + "x": 30000, + "y": 18250 }, "floatingObject": { "isPinned": false, diff --git a/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json b/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json new file mode 100644 index 000000000..1b6247874 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json @@ -0,0 +1,38 @@ +{ + "type": "Algo Traders Platform", + "menuItems": [ + { + "action": "Configure", + "actionProject": "Foundations", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "actionProject": "Foundations", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{}" + }, + "addLeftIcons": true, + "level": 1, + "attachingRules": { + "compatibleTypes": "->Signing Account->" + }, + "childrenNodesProperties": [ + ], + "propertyNameAtParent": "assignedTo" +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/p2p-network-node.json b/Projects/Governance/Schemas/App-Schema/p2p-network-node.json new file mode 100644 index 000000000..7abea50c5 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/p2p-network-node.json @@ -0,0 +1,38 @@ +{ + "type": "P2P Network Node", + "menuItems": [ + { + "action": "Configure", + "actionProject": "Foundations", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "actionProject": "Foundations", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}" + }, + "addLeftIcons": true, + "level": 1, + "attachingRules": { + "compatibleTypes": "->Signing Account->" + }, + "childrenNodesProperties": [ + ], + "propertyNameAtParent": "assignedTo" +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/signing-account.json b/Projects/Governance/Schemas/App-Schema/signing-account.json index 3b73941f1..31ea5797c 100644 --- a/Projects/Governance/Schemas/App-Schema/signing-account.json +++ b/Projects/Governance/Schemas/App-Schema/signing-account.json @@ -9,6 +9,51 @@ "iconPathOn": "configuration", "iconPathOff": "configuration" }, + { + "action": "Add UI Object", + "actionProject": "Foundations", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "assignedTo", + "label": "Add P2P Network Node", + "relatedUiObject": "P2P Network Node", + "actionFunction": "payload.executeAction" + }, + { + "action": "Add UI Object", + "actionProject": "Foundations", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "assignedTo", + "label": "Add Algo Traders Platform", + "relatedUiObject": "Algo Traders Platform", + "actionFunction": "payload.executeAction" + }, + { + "action": "Add UI Object", + "actionProject": "Foundations", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "assignedTo", + "label": "Add Social Trading Mobile App", + "relatedUiObject": "Social Trading Mobile App", + "actionFunction": "payload.executeAction" + }, + { + "action": "Add UI Object", + "actionProject": "Foundations", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "assignedTo", + "label": "Add Social Trading Desktop App", + "relatedUiObject": "Social Trading Desktop App", + "actionFunction": "payload.executeAction" + }, + { + "action": "Add UI Object", + "actionProject": "Foundations", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "assignedTo", + "label": "Add Social Trading Server App", + "relatedUiObject": "Social Trading Server App", + "actionFunction": "payload.executeAction" + }, { "action": "Delete UI Object", "actionProject": "Foundations", @@ -31,5 +76,37 @@ "initialValues": { "config": "{}" }, - "propertyNameAtParent": "signingAccounts" + "propertyNameAtParent": "signingAccounts", + "childrenNodesProperties": [ + { + "name": "assignedTo", + "type": "node", + "childType": "P2P Network Node", + "autoAdd": false + }, + { + "name": "assignedTo", + "type": "node", + "childType": "Algo Traders Platform", + "autoAdd": false + }, + { + "name": "assignedTo", + "type": "node", + "childType": "Social Trading Mobile App", + "autoAdd": false + }, + { + "name": "assignedTo", + "type": "node", + "childType": "Social Trading Desktop App", + "autoAdd": false + }, + { + "name": "assignedTo", + "type": "node", + "childType": "Social Trading Server App", + "autoAdd": false + } + ] } \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json b/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json new file mode 100644 index 000000000..71e8844c5 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json @@ -0,0 +1,38 @@ +{ + "type": "Social Trading Desktop App", + "menuItems": [ + { + "action": "Configure", + "actionProject": "Foundations", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "actionProject": "Foundations", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{}" + }, + "addLeftIcons": true, + "level": 1, + "attachingRules": { + "compatibleTypes": "->Signing Account->" + }, + "childrenNodesProperties": [ + ], + "propertyNameAtParent": "assignedTo" +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/social-trading-mobile-app.json b/Projects/Governance/Schemas/App-Schema/social-trading-mobile-app.json new file mode 100644 index 000000000..326622975 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/social-trading-mobile-app.json @@ -0,0 +1,38 @@ +{ + "type": "Social Trading Mobile App", + "menuItems": [ + { + "action": "Configure", + "actionProject": "Foundations", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "actionProject": "Foundations", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{}" + }, + "addLeftIcons": true, + "level": 1, + "attachingRules": { + "compatibleTypes": "->Signing Account->" + }, + "childrenNodesProperties": [ + ], + "propertyNameAtParent": "assignedTo" +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/social-trading-server-app.json b/Projects/Governance/Schemas/App-Schema/social-trading-server-app.json new file mode 100644 index 000000000..cce54e224 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/social-trading-server-app.json @@ -0,0 +1,38 @@ +{ + "type": "Social Trading Server App", + "menuItems": [ + { + "action": "Configure", + "actionProject": "Foundations", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "actionProject": "Foundations", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{}" + }, + "addLeftIcons": true, + "level": 1, + "attachingRules": { + "compatibleTypes": "->Signing Account->" + }, + "childrenNodesProperties": [ + ], + "propertyNameAtParent": "assignedTo" +} \ No newline at end of file diff --git a/Projects/Governance/UI/Function-Libraries/DelegationProgram.js b/Projects/Governance/UI/Function-Libraries/DelegationProgram.js index b429ed4a0..f75f27668 100644 --- a/Projects/Governance/UI/Function-Libraries/DelegationProgram.js +++ b/Projects/Governance/UI/Function-Libraries/DelegationProgram.js @@ -2,7 +2,7 @@ function newGovernanceFunctionLibraryDelegationProgram() { let thisObject = { calculate: calculate } - const MAX_GENERATIONS = 10 + const MAX_GENERATIONS = 3 return thisObject diff --git a/Projects/Governance/UI/Function-Libraries/DistributionProcess.js b/Projects/Governance/UI/Function-Libraries/DistributionProcess.js index 83cd58168..d880e271d 100644 --- a/Projects/Governance/UI/Function-Libraries/DistributionProcess.js +++ b/Projects/Governance/UI/Function-Libraries/DistributionProcess.js @@ -1,10 +1,24 @@ function newGovernanceFunctionLibraryDistributionProcess() { let thisObject = { - calculate: calculate + calculate: calculate, + finalize: finalize, + initialize: initialize } + const DISTRIBUTION_PROCESS_RECALCULATION_DELAY = 5000 + let loop + return thisObject + function initialize() { + loop = true + calculate() + } + + function finalize() { + loop = false + } + function calculate() { let pools = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('Pools') @@ -125,5 +139,9 @@ function newGovernanceFunctionLibraryDistributionProcess() { UI.projects.governance.functionLibraries.tokenMining.calculate( userProfiles ) + + if (loop === true) { + setTimeout(calculate, DISTRIBUTION_PROCESS_RECALCULATION_DELAY) + } } } \ No newline at end of file diff --git a/Projects/Governance/UI/Function-Libraries/VotingProgram.js b/Projects/Governance/UI/Function-Libraries/VotingProgram.js index 7b1b6aca3..596ae1971 100644 --- a/Projects/Governance/UI/Function-Libraries/VotingProgram.js +++ b/Projects/Governance/UI/Function-Libraries/VotingProgram.js @@ -3,7 +3,7 @@ function newGovernanceFunctionLibraryVotingProgram() { calculate: calculate, installMissingVotes: installMissingVotes } - const MAX_GENERATIONS = 10 + const MAX_GENERATIONS = 3 return thisObject diff --git a/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js b/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js index af136f4fe..5c0e688b7 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js @@ -125,8 +125,8 @@ function newGobernanceReportsSpace() { /* If the workspace is not related to governance, then we exit the Intialize Function */ - let resultsArary = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('User Profile') - if (resultsArary.length === 0) { return } + let governanceProject = UI.projects.foundations.spaces.designSpace.workspace.getProjectHeadByNodeType('Governance Project') + if (governanceProject === undefined) { return } thisObject.container = newContainer() thisObject.container.name = MODULE_NAME diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index d38898d0e..296f32f61 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -16,8 +16,6 @@ function newGovernanceUserProfileSpace() { let waitingForResponses = 0 const BSC_SCAN_RATE_LIMIT_DELAY = 6000 - const DISTRIBUTION_PROCESS_RECALCULATION_DELAY = 5000 - let intervalId let reputationByAddress = new Map() return thisObject @@ -31,8 +29,7 @@ function newGovernanceUserProfileSpace() { /* Here we will run the distribution process, that in turn will run all the programs. */ - intervalId = setInterval(UI.projects.governance.functionLibraries.distributionProcess.calculate, DISTRIBUTION_PROCESS_RECALCULATION_DELAY) - + UI.projects.governance.functionLibraries.distributionProcess.initialize() /* Here we will get a list of all github usernames who have a star or fork and are watching the Superalgos Repository. This will later be used to know which user profiles are participating @@ -301,15 +298,17 @@ function newGovernanceUserProfileSpace() { } function finalize() { - clearInterval(intervalId) - intervalId = undefined + + UI.projects.governance.functionLibraries.distributionProcess.finalize() thisObject.githubStars = undefined thisObject.githubWatchers = undefined thisObject.githubForks = undefined - thisObject.container.finalize() - thisObject.container = undefined + if (thisObject.container !== undefined) { + thisObject.container.finalize() + thisObject.container = undefined + } } function reset() { @@ -330,6 +329,7 @@ function newGovernanceUserProfileSpace() { } function physics() { + if (UI.projects.foundations.spaces.designSpace.workspace === undefined) { return } /* If the workspace is not related to governance, then we exit the Intialize Function diff --git a/Projects/Governance/UI/Utilities/DecendentProgram.js b/Projects/Governance/UI/Utilities/DecendentProgram.js index 3f604e612..446c5069f 100644 --- a/Projects/Governance/UI/Utilities/DecendentProgram.js +++ b/Projects/Governance/UI/Utilities/DecendentProgram.js @@ -7,7 +7,7 @@ function newGovernanceUtilitiesDecendentProgram() { let thisObject = { run: run } - const MAX_GENERATIONS = 10 + const MAX_GENERATIONS = 3 return thisObject