From 5c9597950bc449f99506232c333bd70c458d0b5e Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 22 Oct 2021 10:46:20 +0200 Subject: [PATCH 01/15] Web Socket Clients Refactoring --- Desktop/DesktopApp.js | 2 +- Desktop/UI/WebApp.js | 10 +++++----- ...{WebSocketsClient.js => WebSocketsAppClient.js} | 3 +-- Projects/ProjectsSchema.json | 14 +++++++------- ...{WebSocketsClient.js => WebSocketsWebClient.js} | 2 +- 5 files changed, 15 insertions(+), 16 deletions(-) rename Projects/Network/SA/Modules/{WebSocketsClient.js => WebSocketsAppClient.js} (99%) rename Projects/Social-Trading/UI/modules/{WebSocketsClient.js => WebSocketsWebClient.js} (98%) diff --git a/Desktop/DesktopApp.js b/Desktop/DesktopApp.js index 4235ab1b5..3a24eb71b 100644 --- a/Desktop/DesktopApp.js +++ b/Desktop/DesktopApp.js @@ -19,7 +19,7 @@ exports.newDesktopApp = function newDesktopApp() { /* This is the Web Sockets client that interacts with the Superalgos Network. */ - DK.running.webSocketsClient = SA.projects.network.modules.webSocketsClient.newNetworkModulesWebSocketsClient() + DK.running.webSocketsClient = SA.projects.network.modules.webSocketsAppClient.newNetworkModulesWebSocketsAppClient() await DK.running.webSocketsClient.initialize() console.log('Desktop Client Connected to Network Node via Web Sockets ................... Connected to port ' + global.env.NETWORK_WEB_SOCKETS_INTERFACE_PORT) diff --git a/Desktop/UI/WebApp.js b/Desktop/UI/WebApp.js index 6675b0ba4..c219e51ef 100644 --- a/Desktop/UI/WebApp.js +++ b/Desktop/UI/WebApp.js @@ -19,7 +19,7 @@ function newWebApp() { try { setupRootObject(UI, 'UI') setupRootObject(SA, 'SA') - await UI.projects.socialTrading.modules.webSocketsClient.initialize() + await UI.projects.socialTrading.modules.webSocketsWebClient.initialize() loadWUserProfileTimeline() loadWhoToFollow() setupEventHandlers() @@ -113,7 +113,7 @@ function newWebApp() { queryMessage: JSON.stringify(queryMessage) } - await UI.projects.socialTrading.modules.webSocketsClient.sendMessage( + await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage( JSON.stringify(query) ) .then(addToContentDiv) @@ -183,7 +183,7 @@ function newWebApp() { queryMessage: JSON.stringify(queryMessage) } - await UI.projects.socialTrading.modules.webSocketsClient.sendMessage( + await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage( JSON.stringify(query) ) .then(addWhoToFollowTable) @@ -360,7 +360,7 @@ function newWebApp() { eventMessage: JSON.stringify(eventMessage) } - await UI.projects.socialTrading.modules.webSocketsClient.sendMessage( + await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage( JSON.stringify(event) ) .then(resolve) @@ -396,7 +396,7 @@ function newWebApp() { eventMessage: JSON.stringify(eventMessage) } - await UI.projects.socialTrading.modules.webSocketsClient.sendMessage( + await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage( JSON.stringify(event) ) .then(resolve) diff --git a/Projects/Network/SA/Modules/WebSocketsClient.js b/Projects/Network/SA/Modules/WebSocketsAppClient.js similarity index 99% rename from Projects/Network/SA/Modules/WebSocketsClient.js rename to Projects/Network/SA/Modules/WebSocketsAppClient.js index 3518d86fd..18572b7c7 100644 --- a/Projects/Network/SA/Modules/WebSocketsClient.js +++ b/Projects/Network/SA/Modules/WebSocketsAppClient.js @@ -1,4 +1,4 @@ -exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSocketsClient() { +exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSocketsAppClient() { let thisObject = { sendMessage: sendMessage, @@ -30,7 +30,6 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets /* Here we will pick a Network Node from all users profiles available that do have a Network Node running. // TODO In the meantime, we will assume that we have chosen the following Network Node to connect to. - */ web3 = new SA.nodeModules.web3() diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index c1d5710cf..238586f44 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -1365,10 +1365,10 @@ "globals": [], "modules": [ { - "name": "Web Sockets Client", - "propertyName": "webSocketsClient", - "functionName": "newNetworkModulesWebSocketsClient", - "fileName": "WebSocketsClient.js" + "name": "Web Sockets App Client", + "propertyName": "webSocketsAppClient", + "functionName": "newNetworkModulesWebSocketsAppClient", + "fileName": "WebSocketsAppClient.js" } ], "utilities": [] @@ -1567,9 +1567,9 @@ "modules": [ { "name": "Web Sockets Client", - "propertyName": "webSocketsClient", - "functionName": "newSocialTradingModulesWebSocketsClient", - "fileName": "WebSocketsClient.js" + "propertyName": "webSocketsWebClient", + "functionName": "newSocialTradingModulesWebSocketsWebClient", + "fileName": "WebSocketsWebClient.js" } ] } diff --git a/Projects/Social-Trading/UI/modules/WebSocketsClient.js b/Projects/Social-Trading/UI/modules/WebSocketsWebClient.js similarity index 98% rename from Projects/Social-Trading/UI/modules/WebSocketsClient.js rename to Projects/Social-Trading/UI/modules/WebSocketsWebClient.js index 64d5a37d3..0fb4e3d68 100644 --- a/Projects/Social-Trading/UI/modules/WebSocketsClient.js +++ b/Projects/Social-Trading/UI/modules/WebSocketsWebClient.js @@ -1,4 +1,4 @@ -function newSocialTradingModulesWebSocketsClient() { +function newSocialTradingModulesWebSocketsWebClient() { let thisObject = { sendMessage: sendMessage, From 1326aed521d8b10e71bbdce406581c92670132e9 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 22 Oct 2021 13:45:33 +0200 Subject: [PATCH 02/15] Signing Account Feature Improved --- .../Plugins/Positions/Superalgos.json | 238 ++-- .../User-Profiles/Luis-Fernando-Molina.json | 1060 +++++++++-------- .../App-Schema/algo-traders-platform.json | 2 +- .../Schemas/App-Schema/p2p-network-node.json | 4 +- .../App-Schema/profile-constructor.json | 48 +- .../Schemas/App-Schema/signing-account.json | 60 +- .../social-trading-desktop-app.json | 2 +- .../App-Schema/social-trading-mobile-app.json | 2 +- .../App-Schema/social-trading-server-app.json | 2 +- .../UI/Function-Libraries/ActionSwitch.js | 26 +- .../Function-Libraries/ProfileConstructor.js | 51 +- .../NT/Modules/WebSocketsNetworkClient.js | 269 +++++ Projects/ProjectsSchema.json | 6 + 13 files changed, 1049 insertions(+), 721 deletions(-) create mode 100644 Projects/Network/NT/Modules/WebSocketsNetworkClient.js diff --git a/Projects/Governance/Plugins/Positions/Superalgos.json b/Projects/Governance/Plugins/Positions/Superalgos.json index 09f4a02a8..2f0f9f7f0 100644 --- a/Projects/Governance/Plugins/Positions/Superalgos.json +++ b/Projects/Governance/Plugins/Positions/Superalgos.json @@ -126,12 +126,12 @@ "id": "68dd2990-457e-48df-b752-6e1fd02081a3", "savedPayload": { "position": { - "x": 21874.39317393575, - "y": 44873.02143806756 + "x": 21287.42951326449, + "y": 44555.94024882619 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -247,12 +247,12 @@ "id": "21bdec2e-d471-4b64-a3e0-6e2b31c5adcc", "savedPayload": { "position": { - "x": 21989.756643291705, - "y": 44892.844507611066 + "x": 21348.029296389053, + "y": 44455.79360418333 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -368,12 +368,12 @@ "id": "ffe4621a-a216-412f-a9be-354f30f6d102", "savedPayload": { "position": { - "x": 22088.752631136238, - "y": 44955.30632425654 + "x": 21442.34065740424, + "y": 44386.46070195479 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -489,12 +489,12 @@ "id": "96e5c443-f932-47e4-9e5d-48e986dcc637", "savedPayload": { "position": { - "x": 22156.309895720893, - "y": 45050.89764263749 + "x": 21556.0055465301, + "y": 44358.496848000555 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -610,12 +610,12 @@ "id": "a0f8d421-8864-44ac-8922-5d13176abb54", "savedPayload": { "position": { - "x": 22182.14345592078, - "y": 45165.06555106787 + "x": 21671.719514772012, + "y": 44376.159285592184 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -731,12 +731,12 @@ "id": "39e7f6fd-1faa-47e9-862d-45a8482a558a", "savedPayload": { "position": { - "x": 22162.320386377272, - "y": 45280.42902042382 + "x": 21771.866159414876, + "y": 44436.75906871675 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -852,12 +852,12 @@ "id": "0a5a7864-efff-4715-a435-f4bf35d1517e", "savedPayload": { "position": { - "x": 22099.858569731798, - "y": 45379.42500826836 + "x": 21841.199061643412, + "y": 44531.07042973194 }, "targetPosition": { - "x": 21882.246258428113, - "y": 45172.91863556023 + "x": 21569.464995635255, + "y": 44658.19476796295 }, "floatingObject": { "isPinned": false, @@ -1004,12 +1004,12 @@ "id": "0e8d603c-081f-4510-917c-34cf9a6ceb4b", "savedPayload": { "position": { - "x": 22153.2280717391, - "y": 45193.92142522379 + "x": 21688.016714441055, + "y": 44413.61809228199 }, "targetPosition": { - "x": 21901.626901355474, - "y": 45357.3131357283 + "x": 21748.193539176038, + "y": 44707.52071180896 }, "floatingObject": { "isPinned": false, @@ -1125,12 +1125,12 @@ "id": "fe061f32-f818-4823-8935-e8abf25d1b59", "savedPayload": { "position": { - "x": 22195.071181575615, - "y": 45419.686642973626 + "x": 21913.462633611667, + "y": 44457.14873569257 }, "targetPosition": { - "x": 21901.626901355474, - "y": 45357.3131357283 + "x": 21748.193539176038, + "y": 44707.52071180896 }, "floatingObject": { "isPinned": false, @@ -1246,12 +1246,12 @@ "id": "24ee5cf0-650a-4bd7-8d8c-904264e54b02", "savedPayload": { "position": { - "x": 22065.01861185998, - "y": 45608.914306111925 + "x": 22042.096158703007, + "y": 44647.34388707398 }, "targetPosition": { - "x": 21901.626901355474, - "y": 45357.3131357283 + "x": 21748.193539176038, + "y": 44707.52071180896 }, "floatingObject": { "isPinned": false, @@ -1398,12 +1398,12 @@ "id": "eb50e1af-b356-419a-a848-43e3fa43bfa8", "savedPayload": { "position": { - "x": 22009.66098495065, - "y": 45740.826523769414 + "x": 22144.66536712425, + "y": 44747.06779347655 }, "targetPosition": { - "x": 21808.92180304299, - "y": 45517.88307612619 + "x": 21863.79490593233, + "y": 44852.48024070095 }, "floatingObject": { "isPinned": false, @@ -1550,12 +1550,12 @@ "id": "2242950f-bf22-4843-a8ea-e8d61339c362", "savedPayload": { "position": { - "x": 21815.876735803373, - "y": 45836.00129540594 + "x": 22180.602827038594, + "y": 45085.602082425416 }, "targetPosition": { - "x": 21639.54116011563, - "y": 45593.296197093456 + "x": 21882.246258428113, + "y": 45116.96062140571 }, "floatingObject": { "isPinned": false, @@ -1671,12 +1671,12 @@ "id": "aff3a589-27aa-4a84-92a7-c25919a33c70", "savedPayload": { "position": { - "x": 21517.52016719289, - "y": 45867.35983438624 + "x": 22058.581834115856, + "y": 45359.6657197182 }, "targetPosition": { - "x": 21639.54116011563, - "y": 45593.296197093456 + "x": 21882.246258428113, + "y": 45116.96062140571 }, "floatingObject": { "isPinned": false, @@ -1705,7 +1705,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -1729,7 +1729,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -4102,12 +4102,12 @@ "id": "dc148eee-1c57-48be-918e-5c91d3b2a1ee", "savedPayload": { "position": { - "x": 21314.99425281151, - "y": 46057.29874664579 + "x": 20461.63031479918, + "y": 45484.235522592324 }, "targetPosition": { - "x": 21098.932678850673, - "y": 45849.17042983723 + "x": 20576.435344508704, + "y": 45207.071662838935 }, "floatingObject": { "isPinned": false, @@ -4132,12 +4132,12 @@ "id": "5177790d-4a5f-4873-b25f-b727729c53a5", "savedPayload": { "position": { - "x": 21218.900286146596, - "y": 46124.139106598224 + "x": 20364.30331015274, + "y": 45419.2036971949 }, "targetPosition": { - "x": 21098.932678850673, - "y": 45849.17042983723 + "x": 20576.435344508704, + "y": 45207.071662838935 }, "floatingObject": { "isPinned": false, @@ -4162,12 +4162,12 @@ "id": "f6494f82-4e9a-4962-a111-f75763f66bff", "savedPayload": { "position": { - "x": 21104.542338779946, - "y": 46149.117978111055 + "x": 20299.271484755318, + "y": 45321.87669254846 }, "targetPosition": { - "x": 21098.932678850673, - "y": 45849.17042983723 + "x": 20576.435344508704, + "y": 45207.071662838935 }, "floatingObject": { "isPinned": false, @@ -4187,12 +4187,12 @@ "id": "d845296c-a4c9-43a1-9fcd-f63678d09649", "savedPayload": { "position": { - "x": 21098.932678850673, - "y": 45849.17042983723 + "x": 20576.435344508704, + "y": 45207.071662838935 }, "targetPosition": { - "x": 20978.96507155475, - "y": 45574.20175307623 + "x": 20788.567378864667, + "y": 44994.93962848297 }, "floatingObject": { "isPinned": false, @@ -4223,12 +4223,12 @@ "id": "71389baa-502a-4df3-bed5-66618ccb5495", "savedPayload": { "position": { - "x": 20874.972424174106, - "y": 46153.41142594332 + "x": 20211.40351911128, + "y": 45109.744658192496 }, "targetPosition": { - "x": 20869.362764244834, - "y": 45853.46387766949 + "x": 20488.567378864667, + "y": 44994.93962848297 }, "floatingObject": { "isPinned": false, @@ -4253,12 +4253,12 @@ "id": "b756d2de-2a22-421a-840c-629646e8851b", "savedPayload": { "position": { - "x": 20759.760456934917, - "y": 46132.72600226275 + "x": 20188.567378864667, + "y": 44994.93962848297 }, "targetPosition": { - "x": 20869.362764244834, - "y": 45853.46387766949 + "x": 20488.567378864667, + "y": 44994.93962848297 }, "floatingObject": { "isPinned": false, @@ -4283,12 +4283,12 @@ "id": "90877e7d-cce4-475b-864b-9ec29fd6c5e3", "savedPayload": { "position": { - "x": 20661.234447436273, - "y": 46069.52545163033 + "x": 20211.40351911128, + "y": 44880.134598773446 }, "targetPosition": { - "x": 20869.362764244834, - "y": 45853.46387766949 + "x": 20488.567378864667, + "y": 44994.93962848297 }, "floatingObject": { "isPinned": false, @@ -4308,12 +4308,12 @@ "id": "edf5afb0-79ff-4a19-98af-8001f118b735", "savedPayload": { "position": { - "x": 20869.362764244834, - "y": 45853.46387766949 + "x": 20488.567378864667, + "y": 44994.93962848297 }, "targetPosition": { - "x": 20978.96507155475, - "y": 45574.20175307623 + "x": 20788.567378864667, + "y": 44994.93962848297 }, "floatingObject": { "isPinned": false, @@ -4344,12 +4344,12 @@ "id": "1484266d-df06-4a29-bba6-53e296f8ba3f", "savedPayload": { "position": { - "x": 20495.868077985197, - "y": 45910.23093433299 + "x": 20299.271484755318, + "y": 44668.00256441748 }, "targetPosition": { - "x": 20703.996394793758, - "y": 45694.16936037215 + "x": 20576.435344508704, + "y": 44782.80759412701 }, "floatingObject": { "isPinned": false, @@ -4374,12 +4374,12 @@ "id": "21d0d5bf-a5ff-473b-9913-ccf80a136aa6", "savedPayload": { "position": { - "x": 20429.027718032765, - "y": 45814.13696766807 + "x": 20364.30331015274, + "y": 44570.67555977104 }, "targetPosition": { - "x": 20703.996394793758, - "y": 45694.16936037215 + "x": 20576.435344508704, + "y": 44782.80759412701 }, "floatingObject": { "isPinned": false, @@ -4404,12 +4404,12 @@ "id": "05c32139-e3ba-460c-8837-24d002892f2b", "savedPayload": { "position": { - "x": 20404.048846519934, - "y": 45699.77902030142 + "x": 20461.63031479918, + "y": 44505.64373437362 }, "targetPosition": { - "x": 20703.996394793758, - "y": 45694.16936037215 + "x": 20576.435344508704, + "y": 44782.80759412701 }, "floatingObject": { "isPinned": false, @@ -4429,12 +4429,12 @@ "id": "b779f4a3-91c0-419c-b41b-d264c0e6b055", "savedPayload": { "position": { - "x": 20703.996394793758, - "y": 45694.16936037215 + "x": 20576.435344508704, + "y": 44782.80759412701 }, "targetPosition": { - "x": 20978.96507155475, - "y": 45574.20175307623 + "x": 20788.567378864667, + "y": 44994.93962848297 }, "floatingObject": { "isPinned": false, @@ -4496,12 +4496,12 @@ "id": "8f1453bd-7df3-433b-9c09-9645f3010bad", "savedPayload": { "position": { - "x": 20523.648020938374, - "y": 45975.72061436919 + "x": 20550.561376777296, + "y": 44292.69595750969 }, "targetPosition": { - "x": 20648.736255766773, - "y": 45703.04327114552 + "x": 20788.567378864667, + "y": 44475.324386212305 }, "floatingObject": { "isPinned": false, @@ -4526,12 +4526,12 @@ "id": "3c25bc31-19a1-4a11-90d6-ab1507499c46", "savedPayload": { "position": { - "x": 20428.820694217826, - "y": 45907.0950924768 + "x": 20638.567378864667, + "y": 44215.51676507697 }, "targetPosition": { - "x": 20648.736255766773, - "y": 45703.04327114552 + "x": 20788.567378864667, + "y": 44475.324386212305 }, "floatingObject": { "isPinned": false, @@ -4556,12 +4556,12 @@ "id": "ae537189-a6ff-470a-9f15-2425160f4d47", "savedPayload": { "position": { - "x": 20367.473518203573, - "y": 45807.40453052109 + "x": 20749.409521198653, + "y": 44177.89092780016 }, "targetPosition": { - "x": 20648.736255766773, - "y": 45703.04327114552 + "x": 20788.567378864667, + "y": 44475.324386212305 }, "floatingObject": { "isPinned": false, @@ -4581,12 +4581,12 @@ "id": "845ddcca-fadb-4a8e-9f2a-03cb9cbfb99a", "savedPayload": { "position": { - "x": 20648.736255766773, - "y": 45703.04327114552 + "x": 20788.567378864667, + "y": 44475.324386212305 }, "targetPosition": { - "x": 20868.65181731572, - "y": 45498.991449814246 + "x": 20938.567378864667, + "y": 44735.13200734764 }, "floatingObject": { "isPinned": false, @@ -4688,7 +4688,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "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 10080f5e5..090fe46f9 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -127,12 +127,12 @@ "id": "f4d39b02-4324-438d-9f74-2bea2b7272ef", "savedPayload": { "position": { - "x": 37976.33557568774, - "y": 18557.294901687517 + "x": 4953.9475159862495, + "y": 23357.294901687517 }, "targetPosition": { - "x": 37800, - "y": 18800 + "x": 4777.611940298508, + "y": 23600 }, "floatingObject": { "isPinned": false, @@ -516,12 +516,12 @@ "id": "b6e3c87d-a11b-4b2a-b6a6-edc96375f5da", "savedPayload": { "position": { - "x": 38085.31695488855, - "y": 18707.294901687517 + "x": 5062.928895187054, + "y": 23507.294901687517 }, "targetPosition": { - "x": 37800, - "y": 18800 + "x": 4777.611940298508, + "y": 23600 }, "floatingObject": { "isPinned": false, @@ -565,12 +565,12 @@ "id": "2571cea1-2b6d-40f5-9331-8786bf57c184", "savedPayload": { "position": { - "x": 38901.29354317829, - "y": 18645.29319603238 + "x": 5878.905483476786, + "y": 23445.29319603238 }, "targetPosition": { - "x": 38678.35009553507, - "y": 18846.03237794004 + "x": 5655.962035833568, + "y": 23646.03237794004 }, "floatingObject": { "isPinned": false, @@ -627,12 +627,12 @@ "id": "e282a967-cfe8-49c3-abaa-26ca24204d68", "savedPayload": { "position": { - "x": 39009.69942836366, - "y": 18060.387380717464 + "x": 5987.311368662154, + "y": 22860.387380717464 }, "targetPosition": { - "x": 39295.01638325221, - "y": 18153.092479029947 + "x": 6272.6283235507, + "y": 22953.092479029947 }, "floatingObject": { "isPinned": false, @@ -692,12 +692,12 @@ "id": "a4566415-80fe-49f4-a7dc-4aac4bd8410a", "savedPayload": { "position": { - "x": 39232.64287600688, - "y": 17859.648198809806 + "x": 6210.254816305372, + "y": 22659.648198809806 }, "targetPosition": { - "x": 39295.01638325221, - "y": 18153.092479029947 + "x": 6272.6283235507, + "y": 22953.092479029947 }, "floatingObject": { "isPinned": false, @@ -756,12 +756,12 @@ "id": "8da6770a-27ec-4b6b-93af-0dc7d0667fc4", "savedPayload": { "position": { - "x": 39295.01638325221, - "y": 18153.092479029947 + "x": 6272.6283235507, + "y": 22953.092479029947 }, "targetPosition": { - "x": 39495.75556515987, - "y": 18376.035926673165 + "x": 6473.367505458357, + "y": 23176.035926673165 }, "floatingObject": { "isPinned": false, @@ -822,12 +822,12 @@ "id": "ab430be0-696d-4325-9dc9-bbe166d2193c", "savedPayload": { "position": { - "x": 39375.25920211089, - "y": 17809.145108990284 + "x": 6352.871142409376, + "y": 22609.145108990284 }, "targetPosition": { - "x": 39511.45635203275, - "y": 18076.447066246794 + "x": 6489.068292331241, + "y": 22876.447066246794 }, "floatingObject": { "isPinned": false, @@ -887,12 +887,12 @@ "id": "4fe57296-a7c3-47d2-a6b1-721495aea6dd", "savedPayload": { "position": { - "x": 39674.84806253726, - "y": 17824.845895863167 + "x": 6652.460002835749, + "y": 22624.845895863167 }, "targetPosition": { - "x": 39511.45635203275, - "y": 18076.447066246794 + "x": 6489.068292331241, + "y": 22876.447066246794 }, "floatingObject": { "isPinned": false, @@ -951,12 +951,12 @@ "id": "23feb1dc-3a4a-49a2-9392-d9ba84abd3fd", "savedPayload": { "position": { - "x": 39511.45635203275, - "y": 18076.447066246794 + "x": 6489.068292331241, + "y": 22876.447066246794 }, "targetPosition": { - "x": 39495.75556515987, - "y": 18376.035926673165 + "x": 6473.367505458357, + "y": 23176.035926673165 }, "floatingObject": { "isPinned": false, @@ -1017,12 +1017,12 @@ "id": "37005931-aa7b-460e-9aed-5fcf0152b01e", "savedPayload": { "position": { - "x": 39811.404111115575, - "y": 17889.97978987696 + "x": 6789.01605141406, + "y": 22689.97978987696 }, "targetPosition": { - "x": 39718.69901280309, - "y": 18175.296744765506 + "x": 6696.310953101575, + "y": 22975.296744765506 }, "floatingObject": { "isPinned": false, @@ -1082,12 +1082,12 @@ "id": "25967c06-52be-435d-b10e-39ad71a72a47", "savedPayload": { "position": { - "x": 40012.14329302323, - "y": 18112.92323752018 + "x": 6989.755233321717, + "y": 22912.92323752018 }, "targetPosition": { - "x": 39718.69901280309, - "y": 18175.296744765506 + "x": 6696.310953101575, + "y": 22975.296744765506 }, "floatingObject": { "isPinned": false, @@ -1146,12 +1146,12 @@ "id": "bbc2c486-eda3-483d-82c9-fac2f983592e", "savedPayload": { "position": { - "x": 39718.69901280309, - "y": 18175.296744765506 + "x": 6696.310953101575, + "y": 22975.296744765506 }, "targetPosition": { - "x": 39495.75556515987, - "y": 18376.035926673165 + "x": 6473.367505458357, + "y": 23176.035926673165 }, "floatingObject": { "isPinned": false, @@ -1205,12 +1205,12 @@ "id": "8bcc99aa-7700-4f67-abc3-c9a52692878f", "savedPayload": { "position": { - "x": 39495.75556515987, - "y": 18376.035926673165 + "x": 6473.367505458357, + "y": 23176.035926673165 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 6457.666718585474, + "y": 23475.624787099536 }, "floatingObject": { "isPinned": false, @@ -1271,12 +1271,12 @@ "id": "07f5166e-a2b2-45dc-89b7-1850f09be2e1", "savedPayload": { "position": { - "x": 39888.40842255518, - "y": 17904.251695414787 + "x": 6866.020362853661, + "y": 22704.251695414787 }, "targetPosition": { - "x": 39795.70332424269, - "y": 18189.568650303332 + "x": 6773.3152645411765, + "y": 22989.568650303332 }, "floatingObject": { "isPinned": false, @@ -1335,12 +1335,12 @@ "id": "884c3559-1bcf-441d-bc10-477919f38cf3", "savedPayload": { "position": { - "x": 39795.70332424269, - "y": 18189.568650303332 + "x": 6773.3152645411765, + "y": 22989.568650303332 }, "targetPosition": { - "x": 39702.998225930205, - "y": 18474.885605191877 + "x": 6680.610166228692, + "y": 23274.885605191877 }, "floatingObject": { "isPinned": false, @@ -1401,12 +1401,12 @@ "id": "8d43c1b9-0855-4fd9-9508-55b94175e264", "savedPayload": { "position": { - "x": 40289.886786370495, - "y": 18350.138590701223 + "x": 7267.498726668976, + "y": 23150.138590701223 }, "targetPosition": { - "x": 39996.44250615035, - "y": 18412.51209794655 + "x": 6974.054446448834, + "y": 23212.51209794655 }, "floatingObject": { "isPinned": false, @@ -1465,12 +1465,12 @@ "id": "790046f1-e146-4d95-8e03-b15667281565", "savedPayload": { "position": { - "x": 39996.44250615035, - "y": 18412.51209794655 + "x": 6974.054446448834, + "y": 23212.51209794655 }, "targetPosition": { - "x": 39702.998225930205, - "y": 18474.885605191877 + "x": 6680.610166228692, + "y": 23274.885605191877 }, "floatingObject": { "isPinned": false, @@ -1524,12 +1524,12 @@ "id": "ea55b1a3-4bae-440b-ba59-3422d06dccd0", "savedPayload": { "position": { - "x": 39702.998225930205, - "y": 18474.885605191877 + "x": 6680.610166228692, + "y": 23274.885605191877 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 6457.666718585474, + "y": 23475.624787099536 }, "floatingObject": { "isPinned": false, @@ -1588,12 +1588,12 @@ "id": "71d7bae4-f6b9-4490-a984-71eb00b0f6b3", "savedPayload": { "position": { - "x": 39943.03534921787, - "y": 18439.724403588792 + "x": 6920.647289516354, + "y": 23239.724403588792 }, "targetPosition": { - "x": 39779.64363871336, - "y": 18691.32557397242 + "x": 6757.255579011846, + "y": 23491.32557397242 }, "floatingObject": { "isPinned": false, @@ -1654,12 +1654,12 @@ "id": "c122965e-2b37-46c4-9ddd-f605c0890ef0", "savedPayload": { "position": { - "x": 40314.24755322638, - "y": 18418.931274128692 + "x": 7291.859493524866, + "y": 23218.931274128692 }, "targetPosition": { - "x": 40046.94559596987, - "y": 18555.128424050556 + "x": 7024.557536268356, + "y": 23355.128424050556 }, "floatingObject": { "isPinned": false, @@ -1718,12 +1718,12 @@ "id": "fa38cfba-ad3c-49aa-9e37-c4aa56bf9f37", "savedPayload": { "position": { - "x": 40046.94559596987, - "y": 18555.128424050556 + "x": 7024.557536268356, + "y": 23355.128424050556 }, "targetPosition": { - "x": 39779.64363871336, - "y": 18691.32557397242 + "x": 6757.255579011846, + "y": 23491.32557397242 }, "floatingObject": { "isPinned": false, @@ -1784,12 +1784,12 @@ "id": "cca191bd-5d90-434f-b88c-ccb9e6f0c868", "savedPayload": { "position": { - "x": 40378.82135956611, - "y": 18722.727147718186 + "x": 7356.43329986459, + "y": 23522.727147718186 }, "targetPosition": { - "x": 40079.23249913973, - "y": 18707.026360845302 + "x": 7056.844439438218, + "y": 23507.026360845302 }, "floatingObject": { "isPinned": false, @@ -1848,12 +1848,12 @@ "id": "6a758dd3-74cf-48af-a4cd-f080d0058d41", "savedPayload": { "position": { - "x": 40079.23249913973, - "y": 18707.026360845302 + "x": 7056.844439438218, + "y": 23507.026360845302 }, "targetPosition": { - "x": 39779.64363871336, - "y": 18691.32557397242 + "x": 6757.255579011846, + "y": 23491.32557397242 }, "floatingObject": { "isPinned": false, @@ -1914,12 +1914,12 @@ "id": "053f3e5a-5c80-46e5-b798-9bb8daa6b679", "savedPayload": { "position": { - "x": 40282.84597948061, - "y": 19018.108994981434 + "x": 7260.457919779101, + "y": 23818.108994981434 }, "targetPosition": { - "x": 40031.244809096985, - "y": 18854.717284476927 + "x": 7008.856749395473, + "y": 23654.717284476927 }, "floatingObject": { "isPinned": false, @@ -1978,12 +1978,12 @@ "id": "d1e0560b-80a2-407a-85c7-e84b0e2b164c", "savedPayload": { "position": { - "x": 40031.244809096985, - "y": 18854.717284476927 + "x": 7008.856749395473, + "y": 23654.717284476927 }, "targetPosition": { - "x": 39779.64363871336, - "y": 18691.32557397242 + "x": 6757.255579011846, + "y": 23491.32557397242 }, "floatingObject": { "isPinned": false, @@ -2044,12 +2044,12 @@ "id": "fcc74a4e-bc01-45e7-a42d-efdca2f03d21", "savedPayload": { "position": { - "x": 40052.037938557085, - "y": 19225.92948848544 + "x": 7029.649878855575, + "y": 24025.92948848544 }, "targetPosition": { - "x": 39915.84078863522, - "y": 18958.62753122893 + "x": 6893.45272893371, + "y": 23758.62753122893 }, "floatingObject": { "isPinned": false, @@ -2108,12 +2108,12 @@ "id": "8b903501-ece3-4da3-9124-c15a9f0a1085", "savedPayload": { "position": { - "x": 39915.84078863522, - "y": 18958.62753122893 + "x": 6893.45272893371, + "y": 23758.62753122893 }, "targetPosition": { - "x": 39779.64363871336, - "y": 18691.32557397242 + "x": 6757.255579011846, + "y": 23491.32557397242 }, "floatingObject": { "isPinned": false, @@ -2167,12 +2167,12 @@ "id": "36d0b2a7-7f20-4164-897f-e6bd3d348975", "savedPayload": { "position": { - "x": 39779.64363871336, - "y": 18691.32557397242 + "x": 6757.255579011846, + "y": 23491.32557397242 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 6457.666718585474, + "y": 23475.624787099536 }, "floatingObject": { "isPinned": false, @@ -2220,12 +2220,12 @@ "id": "d928e0c2-5408-443b-9849-f015a6a97485", "savedPayload": { "position": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 6457.666718585474, + "y": 23475.624787099536 }, "targetPosition": { - "x": 39257.11133064376, - "y": 18876.363969007194 + "x": 6234.723270942256, + "y": 23676.363969007194 }, "floatingObject": { "isPinned": false, @@ -2432,12 +2432,12 @@ "id": "61be79f5-5d3c-4667-9e7a-f4c13b958037", "savedPayload": { "position": { - "x": 39542.42828553231, - "y": 18969.069067319677 + "x": 6520.040225830802, + "y": 23769.069067319677 }, "targetPosition": { - "x": 39257.11133064376, - "y": 18876.363969007194 + "x": 6234.723270942256, + "y": 23676.363969007194 }, "floatingObject": { "isPinned": false, @@ -2479,12 +2479,12 @@ "id": "800e3388-1ea6-40ee-ace5-1811a3373e39", "savedPayload": { "position": { - "x": 39257.11133064376, - "y": 18876.363969007194 + "x": 6234.723270942256, + "y": 23676.363969007194 }, "targetPosition": { - "x": 38963.66705042362, - "y": 18938.73747625252 + "x": 5941.278990722114, + "y": 23738.73747625252 }, "floatingObject": { "isPinned": false, @@ -6603,13 +6603,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -6674,13 +6674,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -6745,13 +6745,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -6812,13 +6812,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -6887,13 +6887,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -6958,13 +6958,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7029,13 +7029,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7096,13 +7096,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7171,13 +7171,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7242,13 +7242,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7313,13 +7313,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7380,13 +7380,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7455,13 +7455,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7526,13 +7526,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7597,13 +7597,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7664,13 +7664,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7712,7 +7712,7 @@ }, "referenceParent": { "type": "Position Class", - "name": "Social Networks Teams", + "name": "Social Network Teams", "id": "6235a447-4974-4e79-aa5e-b98115c560d7" }, "referenceParentCombinedNodePath": [ @@ -7729,13 +7729,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Social Networks Teams", + "Social Network Teams", "Position Class", "Governance", "6235a447-4974-4e79-aa5e-b98115c560d7" @@ -7804,7 +7804,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -7875,7 +7875,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -7946,7 +7946,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8013,7 +8013,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8088,7 +8088,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8159,7 +8159,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8230,7 +8230,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8297,7 +8297,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8362,7 +8362,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8437,7 +8437,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8508,7 +8508,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8579,7 +8579,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8646,7 +8646,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8711,7 +8711,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -8785,12 +8785,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -8856,12 +8850,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -8927,12 +8915,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -8994,12 +8976,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9069,12 +9045,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9140,12 +9110,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9211,12 +9175,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9278,12 +9236,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9353,12 +9305,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9424,12 +9370,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9495,12 +9435,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9562,12 +9496,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9637,12 +9565,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9708,12 +9630,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9779,12 +9695,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9846,12 +9756,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9911,12 +9815,6 @@ "Governance", "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], - [ - "Teams", - "Position Class", - "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" - ], [ "Tech Teams", "Position Class", @@ -9987,13 +9885,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10058,13 +9956,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10129,13 +10027,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10196,13 +10094,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10271,13 +10169,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10342,13 +10240,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10413,13 +10311,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10480,13 +10378,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10555,13 +10453,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10626,13 +10524,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10697,13 +10595,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10764,13 +10662,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10839,13 +10737,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10910,13 +10808,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -10981,13 +10879,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -11048,13 +10946,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -11096,7 +10994,7 @@ }, "referenceParent": { "type": "Position Class", - "name": "Content Creators Teams", + "name": "Content Creation Teams", "id": "6304827a-8366-48a8-ae11-35881c14e135" }, "referenceParentCombinedNodePath": [ @@ -11113,13 +11011,13 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Marketing Teams", "Position Class", "Governance", - "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" + "27abdc67-60f7-4f6b-8de5-109d1ce1e8d9" ], [ - "Content Creators Teams", + "Content Creation Teams", "Position Class", "Governance", "6304827a-8366-48a8-ae11-35881c14e135" @@ -11155,7 +11053,7 @@ }, "referenceParent": { "type": "Position Class", - "name": "Teams", + "name": "Other Teams", "id": "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" }, "referenceParentCombinedNodePath": [ @@ -11172,7 +11070,7 @@ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ - "Teams", + "Other Teams", "Position Class", "Governance", "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4" @@ -11235,12 +11133,12 @@ "id": "aa848510-1260-46ed-a855-6c0fb9dca9eb", "savedPayload": { "position": { - "x": 39164.406232331276, - "y": 19161.68092389574 + "x": 6142.0181726297715, + "y": 23961.68092389574 }, "targetPosition": { - "x": 38963.66705042362, - "y": 18938.73747625252 + "x": 5941.278990722114, + "y": 23738.73747625252 }, "floatingObject": { "isPinned": false, @@ -11276,12 +11174,12 @@ "id": "1d398124-3f36-40a1-8b3b-6c77ad489b92", "savedPayload": { "position": { - "x": 38963.66705042362, - "y": 18938.73747625252 + "x": 5941.278990722114, + "y": 23738.73747625252 }, "targetPosition": { - "x": 38678.35009553507, - "y": 18846.03237794004 + "x": 5655.962035833568, + "y": 23646.03237794004 }, "floatingObject": { "isPinned": false, @@ -11302,12 +11200,12 @@ "id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f", "savedPayload": { "position": { - "x": 38678.35009553507, - "y": 18846.03237794004 + "x": 5655.962035833568, + "y": 23646.03237794004 }, "targetPosition": { - "x": 38384.90581531492, - "y": 18908.405885185366 + "x": 5362.517755613426, + "y": 23708.405885185366 }, "floatingObject": { "isPinned": false, @@ -11330,12 +11228,12 @@ "id": "e9c0e495-7985-4381-bf75-865d87289038", "savedPayload": { "position": { - "x": 38670.22277020347, - "y": 19001.11098349785 + "x": 5647.834710501972, + "y": 23801.11098349785 }, "targetPosition": { - "x": 38384.90581531492, - "y": 18908.405885185366 + "x": 5362.517755613426, + "y": 23708.405885185366 }, "floatingObject": { "isPinned": false, @@ -11353,12 +11251,12 @@ "id": "d5ed432e-78bf-432e-be3b-8649932f7a65", "savedPayload": { "position": { - "x": 38384.90581531492, - "y": 18908.405885185366 + "x": 5362.517755613426, + "y": 23708.405885185366 }, "targetPosition": { - "x": 38085.31695488855, - "y": 18892.705098312483 + "x": 5062.928895187054, + "y": 23692.705098312483 }, "floatingObject": { "isPinned": false, @@ -11391,12 +11289,12 @@ "id": "b09bc246-6593-4061-ac8a-b52670694e8e", "savedPayload": { "position": { - "x": 38622.235080160724, - "y": 19148.801907129473 + "x": 5599.847020459228, + "y": 23948.801907129473 }, "targetPosition": { - "x": 38336.918125272176, - "y": 19056.09680881699 + "x": 5314.5300655706815, + "y": 23856.09680881699 }, "floatingObject": { "isPinned": false, @@ -11419,12 +11317,12 @@ "id": "5011109c-3f87-471a-b786-5fd371f53853", "savedPayload": { "position": { - "x": 38537.657307179834, - "y": 19279.04025646021 + "x": 5515.269247478339, + "y": 24079.04025646021 }, "targetPosition": { - "x": 38336.918125272176, - "y": 19056.09680881699 + "x": 5314.5300655706815, + "y": 23856.09680881699 }, "floatingObject": { "isPinned": false, @@ -11442,12 +11340,12 @@ "id": "796dd30f-c90d-4b8d-a63d-89867347407b", "savedPayload": { "position": { - "x": 38336.918125272176, - "y": 19056.09680881699 + "x": 5314.5300655706815, + "y": 23856.09680881699 }, "targetPosition": { - "x": 38085.31695488855, - "y": 18892.705098312483 + "x": 5062.928895187054, + "y": 23692.705098312483 }, "floatingObject": { "isPinned": false, @@ -11465,12 +11363,12 @@ "id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf", "savedPayload": { "position": { - "x": 38085.31695488855, - "y": 18892.705098312483 + "x": 5062.928895187054, + "y": 23692.705098312483 }, "targetPosition": { - "x": 37800, - "y": 18800 + "x": 4777.611940298508, + "y": 23600 }, "floatingObject": { "isPinned": false, @@ -11502,12 +11400,12 @@ "id": "23c23b71-1431-4cca-a80e-bb5c7242be9f", "savedPayload": { "position": { - "x": 38442.62315256192, - "y": 19420.297332942388 + "x": 5420.235092860433, + "y": 24220.297332942388 }, "targetPosition": { - "x": 38209.47936412483, - "y": 19231.501215627435 + "x": 5187.091304423341, + "y": 24031.501215627435 }, "floatingObject": { "isPinned": false, @@ -11525,12 +11423,12 @@ "id": "90659303-924d-4404-9b1d-ea3180add4ef", "savedPayload": { "position": { - "x": 38209.47936412483, - "y": 19231.501215627435 + "x": 5187.091304423341, + "y": 24031.501215627435 }, "targetPosition": { - "x": 37976.33557568774, - "y": 19042.705098312483 + "x": 4953.9475159862495, + "y": 23842.705098312483 }, "floatingObject": { "isPinned": false, @@ -11557,12 +11455,12 @@ "id": "c2eabbab-aa7a-4971-8664-cb306b5cc5fd", "savedPayload": { "position": { - "x": 38191.356345414926, - "y": 19602.8533542108 + "x": 5168.968285713429, + "y": 24402.8533542108 }, "targetPosition": { - "x": 38083.845960551334, - "y": 19322.779226261642 + "x": 5061.4579008498395, + "y": 24122.779226261642 }, "floatingObject": { "isPinned": false, @@ -11580,12 +11478,12 @@ "id": "6f6d522c-ad61-426a-8fbc-7eb19b0c4a3e", "savedPayload": { "position": { - "x": 38083.845960551334, - "y": 19322.779226261642 + "x": 5061.4579008498395, + "y": 24122.779226261642 }, "targetPosition": { - "x": 37976.33557568774, - "y": 19042.705098312483 + "x": 4953.9475159862495, + "y": 23842.705098312483 }, "floatingObject": { "isPinned": false, @@ -11603,12 +11501,12 @@ "id": "ed112539-01ea-4937-85cf-69612ee6115d", "savedPayload": { "position": { - "x": 37976.33557568774, - "y": 19042.705098312483 + "x": 4953.9475159862495, + "y": 23842.705098312483 }, "targetPosition": { - "x": 37800, - "y": 18800 + "x": 4777.611940298508, + "y": 23600 }, "floatingObject": { "isPinned": false, @@ -11636,7 +11534,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -11680,29 +11578,29 @@ "signingAccounts": [ { "type": "Signing Account", - "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}", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1b\",\n \"r\": \"0x4f5c0d007a1315fba2eabbab3c1fb4e3f2f457b3a64a263453b5a17a9f4978f6\",\n \"s\": \"0x6d92b391e9382ea649c7d88f1536e545554cf59b925fa23beb78e1695efd5b6e\",\n \"signature\": \"0x4f5c0d007a1315fba2eabbab3c1fb4e3f2f457b3a64a263453b5a17a9f4978f66d92b391e9382ea649c7d88f1536e545554cf59b925fa23beb78e1695efd5b6e1b\"\n }\n}", "project": "Governance", - "assignedTo": { + "signingAccountChild": { "type": "Social Trading Desktop App", - "name": "New Social Trading Desktop App", - "config": "{}", + "name": "Social Trading Desktop App # 1", + "config": "{\n \"codeName\": \"Social-Trading-Desktop-App-1\"\n}", "project": "Governance", - "id": "bde87a47-5f7b-40a6-82e9-d4ba528d7894", + "id": "33df9686-6aa8-4d0d-90b6-d86b9be4f97f", "savedPayload": { "position": { - "x": 1290.816326530612, - "y": 20991.192378864667 + "x": 36755.13308317571, + "y": 18618.508094196695 }, "targetPosition": { - "x": 1590.816326530612, - "y": 20991.192378864667 + "x": 37052.566541587854, + "y": 18579.35023653068 }, "floatingObject": { "isPinned": false, "isFrozen": false, "isCollapsed": false, - "angleToParent": 2, + "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 }, @@ -11711,15 +11609,15 @@ } } }, - "id": "30858b11-5b8d-46c6-97f8-765e3676fc2f", + "id": "d1fa780c-673a-442d-af85-6f1e03179a0e", "savedPayload": { "position": { - "x": 1590.816326530612, - "y": 20991.192378864667 + "x": 37052.566541587854, + "y": 18579.35023653068 }, "targetPosition": { - "x": 1890.816326530612, - "y": 20991.192378864667 + "x": 37350, + "y": 18540.192378864667 }, "floatingObject": { "isPinned": false, @@ -11736,85 +11634,29 @@ }, { "type": "Signing Account", - "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}", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1b\",\n \"r\": \"0xb6529251f39c0b1bd87bfb46e12bd266a27ac5217a932f07587a3a306367fc80\",\n \"s\": \"0x3bfd826e7bbc9b15e6a824e54284ce3f4a39d1d480091973953d0bf63c152f46\",\n \"signature\": \"0xb6529251f39c0b1bd87bfb46e12bd266a27ac5217a932f07587a3a306367fc803bfd826e7bbc9b15e6a824e54284ce3f4a39d1d480091973953d0bf63c152f461b\"\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": 1371.2010842599489, - "y": 20691.192378864667 - }, - "targetPosition": { - "x": 1631.0087053952805, - "y": 20841.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": 1631.0087053952805, - "y": 20841.192378864667 - }, - "targetPosition": { - "x": 1890.816326530612, - "y": 20991.192378864667 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, - { - "type": "Signing Account", - "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": { + "signingAccountChild": { "type": "Social Trading Mobile App", - "name": "New Social Trading Mobile App", - "config": "{}", + "name": "Social Trading Mobile App # 1", + "config": "{\n \"codeName\": \"Social-Trading-Mobile-App-1\"\n}", "project": "Governance", - "id": "8cb693fc-84a0-48d7-b7d7-a88463b34cd5", + "id": "da524b16-839a-40cd-b90f-4ed40e745594", "savedPayload": { "position": { - "x": 1590.8163265306116, - "y": 20471.577136594 + "x": 36770.44450422656, + "y": 18384.900951803153 }, "targetPosition": { - "x": 1740.8163265306118, - "y": 20731.384757729335 + "x": 37060.22225211328, + "y": 18462.54666533391 }, "floatingObject": { "isPinned": false, "isFrozen": false, "isCollapsed": false, - "angleToParent": 2, + "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 }, @@ -11823,15 +11665,15 @@ } } }, - "id": "5828093e-65e1-4b18-9cbc-9ff33c98acc1", + "id": "d57afbcc-f711-4e92-9b5e-8fbf86c12acb", "savedPayload": { "position": { - "x": 1740.8163265306118, - "y": 20731.384757729335 + "x": 37060.22225211328, + "y": 18462.54666533391 }, "targetPosition": { - "x": 1890.816326530612, - "y": 20991.192378864667 + "x": 37350, + "y": 18540.192378864667 }, "floatingObject": { "isPinned": false, @@ -11848,23 +11690,79 @@ }, { "type": "Signing Account", - "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}", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0xd5cb851afd167250a1735e96c03e7e5a4ebe2829b3e45e545f9a6e53c56360a6\",\n \"s\": \"0x4dcf855cd4fe4d711e8d18fc95ec587343457d985b93bdc7560079f3a42a424c\",\n \"signature\": \"0xd5cb851afd167250a1735e96c03e7e5a4ebe2829b3e45e545f9a6e53c56360a64dcf855cd4fe4d711e8d18fc95ec587343457d985b93bdc7560079f3a42a424c1c\"\n }\n}", "project": "Governance", - "assignedTo": { + "signingAccountChild": { + "type": "Social Trading Server App", + "name": "Social Trading Server App # 1", + "config": "{\n \"codeName\": \"Social-Trading-Server-App-1\"\n}", + "project": "Governance", + "id": "0609495c-0248-4f9b-9006-02f0e02c76aa", + "savedPayload": { + "position": { + "x": 36873.98799582526, + "y": 18174.935521459432 + }, + "targetPosition": { + "x": 37111.99399791263, + "y": 18357.56395016205 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "42cb9bd7-bfc6-47fe-98f5-f56670f53c5d", + "savedPayload": { + "position": { + "x": 37111.99399791263, + "y": 18357.56395016205 + }, + "targetPosition": { + "x": 37350, + "y": 18540.192378864667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Signing Account", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1b\",\n \"r\": \"0x171d95f1ff727916737828707fe408d656454598480c1c5793df392ba0be288c\",\n \"s\": \"0x7eb1242017caa74ff48251ea4a5d51345b31758f5054c961fd19199a9fb2eab7\",\n \"signature\": \"0x171d95f1ff727916737828707fe408d656454598480c1c5793df392ba0be288c7eb1242017caa74ff48251ea4a5d51345b31758f5054c961fd19199a9fb2eab71b\"\n }\n}", + "project": "Governance", + "signingAccountChild": { "type": "Algo Traders Platform", - "name": "New Algo Traders Platform", - "config": "{}", + "name": "Algo Traders Platform # 1", + "config": "{\n \"codeName\": \"Algo-Traders-Platform-1\"\n}", "project": "Governance", - "id": "27f30390-6f86-4c25-bdc2-7680567a1b4a", + "id": "baa7d72c-b576-480f-b160-2cc46ce47815", "savedPayload": { "position": { - "x": 1890.816326530612, - "y": 20391.192378864667 + "x": 37050, + "y": 18020.577136594 }, "targetPosition": { - "x": 1890.816326530612, - "y": 20691.192378864667 + "x": 37200, + "y": 18280.384757729335 }, "floatingObject": { "isPinned": false, @@ -11879,15 +11777,15 @@ } } }, - "id": "fa5647f8-42bc-4d7b-8137-401ac8b5433c", + "id": "47f2db6d-7fe6-456d-aeb0-7128524aaa36", "savedPayload": { "position": { - "x": 1890.816326530612, - "y": 20691.192378864667 + "x": 37200, + "y": 18280.384757729335 }, "targetPosition": { - "x": 1890.816326530612, - "y": 20991.192378864667 + "x": 37350, + "y": 18540.192378864667 }, "floatingObject": { "isPinned": false, @@ -11904,23 +11802,23 @@ }, { "type": "Signing Account", - "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}", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0x278999b03f16b7be639bf28e414bb6620f09504fbd5bfe2aa0283044036cdf0c\",\n \"s\": \"0x377237529c066739a79e545d300b911be9c525c0961f8f1edaa7df5e6322d65e\",\n \"signature\": \"0x278999b03f16b7be639bf28e414bb6620f09504fbd5bfe2aa0283044036cdf0c377237529c066739a79e545d300b911be9c525c0961f8f1edaa7df5e6322d65e1c\"\n }\n}", "project": "Governance", - "assignedTo": { + "signingAccountChild": { "type": "P2P Network Node", - "name": "New P2P Network Node", - "config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}", + "name": "P2P Network Node # 1", + "config": "{\n \"codeName\": \"P2P-Network-Node-1\",\n \"host\": \"localhost\",\n \"webSocketsPort\": \"18042\"\n}", "project": "Governance", - "id": "10a196ef-b6ba-4edb-b33f-3604de5a3cd0", + "id": "7c917c18-f13f-41ca-a739-a440421c7bc4", "savedPayload": { "position": { - "x": 2190.816326530612, - "y": 20471.577136594 + "x": 37271.684284667965, + "y": 17945.325462040382 }, "targetPosition": { - "x": 2040.816326530612, - "y": 20731.384757729335 + "x": 37310.84214233398, + "y": 18242.758920452525 }, "floatingObject": { "isPinned": false, @@ -11935,15 +11833,127 @@ } } }, - "id": "e7066d66-9e36-4f38-963e-76b915b38c43", + "id": "2a499940-eb6f-4328-9f67-7c915b01b3db", "savedPayload": { "position": { - "x": 2040.816326530612, - "y": 20731.384757729335 + "x": 37310.84214233398, + "y": 18242.758920452525 }, "targetPosition": { - "x": 1890.816326530612, - "y": 20991.192378864667 + "x": 37350, + "y": 18540.192378864667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Signing Account", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1b\",\n \"r\": \"0x901e04cbe4cfd2bdba2429349d74181b953e3c048a9260a9fc27389430de80e2\",\n \"s\": \"0x22f448e151aec1e5cc1c96177fd10e8fea47f3c7a2f001412348b379685728ea\",\n \"signature\": \"0x901e04cbe4cfd2bdba2429349d74181b953e3c048a9260a9fc27389430de80e222f448e151aec1e5cc1c96177fd10e8fea47f3c7a2f001412348b379685728ea1b\"\n }\n}", + "project": "Governance", + "signingAccountChild": { + "type": "P2P Network Node", + "name": "P2P Network Node # 2", + "config": "{\n \"codeName\": \"P2P-Network-Node-2\",\n \"host\": \"localhost\",\n \"webSocketsPort\": \"18042\"\n}", + "project": "Governance", + "id": "b7b14ba1-da1a-4f8b-8fd0-0929bfb9afdf", + "savedPayload": { + "position": { + "x": 37505.291427061515, + "y": 17960.636883091225 + }, + "targetPosition": { + "x": 37427.64571353076, + "y": 18250.414630977946 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "93fcdc33-1f94-4a07-8838-50205e305a21", + "savedPayload": { + "position": { + "x": 37427.64571353076, + "y": 18250.414630977946 + }, + "targetPosition": { + "x": 37350, + "y": 18540.192378864667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Signing Account", + "name": "New Signing Account", + "config": "{\n \"signature\": {\n \"message\": \"Luis-Fernando-Molina\",\n \"messageHash\": \"0x443abf3389e332a62d21b84dd12e271cb428d334195d3aeb986ca85ee53cccb9\",\n \"v\": \"0x1c\",\n \"r\": \"0xc938ab3cadd77fdca413d882b04f0171a46dac0c0e55c72f3c7a84a9552d94ed\",\n \"s\": \"0x1d42a148e5c1380395e79ec66649515b4220baff0d662bbaebbba90e3b71142f\",\n \"signature\": \"0xc938ab3cadd77fdca413d882b04f0171a46dac0c0e55c72f3c7a84a9552d94ed1d42a148e5c1380395e79ec66649515b4220baff0d662bbaebbba90e3b71142f1c\"\n }\n}", + "project": "Governance", + "signingAccountChild": { + "type": "P2P Network Node", + "name": "P2P Network Node # 3", + "config": "{\n \"codeName\": \"P2P-Network-Node-3\",\n \"host\": \"localhost\",\n \"webSocketsPort\": \"18042\"\n}", + "project": "Governance", + "id": "47a35fc3-5968-494b-89db-dcbc53d993ea", + "savedPayload": { + "position": { + "x": 37715.25685740523, + "y": 18064.180374689924 + }, + "targetPosition": { + "x": 37532.628428702614, + "y": 18302.186376777296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5322bfda-90ae-4f5d-9bd1-3cf2ba67b854", + "savedPayload": { + "position": { + "x": 37532.628428702614, + "y": 18302.186376777296 + }, + "targetPosition": { + "x": 37350, + "y": 18540.192378864667 }, "floatingObject": { "isPinned": false, @@ -11972,7 +11982,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -11985,17 +11995,17 @@ "id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db", "savedPayload": { "position": { - "x": 33333.333333333336, + "x": 37500, "y": 18800 }, "targetPosition": { - "x": 33333.333333333336, + "x": 37500, "y": 18800 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json b/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json index 1764d8f6d..a0879c983 100644 --- a/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json +++ b/Projects/Governance/Schemas/App-Schema/algo-traders-platform.json @@ -33,5 +33,5 @@ "compatibleTypes": "->Signing Account->" }, "childrenNodesProperties": [], - "propertyNameAtParent": "assignedTo" + "propertyNameAtParent": "signingAccountChild" } \ 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 index ae4b08a05..ae7aeb2d4 100644 --- a/Projects/Governance/Schemas/App-Schema/p2p-network-node.json +++ b/Projects/Governance/Schemas/App-Schema/p2p-network-node.json @@ -25,7 +25,7 @@ "config": true }, "initialValues": { - "config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}" + "config": "{ \n\"codeName\": \"localhost\", \n\"host\": \"localhost\", \n\"webSocketsPort\": \"18042\"\n}" }, "addLeftIcons": true, "level": 1, @@ -33,5 +33,5 @@ "compatibleTypes": "->Signing Account->" }, "childrenNodesProperties": [], - "propertyNameAtParent": "assignedTo" + "propertyNameAtParent": "signingAccountChild" } \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/profile-constructor.json b/Projects/Governance/Schemas/App-Schema/profile-constructor.json index c75e8294d..cf8471fe1 100644 --- a/Projects/Governance/Schemas/App-Schema/profile-constructor.json +++ b/Projects/Governance/Schemas/App-Schema/profile-constructor.json @@ -20,9 +20,53 @@ "relatedUiObjectProject": "Governance" }, { - "action": "Add Signing Account", + "action": "Add Social Trading Desktop App", "actionProject": "Governance", - "label": "Add Signing Account", + "label": "Add Social Trading Desktop App", + "askConfirmation": true, + "confirmationLabel": "Confirm to Proceed", + "workDoneLabel": "Done", + "relatedUiObject": "Profile Constructor", + "actionFunction": "payload.executeAction", + "relatedUiObjectProject": "Governance" + }, + { + "action": "Add Social Trading Server App", + "actionProject": "Governance", + "label": "Add Social Trading Server App", + "askConfirmation": true, + "confirmationLabel": "Confirm to Proceed", + "workDoneLabel": "Done", + "relatedUiObject": "Profile Constructor", + "actionFunction": "payload.executeAction", + "relatedUiObjectProject": "Governance" + }, + { + "action": "Add Social Trading Mobile App", + "actionProject": "Governance", + "label": "Add Social Trading Mobile App", + "askConfirmation": true, + "confirmationLabel": "Confirm to Proceed", + "workDoneLabel": "Done", + "relatedUiObject": "Profile Constructor", + "actionFunction": "payload.executeAction", + "relatedUiObjectProject": "Governance" + }, + { + "action": "Add Algo Traders Platform", + "actionProject": "Governance", + "label": "Add Algo Traders Platform", + "askConfirmation": true, + "confirmationLabel": "Confirm to Proceed", + "workDoneLabel": "Done", + "relatedUiObject": "Profile Constructor", + "actionFunction": "payload.executeAction", + "relatedUiObjectProject": "Governance" + }, + { + "action": "Add P2P Network Node", + "actionProject": "Governance", + "label": "Add P2P Network Node", "askConfirmation": true, "confirmationLabel": "Confirm to Proceed", "workDoneLabel": "Done", diff --git a/Projects/Governance/Schemas/App-Schema/signing-account.json b/Projects/Governance/Schemas/App-Schema/signing-account.json index befea1dc9..60e9db323 100644 --- a/Projects/Governance/Schemas/App-Schema/signing-account.json +++ b/Projects/Governance/Schemas/App-Schema/signing-account.json @@ -9,56 +9,6 @@ "iconPathOn": "configuration", "iconPathOff": "configuration" }, - { - "action": "Add UI Object", - "actionProject": "Visual-Scripting", - "disableIfPropertyIsDefined": true, - "propertyToCheckFor": "assignedTo", - "label": "Add P2P Network Node", - "relatedUiObject": "P2P Network Node", - "actionFunction": "payload.executeAction", - "relatedUiObjectProject": "Network" - }, - { - "action": "Add UI Object", - "actionProject": "Visual-Scripting", - "disableIfPropertyIsDefined": true, - "propertyToCheckFor": "assignedTo", - "label": "Add Algo Traders Platform", - "relatedUiObject": "Algo Traders Platform", - "actionFunction": "payload.executeAction", - "relatedUiObjectProject": "Governance" - }, - { - "action": "Add UI Object", - "actionProject": "Visual-Scripting", - "disableIfPropertyIsDefined": true, - "propertyToCheckFor": "assignedTo", - "label": "Add Social Trading Mobile App", - "relatedUiObject": "Social Trading Mobile App", - "actionFunction": "payload.executeAction", - "relatedUiObjectProject": "Governance" - }, - { - "action": "Add UI Object", - "actionProject": "Visual-Scripting", - "disableIfPropertyIsDefined": true, - "propertyToCheckFor": "assignedTo", - "label": "Add Social Trading Desktop App", - "relatedUiObject": "Social Trading Desktop App", - "actionFunction": "payload.executeAction", - "relatedUiObjectProject": "Governance" - }, - { - "action": "Add UI Object", - "actionProject": "Visual-Scripting", - "disableIfPropertyIsDefined": true, - "propertyToCheckFor": "assignedTo", - "label": "Add Social Trading Server App", - "relatedUiObject": "Social Trading Server App", - "actionFunction": "payload.executeAction", - "relatedUiObjectProject": "Governance" - }, { "action": "Delete UI Object", "actionProject": "Visual-Scripting", @@ -84,31 +34,31 @@ "propertyNameAtParent": "signingAccounts", "childrenNodesProperties": [ { - "name": "assignedTo", + "name": "signingAccountChild", "type": "node", "childType": "P2P Network Node", "autoAdd": false }, { - "name": "assignedTo", + "name": "signingAccountChild", "type": "node", "childType": "Algo Traders Platform", "autoAdd": false }, { - "name": "assignedTo", + "name": "signingAccountChild", "type": "node", "childType": "Social Trading Mobile App", "autoAdd": false }, { - "name": "assignedTo", + "name": "signingAccountChild", "type": "node", "childType": "Social Trading Desktop App", "autoAdd": false }, { - "name": "assignedTo", + "name": "signingAccountChild", "type": "node", "childType": "Social Trading Server App", "autoAdd": false diff --git a/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json b/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json index e817d2a85..d984011d3 100644 --- a/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json +++ b/Projects/Governance/Schemas/App-Schema/social-trading-desktop-app.json @@ -33,5 +33,5 @@ "compatibleTypes": "->Signing Account->" }, "childrenNodesProperties": [], - "propertyNameAtParent": "assignedTo" + "propertyNameAtParent": "signingAccountChild" } \ 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 index 302ce34f4..7fa33665c 100644 --- a/Projects/Governance/Schemas/App-Schema/social-trading-mobile-app.json +++ b/Projects/Governance/Schemas/App-Schema/social-trading-mobile-app.json @@ -33,5 +33,5 @@ "compatibleTypes": "->Signing Account->" }, "childrenNodesProperties": [], - "propertyNameAtParent": "assignedTo" + "propertyNameAtParent": "signingAccountChild" } \ 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 index 682d3abe0..5e15298e5 100644 --- a/Projects/Governance/Schemas/App-Schema/social-trading-server-app.json +++ b/Projects/Governance/Schemas/App-Schema/social-trading-server-app.json @@ -33,5 +33,5 @@ "compatibleTypes": "->Signing Account->" }, "childrenNodesProperties": [], - "propertyNameAtParent": "assignedTo" + "propertyNameAtParent": "signingAccountChild" } \ No newline at end of file diff --git a/Projects/Governance/UI/Function-Libraries/ActionSwitch.js b/Projects/Governance/UI/Function-Libraries/ActionSwitch.js index 798d2f63e..5732d4e22 100644 --- a/Projects/Governance/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Governance/UI/Function-Libraries/ActionSwitch.js @@ -38,9 +38,29 @@ function newGovernanceActionSwitch() { UI.projects.governance.functionLibraries.profileConstructor.buildProfile(action.node, action.rootNodes) break } - case 'Add Signing Account': + case 'Add Social Trading Desktop App': { - UI.projects.governance.functionLibraries.profileConstructor.addSigningAccount(action.node, action.rootNodes) + UI.projects.governance.functionLibraries.profileConstructor.addSigningAccount(action.node, action.rootNodes, 'Social Trading Desktop App') + break + } + case 'Add Social Trading Server App': + { + UI.projects.governance.functionLibraries.profileConstructor.addSigningAccount(action.node, action.rootNodes, 'Social Trading Server App') + break + } + case 'Add Social Trading Mobile App': + { + UI.projects.governance.functionLibraries.profileConstructor.addSigningAccount(action.node, action.rootNodes, 'Social Trading Mobile App') + break + } + case 'Add Algo Traders Platform': + { + UI.projects.governance.functionLibraries.profileConstructor.addSigningAccount(action.node, action.rootNodes, 'Algo Traders Platform') + break + } + case 'Add P2P Network Node': + { + UI.projects.governance.functionLibraries.profileConstructor.addSigningAccount(action.node, action.rootNodes, 'P2P Network Node') break } case 'Add Missing Plugin User Profiles': @@ -68,7 +88,7 @@ function newGovernanceActionSwitch() { UI.projects.governance.functionLibraries.pluginsFunctions.addMissingPluginPositions(action.node, action.rootNodes) } break - + default: { console.log("[WARN] Action sent to Governance Action Switch does not belong here. Verify at the App Schema file of the node that triggered this action that the actionProject is pointing to the right project. -> Action = " + action.name + " -> Action Node Name = " + action.node.name) } diff --git a/Projects/Governance/UI/Function-Libraries/ProfileConstructor.js b/Projects/Governance/UI/Function-Libraries/ProfileConstructor.js index b982cff63..8592bc2da 100644 --- a/Projects/Governance/UI/Function-Libraries/ProfileConstructor.js +++ b/Projects/Governance/UI/Function-Libraries/ProfileConstructor.js @@ -159,7 +159,8 @@ function newGovernanceFunctionLibraryProfileConstructor() { function addSigningAccount( node, - rootNodes + rootNodes, + targetNodeType ) { let githubUsername = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(node.payload, 'githubUsername') let mnemonic = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(node.payload, 'mnemonic') @@ -299,20 +300,48 @@ function newGovernanceFunctionLibraryProfileConstructor() { 'Signing Account', UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes ) + + let signingAccountChild = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject( + signingAccount, + targetNodeType, + UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes + ) + /* + Let's get a cool name for this node. + */ + let targetNodeTypeCount = 0 + for (let i = 0; i < signingAccounts.signingAccounts.length; i++) { + let singningAccount = signingAccounts.signingAccounts[i] + if (singningAccount.signingAccountChild.type === targetNodeType) { + targetNodeTypeCount++ + } + } + signingAccountChild.name = targetNodeType +" # " + targetNodeTypeCount + let codeName = targetNodeType.replaceAll(' ', '-') + "-" + targetNodeTypeCount /* We store at the User Profile the Signed githubUsername */ + UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(signingAccountChild.payload, 'codeName', codeName) UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(signingAccount.payload, 'signature', signature) - - node.config = "{}" - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'nodeName', signingAccount.name) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'codeName', signingAccount.name) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'nodeType', signingAccount.type) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'nodeId', signingAccount.id) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'address', address) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'privateKey', privateKey) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'githubUsername', githubUsername) - UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'userProfileId', node.payload.referenceParent.id) + + let secrets = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(node.payload, 'secrets', signingAccount.name) + if (secrets === undefined) { + secrets = [] + } + + let secret = { + signingAccountChildName: signingAccountChild.name, + signingAccountChildType: targetNodeType, + signingAccountChildCodeName: codeName, + signingAccountNodeId: signingAccount.id, + privateKey: privateKey, + userProfileHandle: githubUsername, + userProfileId: node.payload.referenceParent.id + } + + secrets.push(secret) + + UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'secrets', secrets) /* Show nice message. */ diff --git a/Projects/Network/NT/Modules/WebSocketsNetworkClient.js b/Projects/Network/NT/Modules/WebSocketsNetworkClient.js new file mode 100644 index 000000000..fb491a4db --- /dev/null +++ b/Projects/Network/NT/Modules/WebSocketsNetworkClient.js @@ -0,0 +1,269 @@ +exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWebSocketsNetworkClient() { + + let thisObject = { + sendMessage: sendMessage, + initialize: initialize, + finalize: finalize + } + + let socketClient + + let web3 + let called = {} + let selectedNetworkNode // This is a Network Node we pick to try to connect to. + let onMessageFunctionsMap = new Map() + + return thisObject + + function finalize() { + socketClient.close() + socketClient = undefined + networkInterface = undefined + peerInterface = undefined + + web3 = undefined + called = undefined + onMessageFunctionsMap = undefined + } + + async function initialize() { + /* + Here we will pick a Network Node from all users profiles available that do have a Network Node running. // TODO + In the meantime, we will assume that we have chosen the following Network Node to connect to. + */ + web3 = new SA.nodeModules.web3() + + selectedNetworkNode = { + userProfileHandle: "Luis-Fernando-Molina", + blockchainAccount: "0xeBDCB7a73c4796ca9F025d005630eCe773dd9e54", + ranking: 0, + host: "localhost", + port: global.env.NETWORK_WEB_SOCKETS_INTERFACE_PORT + } + + socketClient = new SA.nodeModules.ws('ws://' + selectedNetworkNode.host + ':' + selectedNetworkNode.port) + + await setUpWebsocketClient() + } + + async function setUpWebsocketClient() { + + return new Promise(connectToNewtwork) + + function connectToNewtwork(resolve, reject) { + + try { + + socketClient.onopen = () => { onConnection() } + socketClient.onerror = err => { onError(err) } + + function onConnection() { + + handshakeProcedure() + + function handshakeProcedure() { + + let callerTimestamp + + stepOneRequest() + + function stepOneRequest() { + /* + Send Handshake Message Step One: + + At Step One we will just say hello, identify ourselves + as a Network Client, and send the Network Node our + User Profile Handle. + + This Handle will be signed by the Network Node to prove + it's ouwn identity, and later we will sign it's own handle + to prove ours. + */ + socketClient.onmessage = socketMessage => { stepOneResponse(socketMessage) } + + callerTimestamp = (new Date()).valueOf() + + let message = { + messageType: 'Handshake', + callerRole: 'Network Node', + callerProfileHandle: SA.secrets.map.get('Social Trading Desktop').githubUsername, + callerTimestamp: callerTimestamp, + step: 'One' + } + socketClient.send(JSON.stringify(message)) + } + + function stepOneResponse(socketMessage) { + let response = JSON.parse(socketMessage.data) + + if (response.result !== 'Ok') { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> response.message = ' + response.message) + reject() + return + } + + let signature = JSON.parse(response.signature) + called.blockchainAccount = web3.eth.accounts.recover(signature) + /* + We will check that the signature received produces a valid Blockchain Account. + */ + if (called.blockchainAccount === undefined) { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> Signature does not produce a valid Blockchain Account.') + reject() + return + } + /* + We will check that the blockchain account taken from the signature matches + the one we have on record for the user profile of the Network Node we are calling. + */ + if (called.blockchainAccount !== selectedNetworkNode.blockchainAccount) { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node called does not have the expected Profile Handle.') + reject() + return + } + + let signedMessage = JSON.parse(signature.message) + /* + We will verify that the signature belongs to the signature.message. + To do this we will hash the signature.message and see if we get + the same hash of the signature. + */ + let hash = web3.eth.accounts.hashMessage(signature.message) + if (hash !== signature.messageHash) { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> signature.message Hashed Does Not Match signature.messageHash.') + reject() + return + } + /* + We will check that the Network Node that responded has the same User Profile Handle + that we have on record, otherwise something is wrong and we should not proceed. + */ + if (signedMessage.calledProfileHandle !== selectedNetworkNode.userProfileHandle) { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node called does not have the expected Profile Handle.') + reject() + return + } + /* + We will check that the profile handle we sent to the Network Node, is returned at the + signed message, to avoid man in the middle attackts. + */ + if (signedMessage.callerProfileHandle !== SA.secrets.map.get('Social Trading Desktop').githubUsername) { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerProfileHandle does not match my own userProfileHandle.') + reject() + return + } + /* + We will also check that the callerTimestamp we sent to the Network Node, is returned at the + signed message, also to avoid man in the middle attackts. + */ + if (signedMessage.callerTimestamp !== callerTimestamp) { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerTimestamp does not match my own callerTimestamp.') + reject() + return + } + + /* + All validations passed, it seems we can continue with Step Two. + */ + stepTwoRequest(signedMessage) + } + + function stepTwoRequest(signedMessage) { + /* + Send Handshake Message Step Two: + + Here we will sign a message with the Network Node profile + handle and timestamp to prove our own identity. + */ + socketClient.onmessage = socketMessage => { stepTwoResponse(socketMessage) } + + let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get('Social Trading Desktop').privateKey) + + let message = { + messageType: 'Handshake', + signature: JSON.stringify(signature), + step: 'Two' + } + socketClient.send(JSON.stringify(message)) + } + + function stepTwoResponse(socketMessage) { + let response = JSON.parse(socketMessage.data) + + if (response.result !== 'Ok') { + console.log('[ERROR] Web Sockets Client -> stepOneResponse -> response.message = ' + response.message) + reject() + return + } + /* + This was the end of the Handshake producere. We are connected to the + Network Node and from now on, all response messages will be received + at this following function. + */ + socketClient.onmessage = socketMessage => { onMenssage(socketMessage) } + resolve() + } + } + } + + function onError(err) { + console.log('[ERROR] Web Sockets Client -> onError -> err.message = ' + err.message) + console.log('[ERROR] Web Sockets Client -> onError -> err.stack = ' + err.stack) + } + + } catch (err) { + console.log('[ERROR] Web Sockets Client -> setUpWebsocketClient -> err.stack = ' + err.stack) + } + + } + } + + function sendMessage(message) { + + return new Promise(sendSocketMessage) + + function sendSocketMessage(resolve, reject) { + + if (socketClient.readyState !== 1) { // 1 means connected and ready. + console.log('[ERROR] Web Sockets Client -> sendMessage -> Cannot send message while connection is closed.') + reject('Websockets Connection Not Ready.') + return + } + + let socketMessage = { + messageId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(), + messageType: 'Request', + payload: message + } + onMessageFunctionsMap.set(socketMessage.messageId, onMenssageFunction) + socketClient.send( + JSON.stringify(socketMessage) + ) + + function onMenssageFunction(response) { + try { + if (response.result === 'Ok') { + resolve(response.data) + } else { + console.log('[ERROR] Web Sockets Client -> onMenssageFunction -> response.message = ' + response.message) + reject(response.message) + } + } catch (err) { + callbackFunction = undefined + console.log('[ERROR] Web Sockets Client -> err.stack = ' + err.stack) + } + } + } + } + + function onMenssage(socketMessage) { + + let response = JSON.parse(socketMessage.data) + /* + We get the functioin that is going to resolve or reject the promise given. + */ + onMenssageFunction = onMessageFunctionsMap.get(response.messageId) + onMessageFunctionsMap.delete(response.messageId) + onMenssageFunction(response) + } +} \ No newline at end of file diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 238586f44..b8209b59c 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -1357,6 +1357,12 @@ "propertyName": "webSocketsInterface", "functionName": "newNetworkModulesWebSocketsInterface", "fileName": "WebSocketsInterface.js" + }, + { + "name": "Web Sockets Network Client", + "propertyName": "webSocketsNetworkClient", + "functionName": "newNetworkModulesWebSocketsNetworkClient", + "fileName": "WebSocketsNetworkClient.js" } ], "utilities": [] From 5712193f72b1258b74e2c9e1dda548c4642731ef Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 22 Oct 2021 14:47:01 +0200 Subject: [PATCH 03/15] Bug Fixed Network --- Desktop/DesktopApp.js | 8 ++++---- DesktopRoot.js | 5 ++--- Environment.js | 7 ++++++- NetworkRoot.js | 4 ++-- Projects/Network/NT/Modules/WebSocketsInterface.js | 7 ++++--- Projects/Network/NT/Modules/WebSocketsNetworkClient.js | 6 +++--- Projects/Network/SA/Modules/WebSocketsAppClient.js | 6 +++--- Projects/Social-Trading/DK/modules/WebAppInterface.js | 4 ++-- 8 files changed, 26 insertions(+), 21 deletions(-) diff --git a/Desktop/DesktopApp.js b/Desktop/DesktopApp.js index 3a24eb71b..02e44aa7a 100644 --- a/Desktop/DesktopApp.js +++ b/Desktop/DesktopApp.js @@ -43,7 +43,7 @@ exports.newDesktopApp = function newDesktopApp() { */ queryMessage = { queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILES, - emitterUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId, + emitterUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId, initialIndex: 'Last', amountRequested: 10, direction: 'Past' @@ -72,7 +72,7 @@ exports.newDesktopApp = function newDesktopApp() { let eventMessage = { eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(), eventType: SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE, - emitterUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId, + emitterUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId, targetUserProfileId: profile.userProfileId } @@ -97,8 +97,8 @@ exports.newDesktopApp = function newDesktopApp() { */ queryMessage = { queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILE_STATS, - emitterUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId, - targetUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId + emitterUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId, + targetUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId } query = { diff --git a/DesktopRoot.js b/DesktopRoot.js index 9cb84924a..c7440dee4 100644 --- a/DesktopRoot.js +++ b/DesktopRoot.js @@ -51,17 +51,16 @@ exports.newDesktopRoot = function newDesktopRoot() { simpleGit: require('simple-git'), nodeFetch: require('node-fetch') } - /* Setting up Secrets. */ SA.secrets = { - array: require('./My-Secrets/Secrets.json'), + array: require('./My-Secrets/Secrets.json').secrets, map: new Map() } for (let i = 0; i < SA.secrets.array.length; i++) { let secret = SA.secrets.array[i] - SA.secrets.map.set (secret.codeName, secret) + SA.secrets.map.set (secret.signingAccountChildCodeName, secret) } run() diff --git a/Environment.js b/Environment.js index 5d7a914af..41aa97b94 100644 --- a/Environment.js +++ b/Environment.js @@ -25,7 +25,12 @@ exports.newEnvironment = function () { PATH_TO_DESKTOP: './Desktop', PATH_TO_DEFAULT_WORKSPACE: path.join(basePath, './Projects/Foundations/Plugins/Workspaces'), PATH_TO_MY_WORKSPACES: path.join(basePath, './Platform/My-Workspaces'), - PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts') + PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts'), + DESKTOP_APP_SIGNING_ACCOUNT: 'Social-Trading-Desktop-App-1', + MOBILE_APP_SIGNING_ACCOUNT: 'Social-Trading-Mobile-App-1', + SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1', + PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1', + P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1', } if (process.env.PORTABLE_EXECUTABLE_DIR) { diff --git a/NetworkRoot.js b/NetworkRoot.js index dc0327fba..22e4df0e8 100644 --- a/NetworkRoot.js +++ b/NetworkRoot.js @@ -52,12 +52,12 @@ exports.newNetworkRoot = function newNetworkRoot() { Setting up Secrets. */ SA.secrets = { - array: require('./My-Secrets/Secrets.json'), + array: require('./My-Secrets/Secrets.json').secrets, map: new Map() } for (let i = 0; i < SA.secrets.array.length; i++) { let secret = SA.secrets.array[i] - SA.secrets.map.set(secret.codeName, secret) + SA.secrets.map.set(secret.signingAccountChildCodeName, secret) } NT.app = require('./Network/NetwokNode.js').newNetworkNode() diff --git a/Projects/Network/NT/Modules/WebSocketsInterface.js b/Projects/Network/NT/Modules/WebSocketsInterface.js index 32d00fd18..63c192f76 100644 --- a/Projects/Network/NT/Modules/WebSocketsInterface.js +++ b/Projects/Network/NT/Modules/WebSocketsInterface.js @@ -252,11 +252,11 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock */ let signedMessage = { callerProfileHandle: messageHeader.callerProfileHandle, - calledProfileHandle: SA.secrets.map.get('P2P Network Node').githubUsername, + calledProfileHandle: SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle, callerTimestamp: messageHeader.callerTimestamp, calledTimestamp: calledTimestamp } - let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get('P2P Network Node').privateKey) + let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).privateKey) let response = { result: 'Ok', @@ -345,7 +345,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock We will check that the signature includes this Network Node handle, to avoid man in the middle attackts. */ - if (signedMessage.calledProfileHandle !== SA.secrets.map.get('P2P Network Node').githubUsername) { + if (signedMessage.calledProfileHandle !== SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle) { let response = { result: 'Error', message: 'calledProfileHandle Does Not Match This Network Node Handle.' @@ -415,6 +415,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock } function removeCaller(caller) { + if (caller === undefined) { return } thisObject.callersMap.delete(caller.socket.id) diff --git a/Projects/Network/NT/Modules/WebSocketsNetworkClient.js b/Projects/Network/NT/Modules/WebSocketsNetworkClient.js index fb491a4db..89742008c 100644 --- a/Projects/Network/NT/Modules/WebSocketsNetworkClient.js +++ b/Projects/Network/NT/Modules/WebSocketsNetworkClient.js @@ -86,7 +86,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb let message = { messageType: 'Handshake', callerRole: 'Network Node', - callerProfileHandle: SA.secrets.map.get('Social Trading Desktop').githubUsername, + callerProfileHandle: SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle, callerTimestamp: callerTimestamp, step: 'One' } @@ -147,7 +147,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb We will check that the profile handle we sent to the Network Node, is returned at the signed message, to avoid man in the middle attackts. */ - if (signedMessage.callerProfileHandle !== SA.secrets.map.get('Social Trading Desktop').githubUsername) { + if (signedMessage.callerProfileHandle !== SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle) { console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerProfileHandle does not match my own userProfileHandle.') reject() return @@ -177,7 +177,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb */ socketClient.onmessage = socketMessage => { stepTwoResponse(socketMessage) } - let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get('Social Trading Desktop').privateKey) + let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).privateKey) let message = { messageType: 'Handshake', diff --git a/Projects/Network/SA/Modules/WebSocketsAppClient.js b/Projects/Network/SA/Modules/WebSocketsAppClient.js index 18572b7c7..2fe199596 100644 --- a/Projects/Network/SA/Modules/WebSocketsAppClient.js +++ b/Projects/Network/SA/Modules/WebSocketsAppClient.js @@ -86,7 +86,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock let message = { messageType: 'Handshake', callerRole: 'Network Client', - callerProfileHandle: SA.secrets.map.get('Social Trading Desktop').githubUsername, + callerProfileHandle: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileHandle, callerTimestamp: callerTimestamp, step: 'One' } @@ -147,7 +147,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock We will check that the profile handle we sent to the Network Node, is returned at the signed message, to avoid man in the middle attackts. */ - if (signedMessage.callerProfileHandle !== SA.secrets.map.get('Social Trading Desktop').githubUsername) { + if (signedMessage.callerProfileHandle !== SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileHandle) { console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerProfileHandle does not match my own userProfileHandle.') reject() return @@ -177,7 +177,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock */ socketClient.onmessage = socketMessage => { stepTwoResponse(socketMessage) } - let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get('Social Trading Desktop').privateKey) + let signature = web3.eth.accounts.sign(JSON.stringify(signedMessage), SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileHandle) let message = { messageType: 'Handshake', diff --git a/Projects/Social-Trading/DK/modules/WebAppInterface.js b/Projects/Social-Trading/DK/modules/WebAppInterface.js index 364e36711..2eedc20bd 100644 --- a/Projects/Social-Trading/DK/modules/WebAppInterface.js +++ b/Projects/Social-Trading/DK/modules/WebAppInterface.js @@ -47,7 +47,7 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModule } return JSON.stringify(response) } - queryMessage.emitterUserProfileId = SA.secrets.map.get('Social Trading Desktop').userProfileId + queryMessage.emitterUserProfileId = SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId messageHeader.queryMessage = JSON.stringify(queryMessage) let response @@ -126,7 +126,7 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModule eventMessage.postText = undefined } - eventMessage.emitterUserProfileId = SA.secrets.map.get('Social Trading Desktop').userProfileId + eventMessage.emitterUserProfileId = SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId messageHeader.eventMessage = JSON.stringify(eventMessage) let response = { From 3345eff34720b980d4bc1b17640d8441fb34b980 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 22 Oct 2021 15:46:56 +0200 Subject: [PATCH 04/15] Splitting Memory and changing it to Network Project --- .../NT/Globals/Memory.js | 5 +-- .../Network/NT/Modules/WebSocketsInterface.js | 2 +- Projects/Network/SA/Globals/Memory.js | 16 ++++++++ .../Network/SA/Utilities/NetworkNodePicker.js | 12 ++++++ Projects/ProjectsSchema.json | 39 +++++++++++++------ .../Social-Trading/NT/Modules/Bootstrap.js | 8 ++-- .../NT/Modules/ClientInterface.js | 6 +-- Projects/Social-Trading/NT/Modules/Event.js | 4 +- .../NT/Modules/Queries/BotProfileStats.js | 4 +- .../NT/Modules/Queries/Events.js | 10 ++--- .../Modules/Queries/UnfollowedUserProfiles.js | 4 +- .../NT/Modules/Queries/UserProfileStats.js | 4 +- .../NT/Modules/Queries/UserProfiles.js | 2 +- .../NT/Modules/Social-Graph/Post.js | 2 +- Projects/Social-Trading/NT/Modules/Storage.js | 10 ++--- .../NT/Utilities/QueriesValidations.js | 4 +- 16 files changed, 86 insertions(+), 46 deletions(-) rename Projects/{Social-Trading => Network}/NT/Globals/Memory.js (64%) create mode 100644 Projects/Network/SA/Globals/Memory.js create mode 100644 Projects/Network/SA/Utilities/NetworkNodePicker.js diff --git a/Projects/Social-Trading/NT/Globals/Memory.js b/Projects/Network/NT/Globals/Memory.js similarity index 64% rename from Projects/Social-Trading/NT/Globals/Memory.js rename to Projects/Network/NT/Globals/Memory.js index b0b2b9458..560d7ad6f 100644 --- a/Projects/Social-Trading/NT/Globals/Memory.js +++ b/Projects/Network/NT/Globals/Memory.js @@ -1,12 +1,9 @@ -exports.newSocialTradingGlobalsMemory = function () { +exports.newNetworkGlobalsMemory = function () { /* Here is the Data we are going to keep in memory. */ let thisObject = { maps: { - USER_PROFILES_BY_ID: new Map(), // Here we will store the user profiles by User Profile Id. - USER_PROFILES_BY_HANDLE: new Map(), // Here we will store the user profiles by User Profile Handle. - USER_PROFILES_BY_BLOCHAIN_ACCOUNT: new Map(), // Here we will store the user profiles by Blockchain Account. EVENTS: new Map() // This is the registry of all events received that prevents processing them more than once. }, arrays: { diff --git a/Projects/Network/NT/Modules/WebSocketsInterface.js b/Projects/Network/NT/Modules/WebSocketsInterface.js index 63c192f76..ebad1b2cc 100644 --- a/Projects/Network/NT/Modules/WebSocketsInterface.js +++ b/Projects/Network/NT/Modules/WebSocketsInterface.js @@ -304,7 +304,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock /* The signature gives us the blockchain account, and the account the user profile. */ - let witnessUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.get(caller.blockchainAccount) + let witnessUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.get(caller.blockchainAccount) if (witnessUserProfile === undefined) { let response = { diff --git a/Projects/Network/SA/Globals/Memory.js b/Projects/Network/SA/Globals/Memory.js new file mode 100644 index 000000000..7c86e1224 --- /dev/null +++ b/Projects/Network/SA/Globals/Memory.js @@ -0,0 +1,16 @@ +exports.newNetworkGlobalsMemory = function () { + /* + Here is the Data we are going to keep in memory. + */ + let thisObject = { + maps: { + USER_PROFILES_BY_ID: new Map(), // Here we will store the user profiles by User Profile Id. + USER_PROFILES_BY_HANDLE: new Map(), // Here we will store the user profiles by User Profile Handle. + USER_PROFILES_BY_BLOCHAIN_ACCOUNT: new Map() // Here we will store the user profiles by Blockchain Account. + }, + arrays: { + } + } + + return thisObject +} \ No newline at end of file diff --git a/Projects/Network/SA/Utilities/NetworkNodePicker.js b/Projects/Network/SA/Utilities/NetworkNodePicker.js new file mode 100644 index 000000000..a80bc58e4 --- /dev/null +++ b/Projects/Network/SA/Utilities/NetworkNodePicker.js @@ -0,0 +1,12 @@ +exports.newNetworkNetworkNodePicker = function newNetworkNetworkNodePicker () { + let thisObject = { + pickOneNetworkNode: pickOneNetworkNode + } + + return thisObject + + function pickOneNetworkNode() { + + + } +} \ No newline at end of file diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index b8209b59c..1f033bcc4 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -311,7 +311,8 @@ "name": "Load Save Frame", "propertyName": "loadSaveFrame", "functionName": "newVisualScriptingUtilitiesLoadSaveFrame" - }, { + }, + { "name": "Meshes", "propertyName": "meshes", "functionName": "newVisualScriptingUtilitiesMeshes" @@ -1350,7 +1351,14 @@ "name": "Network", "propertyName": "network", "NT": { - "globals": [], + "globals": [ + { + "name": "Memory", + "propertyName": "memory", + "functionName": "newNetworkGlobalsMemory", + "fileName": "Memory.js" + } + ], "modules": [ { "name": "Web Sockets Interface", @@ -1368,7 +1376,14 @@ "utilities": [] }, "SA": { - "globals": [], + "globals": [ + { + "name": "Memory", + "propertyName": "memory", + "functionName": "newNetworkGlobalsMemory", + "fileName": "Memory.js" + } + ], "modules": [ { "name": "Web Sockets App Client", @@ -1377,21 +1392,21 @@ "fileName": "WebSocketsAppClient.js" } ], - "utilities": [] + "utilities": [ + { + "name": "Network Node Picker", + "propertyName": "networkNodePicker", + "functionName": "newNetworkNetworkNodePicker", + "fileName": "NetworkNodePicker.js" + } + ] } }, { "name": "Social-Trading", "propertyName": "socialTrading", "NT": { - "globals": [ - { - "name": "Memory", - "propertyName": "memory", - "functionName": "newSocialTradingGlobalsMemory", - "fileName": "Memory.js" - } - ], + "globals": [], "modules": [ { "name": "User Profiles", diff --git a/Projects/Social-Trading/NT/Modules/Bootstrap.js b/Projects/Social-Trading/NT/Modules/Bootstrap.js index d0b5fb2a6..45c5dad80 100644 --- a/Projects/Social-Trading/NT/Modules/Bootstrap.js +++ b/Projects/Social-Trading/NT/Modules/Bootstrap.js @@ -56,9 +56,9 @@ exports.newBootstrap = function newBootstrap() { ranking ) - NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.set(userProfileId, userProfile) - NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_HANDLE.set(userHandle, userProfile) - NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.set(blockchainAccount, userProfile) + SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.set(userProfileId, userProfile) + SA.projects.network.globals.memory.maps.USER_PROFILES_BY_HANDLE.set(userHandle, userProfile) + SA.projects.network.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.set(blockchainAccount, userProfile) /* Each User Profile might have Signing Accounts, meaning accounts that can be siging on behalf of the User Profile. @@ -70,7 +70,7 @@ exports.newBootstrap = function newBootstrap() { let signatureObject = config.signature let web3 = new SA.nodeModules.web3() let blockchainAccount = web3.eth.accounts.recover(signatureObject) - NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.set(blockchainAccount, userProfile) + SA.projects.network.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.set(blockchainAccount, userProfile) } } } diff --git a/Projects/Social-Trading/NT/Modules/ClientInterface.js b/Projects/Social-Trading/NT/Modules/ClientInterface.js index b1791258a..60cc1be33 100644 --- a/Projects/Social-Trading/NT/Modules/ClientInterface.js +++ b/Projects/Social-Trading/NT/Modules/ClientInterface.js @@ -120,7 +120,7 @@ exports.newSocialTradingModulesClientInterface = function newSocialTradingModule We will not accept events that have already been processed. */ - if (NT.projects.socialTrading.globals.memory.maps.EVENTS.get(eventReceived.eventId) !== undefined) { + if (NT.projects.network.globals.memory.maps.EVENTS.get(eventReceived.eventId) !== undefined) { let response = { result: 'Error', message: 'Client Interface Event Already Exists.' @@ -133,8 +133,8 @@ exports.newSocialTradingModulesClientInterface = function newSocialTradingModule try { let event = NT.projects.socialTrading.modules.event.newSocialTradingModulesEvent() event.initialize(eventReceived) - NT.projects.socialTrading.globals.memory.maps.EVENTS.set(eventReceived.eventId, event) - NT.projects.socialTrading.globals.memory.arrays.EVENTS.push(event) + NT.projects.network.globals.memory.maps.EVENTS.set(eventReceived.eventId, event) + NT.projects.network.globals.memory.arrays.EVENTS.push(event) let response = { result: 'Ok', diff --git a/Projects/Social-Trading/NT/Modules/Event.js b/Projects/Social-Trading/NT/Modules/Event.js index f0bf34040..47c5fd45d 100644 --- a/Projects/Social-Trading/NT/Modules/Event.js +++ b/Projects/Social-Trading/NT/Modules/Event.js @@ -64,7 +64,7 @@ exports.newSocialTradingModulesEvent = function newSocialTradingModulesEvent() { if (thisObject.emitterUserProfileId === undefined) { throw ('Emitter User Profile Id Not Provided.') } - emitterUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(thisObject.emitterUserProfileId) + emitterUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(thisObject.emitterUserProfileId) if (emitterUserProfile === undefined) { throw ('Emitter User Profile Not Found.') } @@ -72,7 +72,7 @@ exports.newSocialTradingModulesEvent = function newSocialTradingModulesEvent() { Validate Target User Profile. */ if (thisObject.targetUserProfileId !== undefined) { - targetUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(thisObject.targetUserProfileId) + targetUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(thisObject.targetUserProfileId) if (targetUserProfile === undefined) { throw ('Target User Profile Not Found.') } diff --git a/Projects/Social-Trading/NT/Modules/Queries/BotProfileStats.js b/Projects/Social-Trading/NT/Modules/Queries/BotProfileStats.js index 2db10f72b..720f6e804 100644 --- a/Projects/Social-Trading/NT/Modules/Queries/BotProfileStats.js +++ b/Projects/Social-Trading/NT/Modules/Queries/BotProfileStats.js @@ -19,9 +19,9 @@ exports.newSocialTradingModulesQueriesBotProfileStats = function newSocialTradin */ let userProfile if (queryReceived.targetUserProfileId !== undefined) { - userProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.targetUserProfileId) + userProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.targetUserProfileId) } else { - userProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_HANDLE.get(queryReceived.targetUserProfileHandle) + userProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_HANDLE.get(queryReceived.targetUserProfileHandle) } if (userProfile === undefined) { diff --git a/Projects/Social-Trading/NT/Modules/Queries/Events.js b/Projects/Social-Trading/NT/Modules/Queries/Events.js index 352954b92..28d45def2 100644 --- a/Projects/Social-Trading/NT/Modules/Queries/Events.js +++ b/Projects/Social-Trading/NT/Modules/Queries/Events.js @@ -22,7 +22,7 @@ exports.newSocialTradingModulesQueriesEvents = function newSocialTradingModulesQ function initialize(queryReceived) { NT.projects.socialTrading.utilities.queriesValidations.profilesValidations(queryReceived, thisObject) - NT.projects.socialTrading.utilities.queriesValidations.arrayValidations(queryReceived, thisObject, NT.projects.socialTrading.globals.memory.arrays.EVENTS) + NT.projects.socialTrading.utilities.queriesValidations.arrayValidations(queryReceived, thisObject, NT.projects.network.globals.memory.arrays.EVENTS) } @@ -31,7 +31,7 @@ exports.newSocialTradingModulesQueriesEvents = function newSocialTradingModulesQ switch (thisObject.direction) { case SA.projects.socialTrading.globals.queryConstants.DIRECTION_FUTURE: { for (let i = thisObject.initialIndex; i < thisObject.initialIndex + thisObject.amountRequested; i++) { - let event = NT.projects.socialTrading.globals.memory.arrays.EVENTS[i] + let event = NT.projects.network.globals.memory.arrays.EVENTS[i] if (event === undefined) { break } checkEventContext(event) } @@ -39,7 +39,7 @@ exports.newSocialTradingModulesQueriesEvents = function newSocialTradingModulesQ } case SA.projects.socialTrading.globals.queryConstants.DIRECTION_PAST: { for (let i = thisObject.initialIndex; i > thisObject.initialIndex - thisObject.amountRequested; i--) { - let event = NT.projects.socialTrading.globals.memory.arrays.EVENTS[i] + let event = NT.projects.network.globals.memory.arrays.EVENTS[i] if (event === undefined) { break } checkEventContext(event) } @@ -59,11 +59,11 @@ exports.newSocialTradingModulesQueriesEvents = function newSocialTradingModulesQ Any of the above happening, means that indeed it is related. */ - let emitterUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(event.emitterUserProfileId) + let emitterUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(event.emitterUserProfileId) let emitterBotProfile = emitterUserProfile.bots.get(event.emitterBotProfileId) let emitterPost = emitterUserProfile.posts.get(event.emitterPostHash) - let targetUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(event.targetUserProfileId) + let targetUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(event.targetUserProfileId) let targetBotProfile let targetPost diff --git a/Projects/Social-Trading/NT/Modules/Queries/UnfollowedUserProfiles.js b/Projects/Social-Trading/NT/Modules/Queries/UnfollowedUserProfiles.js index 51a9b0d23..fc01a7e60 100644 --- a/Projects/Social-Trading/NT/Modules/Queries/UnfollowedUserProfiles.js +++ b/Projects/Social-Trading/NT/Modules/Queries/UnfollowedUserProfiles.js @@ -24,13 +24,13 @@ exports.newSocialTradingModulesQueriesUnfollowedUserProfiles = function newSocia function initialize(queryReceived) { - thisObject.emitterUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.emitterUserProfileId) + thisObject.emitterUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.emitterUserProfileId) if (thisObject.emitterUserProfile === undefined) { throw ('Emitter User Profile Not Found.') } thisObject.profiles = Array.from( - NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID, + SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID, x => x[1] ) thisObject.profiles.sort((a, b) => (a["ranking"] > b["ranking"]) ? 1 : -1) diff --git a/Projects/Social-Trading/NT/Modules/Queries/UserProfileStats.js b/Projects/Social-Trading/NT/Modules/Queries/UserProfileStats.js index 5825be95f..75e3ab41f 100644 --- a/Projects/Social-Trading/NT/Modules/Queries/UserProfileStats.js +++ b/Projects/Social-Trading/NT/Modules/Queries/UserProfileStats.js @@ -18,9 +18,9 @@ exports.newSocialTradingModulesQueriesUserProfileStats = function newSocialTradi Validate User Profile */ if (queryReceived.targetUserProfileId !== undefined) { - thisObject.profile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.targetUserProfileId) + thisObject.profile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.targetUserProfileId) } else { - thisObject.profile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_HANDLE.get(queryReceived.targetUserProfileHandle) + thisObject.profile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_HANDLE.get(queryReceived.targetUserProfileHandle) } if (thisObject.profile === undefined) { diff --git a/Projects/Social-Trading/NT/Modules/Queries/UserProfiles.js b/Projects/Social-Trading/NT/Modules/Queries/UserProfiles.js index 57b93bd74..f52467202 100644 --- a/Projects/Social-Trading/NT/Modules/Queries/UserProfiles.js +++ b/Projects/Social-Trading/NT/Modules/Queries/UserProfiles.js @@ -23,7 +23,7 @@ exports.newSocialTradingModulesQueriesUserProfiles = function newSocialTradingMo function initialize(queryReceived) { thisObject.profiles = Array.from( - NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID, + SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID, x => x[1] ) thisObject.profiles.sort((a, b) => (a["ranking"] > b["ranking"]) ? 1 : -1) diff --git a/Projects/Social-Trading/NT/Modules/Social-Graph/Post.js b/Projects/Social-Trading/NT/Modules/Social-Graph/Post.js index d462cab83..4975b2c50 100644 --- a/Projects/Social-Trading/NT/Modules/Social-Graph/Post.js +++ b/Projects/Social-Trading/NT/Modules/Social-Graph/Post.js @@ -99,7 +99,7 @@ exports.newSocialTradingModulesSocialGraphPost = function newSocialTradingModule /* Validate Target User Profile. */ - let targetUserProfile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(thisObject.targetUserProfileId) + let targetUserProfile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(thisObject.targetUserProfileId) if (targetUserProfile === undefined) { throw ('Target User Profile Not Found.') } diff --git a/Projects/Social-Trading/NT/Modules/Storage.js b/Projects/Social-Trading/NT/Modules/Storage.js index fa59b092e..105815bb9 100644 --- a/Projects/Social-Trading/NT/Modules/Storage.js +++ b/Projects/Social-Trading/NT/Modules/Storage.js @@ -54,9 +54,9 @@ exports.newSocialTradingModulesStorage = function newSocialTradingModulesStorage try { let event = NT.projects.socialTrading.modules.event.newSocialTradingModulesEvent() event.initialize(storedEvent) - NT.projects.socialTrading.globals.memory.maps.EVENTS.set(storedEvent.eventId, event) - NT.projects.socialTrading.globals.memory.arrays.EVENTS.push(event) - indexLastSavedEvent = NT.projects.socialTrading.globals.memory.arrays.EVENTS.length - 1 + NT.projects.network.globals.memory.maps.EVENTS.set(storedEvent.eventId, event) + NT.projects.network.globals.memory.arrays.EVENTS.push(event) + indexLastSavedEvent = NT.projects.network.globals.memory.arrays.EVENTS.length - 1 } catch (err) { if (err.stack !== undefined) { console.log('[ERROR] Client Interface -> err.stack = ' + err.stack) @@ -94,8 +94,8 @@ exports.newSocialTradingModulesStorage = function newSocialTradingModulesStorage let eventsToSave = [] let minuteToSave - for (let i = indexLastSavedEvent + 1; i < NT.projects.socialTrading.globals.memory.arrays.EVENTS.length; i++) { - let event = NT.projects.socialTrading.globals.memory.arrays.EVENTS[i] + for (let i = indexLastSavedEvent + 1; i < NT.projects.network.globals.memory.arrays.EVENTS.length; i++) { + let event = NT.projects.network.globals.memory.arrays.EVENTS[i] let currentMinute = Math.trunc((new Date()).valueOf() / SA.projects.foundations.globals.timeConstants.ONE_MIN_IN_MILISECONDS) let eventMinute = Math.trunc(event.timestamp / SA.projects.foundations.globals.timeConstants.ONE_MIN_IN_MILISECONDS) diff --git a/Projects/Social-Trading/NT/Utilities/QueriesValidations.js b/Projects/Social-Trading/NT/Utilities/QueriesValidations.js index 7f2e6f566..ffb20ecbd 100644 --- a/Projects/Social-Trading/NT/Utilities/QueriesValidations.js +++ b/Projects/Social-Trading/NT/Utilities/QueriesValidations.js @@ -15,14 +15,14 @@ exports.newSocialTradingUtilitiesQueriesValidations = function newSocialTradingU Validate User Profile */ if (queryReceived.emitterUserProfileId !== undefined) { - thisObject.profile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.emitterUserProfileId) + thisObject.profile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.emitterUserProfileId) if (thisObject.profile === undefined) { throw ('Emitter User Profile Not Found.') } } if (queryReceived.targetUserProfileId !== undefined) { - thisObject.profile = NT.projects.socialTrading.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.targetUserProfileId) + thisObject.profile = SA.projects.network.globals.memory.maps.USER_PROFILES_BY_ID.get(queryReceived.targetUserProfileId) if (thisObject.profile === undefined) { throw ('Target User Profile Not Found.') } From 871681261093eaf9fdcfb4ed6c3ada0ecca28a6c Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 22 Oct 2021 16:21:56 +0200 Subject: [PATCH 05/15] User Profiles Module --- .../SA/Modules/UserProfiles.js} | 17 ++++++---------- ...icker.js => AppClientNetworkNodePicker.js} | 2 +- Projects/ProjectsSchema.json | 20 +++++++++---------- .../Social-Trading/NT/Modules/SocialGraph.js | 7 ++++--- 4 files changed, 21 insertions(+), 25 deletions(-) rename Projects/{Social-Trading/NT/Modules/Bootstrap.js => Network/SA/Modules/UserProfiles.js} (82%) rename Projects/Network/SA/Utilities/{NetworkNodePicker.js => AppClientNetworkNodePicker.js} (60%) diff --git a/Projects/Social-Trading/NT/Modules/Bootstrap.js b/Projects/Network/SA/Modules/UserProfiles.js similarity index 82% rename from Projects/Social-Trading/NT/Modules/Bootstrap.js rename to Projects/Network/SA/Modules/UserProfiles.js index 45c5dad80..a4c73b8fd 100644 --- a/Projects/Social-Trading/NT/Modules/Bootstrap.js +++ b/Projects/Network/SA/Modules/UserProfiles.js @@ -1,15 +1,10 @@ -exports.newBootstrap = function newBootstrap() { +exports.newNetworkModulesUserProfiles = function newNetworkModulesUserProfiles() { /* - This module helps the Network Node to bootstrap, by - loading all the services and data that needs to start - operating. - - In particular, a network node operates with all User Profiles loaded in - memory maps. These profiles become part of the system in the form of User Profiles - Plugins at the Governance System, when user submit them. This means - that all these profiles are already at the local disk of the Network Node. - - From there they will be loaded into memory as part of this bootstrapping process. + This module is usefull for all Apps that needs to operate with all User Profiles loaded in + memory maps. + + User Profiles are plugins of the Governance System. Besides the info they carry, we also + need to read the blockchain for each one in order to calculate their ranking. */ let thisObject = { /* Framework Functions */ diff --git a/Projects/Network/SA/Utilities/NetworkNodePicker.js b/Projects/Network/SA/Utilities/AppClientNetworkNodePicker.js similarity index 60% rename from Projects/Network/SA/Utilities/NetworkNodePicker.js rename to Projects/Network/SA/Utilities/AppClientNetworkNodePicker.js index a80bc58e4..6fa659579 100644 --- a/Projects/Network/SA/Utilities/NetworkNodePicker.js +++ b/Projects/Network/SA/Utilities/AppClientNetworkNodePicker.js @@ -1,4 +1,4 @@ -exports.newNetworkNetworkNodePicker = function newNetworkNetworkNodePicker () { +exports.newAppClientNetworkNetworkNodePicker = function newAppClientNetworkNetworkNodePicker () { let thisObject = { pickOneNetworkNode: pickOneNetworkNode } diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 1f033bcc4..14d4f5fb6 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -1390,14 +1390,20 @@ "propertyName": "webSocketsAppClient", "functionName": "newNetworkModulesWebSocketsAppClient", "fileName": "WebSocketsAppClient.js" + }, + { + "name": "User Profiles", + "propertyName": "userProfiles", + "functionName": "newNetworkModulesUserProfiles", + "fileName": "UserProfiles.js" } ], "utilities": [ { - "name": "Network Node Picker", - "propertyName": "networkNodePicker", - "functionName": "newNetworkNetworkNodePicker", - "fileName": "NetworkNodePicker.js" + "name": "App Client Network Node Picker", + "propertyName": "appClientNetworkNodePicker", + "functionName": "newAppClientNetworkNetworkNodePicker", + "fileName": "AppClientNetworkNodePicker.js" } ] } @@ -1486,12 +1492,6 @@ "functionName": "newSocialTradingModulesSocialGraph", "fileName": "SocialGraph.js" }, - { - "name": "Bootstrap", - "propertyName": "bootstrap", - "functionName": "newSocialTradingModulesBootstrap", - "fileName": "Bootstrap.js" - }, { "name": "Query", "propertyName": "query", diff --git a/Projects/Social-Trading/NT/Modules/SocialGraph.js b/Projects/Social-Trading/NT/Modules/SocialGraph.js index 2ca0f8f49..41e169911 100644 --- a/Projects/Social-Trading/NT/Modules/SocialGraph.js +++ b/Projects/Social-Trading/NT/Modules/SocialGraph.js @@ -9,9 +9,10 @@ exports.newNetworkModulesSocialGraph = function newNetworkModulesSocialGraph() { their posts. */ let thisObject = { + userProfiles: undefined, /* Framework Functions */ initialize: initialize, - finalize: finalize + finalize: finalize } return thisObject @@ -21,7 +22,7 @@ exports.newNetworkModulesSocialGraph = function newNetworkModulesSocialGraph() { } async function initialize() { - let bootstrapProcess = NT.projects.socialTrading.modules.bootstrap.newBootstrap() - await bootstrapProcess.initialize() + thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles() + await thisObject.userProfiles.initialize() } } \ No newline at end of file From 94c45f2bddcc51c483e432c2b4dc9dfaf351411f Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 22 Oct 2021 18:32:04 +0200 Subject: [PATCH 06/15] User Profiles loaded both at the Network and Desktop --- Projects/Network/SA/Modules/UserProfiles.js | 2 +- Projects/ProjectsSchema.json | 38 ++++++++++--------- .../Social-Trading/DK/modules/SocialGraph.js | 6 ++- .../NT/Modules/Social-Graph/SocialGraph.js | 20 ---------- .../Modules/Social-Graph/BotProfile.js | 2 +- .../{NT => SA}/Modules/Social-Graph/Post.js | 0 .../Modules/Social-Graph/UserProfile.js | 2 +- 7 files changed, 27 insertions(+), 43 deletions(-) delete mode 100644 Projects/Social-Trading/NT/Modules/Social-Graph/SocialGraph.js rename Projects/Social-Trading/{NT => SA}/Modules/Social-Graph/BotProfile.js (98%) rename Projects/Social-Trading/{NT => SA}/Modules/Social-Graph/Post.js (100%) rename Projects/Social-Trading/{NT => SA}/Modules/Social-Graph/UserProfile.js (98%) diff --git a/Projects/Network/SA/Modules/UserProfiles.js b/Projects/Network/SA/Modules/UserProfiles.js index a4c73b8fd..346b0b604 100644 --- a/Projects/Network/SA/Modules/UserProfiles.js +++ b/Projects/Network/SA/Modules/UserProfiles.js @@ -43,7 +43,7 @@ exports.newNetworkModulesUserProfiles = function newNetworkModulesUserProfiles() let userProfileId = userProfilePlugin.id let userHandle = config.signature.message - let userProfile = NT.projects.socialTrading.modules.socialGraphUserProfile.newSocialTradingModulesSocialGraphUserProfile() + let userProfile = SA.projects.socialTrading.modules.socialGraphUserProfile.newSocialTradingModulesSocialGraphUserProfile() userProfile.initialize( userProfileId, userHandle, diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 14d4f5fb6..f016a2013 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -1468,24 +1468,6 @@ "functionName": "newSocialTradingModulesQueriesEvents", "fileName": "Queries/Events.js" }, - { - "name": "User Profile", - "propertyName": "socialGraphUserProfile", - "functionName": "newSocialTradingModulesSocialGraphUserProfile", - "fileName": "Social-Graph/UserProfile.js" - }, - { - "name": "Bot Profile", - "propertyName": "socialGraphBotProfile", - "functionName": "newSocialTradingModulesSocialGraphBotProfile", - "fileName": "Social-Graph/BotProfile.js" - }, - { - "name": "Post", - "propertyName": "socialGraphPost", - "functionName": "newSocialTradingModulesSocialGraphPost", - "fileName": "Social-Graph/Post.js" - }, { "name": "Social Graph", "propertyName": "socialGraph", @@ -1533,6 +1515,26 @@ ] }, "SA": { + "modules": [ + { + "name": "User Profile", + "propertyName": "socialGraphUserProfile", + "functionName": "newSocialTradingModulesSocialGraphUserProfile", + "fileName": "Social-Graph/UserProfile.js" + }, + { + "name": "Bot Profile", + "propertyName": "socialGraphBotProfile", + "functionName": "newSocialTradingModulesSocialGraphBotProfile", + "fileName": "Social-Graph/BotProfile.js" + }, + { + "name": "Post", + "propertyName": "socialGraphPost", + "functionName": "newSocialTradingModulesSocialGraphPost", + "fileName": "Social-Graph/Post.js" + } + ], "globals": [ { "name": "Query Constants", diff --git a/Projects/Social-Trading/DK/modules/SocialGraph.js b/Projects/Social-Trading/DK/modules/SocialGraph.js index 0d24d40b2..3c4c040fb 100644 --- a/Projects/Social-Trading/DK/modules/SocialGraph.js +++ b/Projects/Social-Trading/DK/modules/SocialGraph.js @@ -14,6 +14,7 @@ exports.newSocialTradingModulesSocialGraph = function newSocialTradingModulesSoc no need to ask it to a network node. */ let thisObject = { + userProfiles: undefined, initialize: initialize, finalize: finalize } @@ -24,7 +25,8 @@ exports.newSocialTradingModulesSocialGraph = function newSocialTradingModulesSoc } - function initialize() { - + async function initialize() { + thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles() + await thisObject.userProfiles.initialize() } } \ No newline at end of file diff --git a/Projects/Social-Trading/NT/Modules/Social-Graph/SocialGraph.js b/Projects/Social-Trading/NT/Modules/Social-Graph/SocialGraph.js deleted file mode 100644 index 864add3cd..000000000 --- a/Projects/Social-Trading/NT/Modules/Social-Graph/SocialGraph.js +++ /dev/null @@ -1,20 +0,0 @@ -exports.newSocialTradingModulesSocialGraph = function newSocialTradingModulesSocialGraph() { - /* - This object represent the entire Social Graph. - */ - let thisObject = { - - initialize: initialize, - finalize: finalize - } - - return thisObject - - function finalize() { - - } - - function initialize() { - - } -} \ No newline at end of file diff --git a/Projects/Social-Trading/NT/Modules/Social-Graph/BotProfile.js b/Projects/Social-Trading/SA/Modules/Social-Graph/BotProfile.js similarity index 98% rename from Projects/Social-Trading/NT/Modules/Social-Graph/BotProfile.js rename to Projects/Social-Trading/SA/Modules/Social-Graph/BotProfile.js index 2f1b41b47..8d2d3b07a 100644 --- a/Projects/Social-Trading/NT/Modules/Social-Graph/BotProfile.js +++ b/Projects/Social-Trading/SA/Modules/Social-Graph/BotProfile.js @@ -80,7 +80,7 @@ exports.newSocialTradingModulesSocialGraphBotProfile = function newSocialTrading if (thisObject.posts.get(emitterPostHash) !== undefined) { throw ('Post Already Exists.') } else { - let post = NT.projects.socialTrading.modules.socialGraphPost.newSocialTradingModulesSocialGraphPost() + let post = SA.projects.socialTrading.modules.socialGraphPost.newSocialTradingModulesSocialGraphPost() post.initialize( emitterUserProfileId, targetUserProfileId, diff --git a/Projects/Social-Trading/NT/Modules/Social-Graph/Post.js b/Projects/Social-Trading/SA/Modules/Social-Graph/Post.js similarity index 100% rename from Projects/Social-Trading/NT/Modules/Social-Graph/Post.js rename to Projects/Social-Trading/SA/Modules/Social-Graph/Post.js diff --git a/Projects/Social-Trading/NT/Modules/Social-Graph/UserProfile.js b/Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js similarity index 98% rename from Projects/Social-Trading/NT/Modules/Social-Graph/UserProfile.js rename to Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js index a54d0b6b2..187a4f17f 100644 --- a/Projects/Social-Trading/NT/Modules/Social-Graph/UserProfile.js +++ b/Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js @@ -84,7 +84,7 @@ exports.newSocialTradingModulesSocialGraphUserProfile = function newSocialTradin if (thisObject.posts.get(emitterPostHash) !== undefined) { throw ('Post Already Exists.') } else { - let post = NT.projects.socialTrading.modules.socialGraphPost.newSocialTradingModulesSocialGraphPost() + let post = SA.projects.socialTrading.modules.socialGraphPost.newSocialTradingModulesSocialGraphPost() post.initialize( emitterUserProfileId, targetUserProfileId, From 8f2800d6077aff417e4d9d3aceeb41b8ef44e8be Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 23 Oct 2021 13:02:34 +0200 Subject: [PATCH 07/15] 3 Liquidity Pools --- .../Governance/Plugins/Pools/Superalgos.json | 550 ++-- .../User-Profiles/Luis-Fernando-Molina.json | 2578 ++++++++--------- Projects/Governance/UI/Globals/SaToken.js | 4 +- .../Spaces/User-Profile-Space/UserProfile.js | 2 +- 4 files changed, 1572 insertions(+), 1562 deletions(-) diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json index 4d9dfa541..8b6432ce9 100644 --- a/Projects/Governance/Plugins/Pools/Superalgos.json +++ b/Projects/Governance/Plugins/Pools/Superalgos.json @@ -33,12 +33,12 @@ "id": "2e9dff69-e407-4ccb-9a42-e4a476e28d7c", "savedPayload": { "position": { - "x": 16579.81965415854, - "y": 43970.43851497094 + "x": 16367.687619802575, + "y": 43963.95530705624 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44260.21626285766 + "x": 16517.687619802575, + "y": 44223.76292819157 }, "floatingObject": { "isPinned": false, @@ -63,12 +63,12 @@ "id": "af1984a3-465b-48ed-9944-c101a8ed376c", "savedPayload": { "position": { - "x": 16696.62322535531, - "y": 43962.78280444552 + "x": 16478.52976213656, + "y": 43926.329469779426 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44260.21626285766 + "x": 16517.687619802575, + "y": 44223.76292819157 }, "floatingObject": { "isPinned": false, @@ -87,12 +87,12 @@ "id": "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d", "savedPayload": { "position": { - "x": 16657.465367689296, - "y": 44260.21626285766 + "x": 16517.687619802575, + "y": 44223.76292819157 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44560.21626285766 + "x": 16595.333333333332, + "y": 44513.54067607829 }, "floatingObject": { "isPinned": false, @@ -124,12 +124,12 @@ "id": "c41497c5-7440-4ebd-aabb-fbc3d022136b", "savedPayload": { "position": { - "x": 17019.59740204526, - "y": 44088.276607366366 + "x": 16822.97904686409, + "y": 43963.95530705624 }, "targetPosition": { - "x": 16869.59740204526, - "y": 44348.0842285017 + "x": 16745.333333333332, + "y": 44253.73305494296 }, "floatingObject": { "isPinned": false, @@ -154,12 +154,12 @@ "id": "6625953a-6026-4686-9091-2796fd08b9a7", "savedPayload": { "position": { - "x": 17107.60340413263, - "y": 44165.455799799085 + "x": 16927.96176203595, + "y": 44015.72705285559 }, "targetPosition": { - "x": 16869.59740204526, - "y": 44348.0842285017 + "x": 16745.333333333332, + "y": 44253.73305494296 }, "floatingObject": { "isPinned": false, @@ -178,12 +178,12 @@ "id": "174e7d3b-fe3c-4fb1-825c-4ea488d82171", "savedPayload": { "position": { - "x": 16869.59740204526, - "y": 44348.0842285017 + "x": 16745.333333333332, + "y": 44253.73305494296 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44560.21626285766 + "x": 16595.333333333332, + "y": 44513.54067607829 }, "floatingObject": { "isPinned": false, @@ -215,12 +215,12 @@ "id": "53ddcc36-f693-4193-8284-999a88f1c944", "savedPayload": { "position": { - "x": 17247.243115576017, - "y": 44482.570549326905 + "x": 17144.918702355386, + "y": 44285.894962547536 }, "targetPosition": { - "x": 16957.465367689296, - "y": 44560.21626285766 + "x": 16885.111081220053, + "y": 44435.894962547536 }, "floatingObject": { "isPinned": false, @@ -245,12 +245,12 @@ "id": "ff1e4a84-3363-4348-ad15-31a34898fa82", "savedPayload": { "position": { - "x": 17254.89882610144, - "y": 44599.37412052368 + "x": 17182.544539632196, + "y": 44396.73710488152 }, "targetPosition": { - "x": 16957.465367689296, - "y": 44560.21626285766 + "x": 16885.111081220053, + "y": 44435.894962547536 }, "floatingObject": { "isPinned": false, @@ -269,12 +269,12 @@ "id": "8b3714a0-3bf2-491e-8ffc-9c4286446382", "savedPayload": { "position": { - "x": 16957.465367689296, - "y": 44560.21626285766 + "x": 16885.111081220053, + "y": 44435.894962547536 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44560.21626285766 + "x": 16595.333333333332, + "y": 44513.54067607829 }, "floatingObject": { "isPinned": false, @@ -294,8 +294,8 @@ "id": "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b", "savedPayload": { "position": { - "x": 16657.465367689296, - "y": 44561.21626285766 + "x": 16595.333333333332, + "y": 44513.54067607829 }, "targetPosition": { "x": 16445.333333333332, @@ -337,12 +337,12 @@ "id": "0e10c82f-94b3-4f39-b673-15eaf0551df4", "savedPayload": { "position": { - "x": 17264.948575603998, - "y": 44472.348297213626 + "x": 17005.140954468665, + "y": 44103.73305494296 }, "targetPosition": { - "x": 17005.140954468665, - "y": 44622.348297213626 + "x": 16855.140954468665, + "y": 44363.54067607829 }, "floatingObject": { "isPinned": false, @@ -361,12 +361,12 @@ "id": "5332a29f-2139-4dd9-aa77-f87fcbf513df", "savedPayload": { "position": { - "x": 17005.140954468665, - "y": 44622.348297213626 + "x": 16855.140954468665, + "y": 44363.54067607829 }, "targetPosition": { - "x": 16745.333333333332, - "y": 44772.348297213626 + "x": 16705.140954468665, + "y": 44623.348297213626 }, "floatingObject": { "isPinned": false, @@ -398,12 +398,12 @@ "id": "8829c80f-028b-4315-85a1-82ad502f0687", "savedPayload": { "position": { - "x": 17264.948575603998, - "y": 45072.348297213626 + "x": 17305.140954468665, + "y": 44623.348297213626 }, "targetPosition": { "x": 17005.140954468665, - "y": 44922.348297213626 + "y": 44623.348297213626 }, "floatingObject": { "isPinned": false, @@ -423,11 +423,11 @@ "savedPayload": { "position": { "x": 17005.140954468665, - "y": 44922.348297213626 + "y": 44623.348297213626 }, "targetPosition": { - "x": 16745.333333333332, - "y": 44772.348297213626 + "x": 16705.140954468665, + "y": 44623.348297213626 }, "floatingObject": { "isPinned": false, @@ -445,6 +445,98 @@ ], "pools": [], "id": "e6e1e943-9d14-40ea-9adf-b110a9309e3a", + "savedPayload": { + "position": { + "x": 16705.140954468665, + "y": 44623.348297213626 + }, + "targetPosition": { + "x": 16445.333333333332, + "y": 44773.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Pool Class", + "name": "Incentives for Voting", + "config": "{}", + "project": "Governance", + "poolClasses": [ + { + "type": "Pool Class", + "name": "Voting Program", + "config": "{}", + "project": "Governance", + "poolClasses": [], + "pools": [ + { + "type": "Pool", + "name": "Voting Bonus", + "config": "{\n \"codeName\": \"Voting-Bonus\"\n}", + "project": "Governance", + "poolClasses": [], + "pools": [], + "id": "9eb846a4-effb-4380-9487-1a82011b0488", + "savedPayload": { + "position": { + "x": 17345.333333333332, + "y": 44773.348297213626 + }, + "targetPosition": { + "x": 17045.333333333332, + "y": 44773.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "80d4f08f-bb7f-48a2-9cef-be12befcac2e", + "savedPayload": { + "position": { + "x": 17045.333333333332, + "y": 44773.348297213626 + }, + "targetPosition": { + "x": 16745.333333333332, + "y": 44773.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "pools": [], + "id": "1f9590c2-e166-482c-8400-ba64e39f0934", "savedPayload": { "position": { "x": 16745.333333333332, @@ -469,162 +561,10 @@ }, { "type": "Pool Class", - "name": "Other Programs", + "name": "Incentives for Providing Liquidity to SA Markets", "config": "{}", "project": "Governance", "poolClasses": [ - { - "type": "Pool Class", - "name": "Claims Program", - "config": "{}", - "project": "Governance", - "poolClasses": [], - "pools": [], - "id": "5bd09ac2-6c9f-4a7d-a547-c05a8a1e98e2", - "savedPayload": { - "position": { - "x": 16947.243115576017, - "y": 44907.83461803883 - }, - "targetPosition": { - "x": 16657.465367689296, - "y": 44985.48033156959 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, - { - "type": "Pool Class", - "name": "Voting Program", - "config": "{}", - "project": "Governance", - "poolClasses": [], - "pools": [ - { - "type": "Pool", - "name": "Voting Bonus", - "config": "{\n \"codeName\": \"Voting-Bonus\"\n}", - "project": "Governance", - "poolClasses": [], - "pools": [], - "id": "9eb846a4-effb-4380-9487-1a82011b0488", - "savedPayload": { - "position": { - "x": 17237.020863462738, - "y": 45140.771758631105 - }, - "targetPosition": { - "x": 16947.243115576017, - "y": 45063.12604510035 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 4, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - } - ], - "id": "80d4f08f-bb7f-48a2-9cef-be12befcac2e", - "savedPayload": { - "position": { - "x": 16947.243115576017, - "y": 45063.12604510035 - }, - "targetPosition": { - "x": 16657.465367689296, - "y": 44985.48033156959 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, - { - "type": "Pool Class", - "name": "Staking Program", - "config": "{}", - "project": "Governance", - "poolClasses": [], - "pools": [ - { - "type": "Pool", - "name": "Staking Rewards", - "config": "{\n \"codeName\": \"Staking-Rewards\"\n}", - "project": "Governance", - "poolClasses": [], - "pools": [], - "id": "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a", - "savedPayload": { - "position": { - "x": 17081.729436401223, - "y": 45409.74440028152 - }, - "targetPosition": { - "x": 16869.59740204526, - "y": 45197.61236592555 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 4, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - } - ], - "id": "68e3f570-4156-4be6-8881-c526a06f85d0", - "savedPayload": { - "position": { - "x": 16869.59740204526, - "y": 45197.61236592555 - }, - "targetPosition": { - "x": 16657.465367689296, - "y": 44985.48033156959 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, { "type": "Pool Class", "name": "Liquidity Program", @@ -634,20 +574,80 @@ "pools": [ { "type": "Pool", - "name": "Liquidity Rewards", - "config": "{\n \"codeName\": \"Liquidity-Rewards\"\n}", + "name": "Liquidity Rewards BTCB", + "config": "{\n \"codeName\": \"Liquidity-Rewards-BTCB\"\n}", "project": "Governance", "poolClasses": [], "pools": [], "id": "a7651e92-ab96-49fc-af9c-f936682dd7a4", "savedPayload": { "position": { - "x": 16812.75679475081, - "y": 45565.03582734303 + "x": 17254.72632349072, + "y": 44995.70258368287 }, "targetPosition": { - "x": 16735.111081220053, - "y": 45275.25807945631 + "x": 16964.948575603998, + "y": 45073.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Pool", + "name": "Liquidity Rewards BNB", + "config": "{\n \"codeName\": \"Liquidity-Rewards-BNB\"\n}", + "project": "Governance", + "poolClasses": [], + "pools": [], + "id": "e7c21a28-fea6-48cc-a97c-cc43470bb2fc", + "savedPayload": { + "position": { + "x": 17224.75619673933, + "y": 45223.348297213626 + }, + "targetPosition": { + "x": 16964.948575603998, + "y": 45073.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Pool", + "name": "Liquidity Rewards BUSD", + "config": "{\n \"codeName\": \"Liquidity-Rewards-BUSD\"\n}", + "project": "Governance", + "poolClasses": [], + "pools": [], + "id": "962d9bc1-4e54-463c-86ae-43aec1db0f0f", + "savedPayload": { + "position": { + "x": 17042.594289134755, + "y": 45363.12604510035 + }, + "targetPosition": { + "x": 16964.948575603998, + "y": 45073.348297213626 }, "floatingObject": { "isPinned": false, @@ -666,12 +666,104 @@ "id": "477faa7a-da4f-4949-9439-a2475ed683de", "savedPayload": { "position": { - "x": 16735.111081220053, - "y": 45275.25807945631 + "x": 16964.948575603998, + "y": 45073.348297213626 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44985.48033156959 + "x": 16705.140954468665, + "y": 44923.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "pools": [], + "id": "00bbb418-2315-4845-aa39-8362489a360b", + "savedPayload": { + "position": { + "x": 16705.140954468665, + "y": 44923.348297213626 + }, + "targetPosition": { + "x": 16445.333333333332, + "y": 44773.348297213626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Pool Class", + "name": "Incentives for Staking & Delegating SA Tokens", + "config": "{}", + "project": "Governance", + "poolClasses": [ + { + "type": "Pool Class", + "name": "Staking Program", + "config": "{}", + "project": "Governance", + "poolClasses": [], + "pools": [ + { + "type": "Pool", + "name": "Staking Rewards", + "config": "{\n \"codeName\": \"Staking-Rewards\"\n}", + "project": "Governance", + "poolClasses": [], + "pools": [], + "id": "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a", + "savedPayload": { + "position": { + "x": 17114.948575603998, + "y": 45333.15591834896 + }, + "targetPosition": { + "x": 16855.140954468665, + "y": 45183.15591834896 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "68e3f570-4156-4be6-8881-c526a06f85d0", + "savedPayload": { + "position": { + "x": 16855.140954468665, + "y": 45183.15591834896 + }, + "targetPosition": { + "x": 16595.333333333332, + "y": 45033.15591834896 }, "floatingObject": { "isPinned": false, @@ -703,12 +795,12 @@ "id": "24e62dd3-4d7b-4eba-b401-493c155d85d0", "savedPayload": { "position": { - "x": 16502.17394062778, - "y": 45565.03582734303 + "x": 16595.333333333332, + "y": 45633.15591834896 }, "targetPosition": { - "x": 16579.81965415854, - "y": 45275.25807945631 + "x": 16595.333333333332, + "y": 45333.15591834896 }, "floatingObject": { "isPinned": false, @@ -727,12 +819,12 @@ "id": "f09429a2-3f6c-4210-bb73-0c8efd254c82", "savedPayload": { "position": { - "x": 16579.81965415854, - "y": 45275.25807945631 + "x": 16595.333333333332, + "y": 45333.15591834896 }, "targetPosition": { - "x": 16657.465367689296, - "y": 44985.48033156959 + "x": 16595.333333333332, + "y": 45033.15591834896 }, "floatingObject": { "isPinned": false, @@ -752,8 +844,8 @@ "id": "64cda2cd-270e-4046-ac3f-5cf9188113c2", "savedPayload": { "position": { - "x": 16657.465367689296, - "y": 44985.48033156959 + "x": 16595.333333333332, + "y": 45033.15591834896 }, "targetPosition": { "x": 16445.333333333332, @@ -762,7 +854,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -787,7 +879,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -947,7 +1039,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -972,7 +1064,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 090fe46f9..9913b4a51 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -127,12 +127,12 @@ "id": "f4d39b02-4324-438d-9f74-2bea2b7272ef", "savedPayload": { "position": { - "x": 4953.9475159862495, - "y": 23357.294901687517 + "x": 37976.33557568774, + "y": 18557.294901687517 }, "targetPosition": { - "x": 4777.611940298508, - "y": 23600 + "x": 37800, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -516,12 +516,12 @@ "id": "b6e3c87d-a11b-4b2a-b6a6-edc96375f5da", "savedPayload": { "position": { - "x": 5062.928895187054, - "y": 23507.294901687517 + "x": 38085.31695488855, + "y": 18707.294901687517 }, "targetPosition": { - "x": 4777.611940298508, - "y": 23600 + "x": 37800, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -565,12 +565,12 @@ "id": "2571cea1-2b6d-40f5-9331-8786bf57c184", "savedPayload": { "position": { - "x": 5878.905483476786, - "y": 23445.29319603238 + "x": 38901.29354317829, + "y": 18645.29319603238 }, "targetPosition": { - "x": 5655.962035833568, - "y": 23646.03237794004 + "x": 38678.35009553507, + "y": 18846.03237794004 }, "floatingObject": { "isPinned": false, @@ -624,15 +624,15 @@ "name": "Referrals Rewards Pool", "config": "{}", "project": "Governance", - "id": "e282a967-cfe8-49c3-abaa-26ca24204d68", + "id": "2233af97-a093-452f-adfb-0fafbc682551", "savedPayload": { "position": { - "x": 5987.311368662154, - "y": 22860.387380717464 + "x": 38866.491240231655, + "y": 18203.088009502004 }, "targetPosition": { - "x": 6272.6283235507, - "y": 22953.092479029947 + "x": 39166.08010065803, + "y": 18218.788796374887 }, "floatingObject": { "isPinned": false, @@ -653,33 +653,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Referrals Program", - "Pool Class", - "Governance", - "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" + "Pool Class" ], [ "Referrals Rewards", - "Pool", - "Governance", - "2e9dff69-e407-4ccb-9a42-e4a476e28d7c" + "Pool" ] ] } @@ -689,15 +679,15 @@ "name": "Referrals Bonus Pool", "config": "{}", "project": "Governance", - "id": "a4566415-80fe-49f4-a7dc-4aac4bd8410a", + "id": "a995dfc3-af93-4950-9a2a-61dc2b36d8dc", "savedPayload": { "position": { - "x": 6210.254816305372, - "y": 22659.648198809806 + "x": 39029.882950736166, + "y": 17951.486839118377 }, "targetPosition": { - "x": 6272.6283235507, - "y": 22953.092479029947 + "x": 39166.08010065803, + "y": 18218.788796374887 }, "floatingObject": { "isPinned": false, @@ -718,33 +708,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Referrals Program", - "Pool Class", - "Governance", - "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" + "Pool Class" ], [ "Referrals Bonus", - "Pool", - "Governance", - "af1984a3-465b-48ed-9944-c101a8ed376c" + "Pool" ] ] } @@ -753,15 +733,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "8da6770a-27ec-4b6b-93af-0dc7d0667fc4", + "id": "96cf84d9-318d-46e7-84b8-0484e8637c03", "savedPayload": { "position": { - "x": 6272.6283235507, - "y": 22953.092479029947 + "x": 39166.08010065803, + "y": 18218.788796374887 }, "targetPosition": { - "x": 6473.367505458357, - "y": 23176.035926673165 + "x": 39417.681271041656, + "y": 18382.180506879395 }, "floatingObject": { "isPinned": false, @@ -782,27 +762,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Referrals Program", - "Pool Class", - "Governance", - "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" + "Pool Class" ] ] } @@ -819,15 +791,15 @@ "name": "Support Rewards Pool", "config": "{}", "project": "Governance", - "id": "ab430be0-696d-4325-9dc9-bbe166d2193c", + "id": "c591aede-51b6-4715-a1c1-57e643d461b8", "savedPayload": { "position": { - "x": 6352.871142409376, - "y": 22609.145108990284 + "x": 39154.56858188867, + "y": 17865.792779016036 }, "targetPosition": { - "x": 6489.068292331241, - "y": 22876.447066246794 + "x": 39355.30776379633, + "y": 18088.736226659254 }, "floatingObject": { "isPinned": false, @@ -848,33 +820,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Support Program", - "Pool Class", - "Governance", - "174e7d3b-fe3c-4fb1-825c-4ea488d82171" + "Pool Class" ], [ "Support Rewards", - "Pool", - "Governance", - "c41497c5-7440-4ebd-aabb-fbc3d022136b" + "Pool" ] ] } @@ -884,15 +846,15 @@ "name": "Support Bonus Pool", "config": "{}", "project": "Governance", - "id": "4fe57296-a7c3-47d2-a6b1-721495aea6dd", + "id": "263b5491-c604-44d8-a8de-31b9d85a7bb0", "savedPayload": { "position": { - "x": 6652.460002835749, - "y": 22624.845895863167 + "x": 39448.012862108815, + "y": 17803.41927177071 }, "targetPosition": { - "x": 6489.068292331241, - "y": 22876.447066246794 + "x": 39355.30776379633, + "y": 18088.736226659254 }, "floatingObject": { "isPinned": false, @@ -913,33 +875,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Support Program", - "Pool Class", - "Governance", - "174e7d3b-fe3c-4fb1-825c-4ea488d82171" + "Pool Class" ], [ "Support Bonus", - "Pool", - "Governance", - "6625953a-6026-4686-9091-2796fd08b9a7" + "Pool" ] ] } @@ -948,15 +900,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "23feb1dc-3a4a-49a2-9392-d9ba84abd3fd", + "id": "999c6b02-4c1e-4913-890e-19567d52c151", "savedPayload": { "position": { - "x": 6489.068292331241, - "y": 22876.447066246794 + "x": 39355.30776379633, + "y": 18088.736226659254 }, "targetPosition": { - "x": 6473.367505458357, - "y": 23176.035926673165 + "x": 39417.681271041656, + "y": 18382.180506879395 }, "floatingObject": { "isPinned": false, @@ -977,27 +929,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Support Program", - "Pool Class", - "Governance", - "174e7d3b-fe3c-4fb1-825c-4ea488d82171" + "Pool Class" ] ] } @@ -1014,15 +958,15 @@ "name": "Mentorship Rewards Pool", "config": "{}", "project": "Governance", - "id": "37005931-aa7b-460e-9aed-5fcf0152b01e", + "id": "b5c81c16-1370-415f-90b0-4b2b25bd51e5", "savedPayload": { "position": { - "x": 6789.01605141406, - "y": 22689.97978987696 + "x": 39596.77376841905, + "y": 17830.990476069397 }, "targetPosition": { - "x": 6696.310953101575, - "y": 22975.296744765506 + "x": 39581.07298154617, + "y": 18130.579336495768 }, "floatingObject": { "isPinned": false, @@ -1043,33 +987,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Mentorship Program", - "Pool Class", - "Governance", - "8b3714a0-3bf2-491e-8ffc-9c4286446382" + "Pool Class" ], [ "Mentorship Rewards", - "Pool", - "Governance", - "53ddcc36-f693-4193-8284-999a88f1c944" + "Pool" ] ] } @@ -1079,15 +1013,15 @@ "name": "Mentorship Bonus Pool", "config": "{}", "project": "Governance", - "id": "25967c06-52be-435d-b10e-39ad71a72a47", + "id": "663ba926-2b49-4baf-ae6e-5468a05f184a", "savedPayload": { "position": { - "x": 6989.755233321717, - "y": 22912.92323752018 + "x": 39848.37493880268, + "y": 17994.382186573905 }, "targetPosition": { - "x": 6696.310953101575, - "y": 22975.296744765506 + "x": 39581.07298154617, + "y": 18130.579336495768 }, "floatingObject": { "isPinned": false, @@ -1108,33 +1042,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Mentorship Program", - "Pool Class", - "Governance", - "8b3714a0-3bf2-491e-8ffc-9c4286446382" + "Pool Class" ], [ "Mentorship Bonus", - "Pool", - "Governance", - "ff1e4a84-3363-4348-ad15-31a34898fa82" + "Pool" ] ] } @@ -1143,15 +1067,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "bbc2c486-eda3-483d-82c9-fac2f983592e", + "id": "a8a0d6ed-0db4-4a45-ab6a-6f28b431efb0", "savedPayload": { "position": { - "x": 6696.310953101575, - "y": 22975.296744765506 + "x": 39581.07298154617, + "y": 18130.579336495768 }, "targetPosition": { - "x": 6473.367505458357, - "y": 23176.035926673165 + "x": 39417.681271041656, + "y": 18382.180506879395 }, "floatingObject": { "isPinned": false, @@ -1172,27 +1096,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Mentorship Program", - "Pool Class", - "Governance", - "8b3714a0-3bf2-491e-8ffc-9c4286446382" + "Pool Class" ] ] } @@ -1202,15 +1118,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "8bcc99aa-7700-4f67-abc3-c9a52692878f", + "id": "11824954-f2da-4165-9596-671a6bbc2907", "savedPayload": { "position": { - "x": 6473.367505458357, - "y": 23176.035926673165 + "x": 39417.681271041656, + "y": 18382.180506879395 }, "targetPosition": { - "x": 6457.666718585474, - "y": 23475.624787099536 + "x": 39480.05477828698, + "y": 18675.624787099536 }, "floatingObject": { "isPinned": false, @@ -1231,21 +1147,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ] ] } @@ -1268,15 +1178,15 @@ "name": "Airdrop Rewards Pool", "config": "{}", "project": "Governance", - "id": "07f5166e-a2b2-45dc-89b7-1850f09be2e1", + "id": "94485cbd-7188-4672-8610-09330e17b50a", "savedPayload": { "position": { - "x": 6866.020362853661, - "y": 22704.251695414787 + "x": 39448.012862108815, + "y": 17803.41927177071 }, "targetPosition": { - "x": 6773.3152645411765, - "y": 22989.568650303332 + "x": 39510.38636935414, + "y": 18096.86355199085 }, "floatingObject": { "isPinned": false, @@ -1297,33 +1207,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Airdrop Program", - "Pool Class", - "Governance", - "5332a29f-2139-4dd9-aa77-f87fcbf513df" + "Pool Class" ], [ "Airdrop Rewards", - "Pool", - "Governance", - "0e10c82f-94b3-4f39-b673-15eaf0551df4" + "Pool" ] ] } @@ -1332,15 +1232,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "884c3559-1bcf-441d-bc10-477919f38cf3", + "id": "87dbfbcd-7c72-4371-a20b-eee1c77df976", "savedPayload": { "position": { - "x": 6773.3152645411765, - "y": 22989.568650303332 + "x": 39510.38636935414, + "y": 18096.86355199085 }, "targetPosition": { - "x": 6680.610166228692, - "y": 23274.885605191877 + "x": 39572.75987659947, + "y": 18390.30783221099 }, "floatingObject": { "isPinned": false, @@ -1361,27 +1261,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Airdrop Program", - "Pool Class", - "Governance", - "5332a29f-2139-4dd9-aa77-f87fcbf513df" + "Pool Class" ] ] } @@ -1398,15 +1290,15 @@ "name": "Github Rewards Pool", "config": "{}", "project": "Governance", - "id": "8d43c1b9-0855-4fd9-9508-55b94175e264", + "id": "b2f8663d-2fea-495c-a3d6-81688889467c", "savedPayload": { "position": { - "x": 7267.498726668976, - "y": 23150.138590701223 + "x": 40018.64677188591, + "y": 17988.829468395674 }, "targetPosition": { - "x": 6974.054446448834, - "y": 23212.51209794655 + "x": 39795.70332424269, + "y": 18189.568650303332 }, "floatingObject": { "isPinned": false, @@ -1427,33 +1319,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Github Prgoram", - "Pool Class", - "Governance", - "e4daed5d-1c83-4f64-a504-3aef7d73e688" + "Pool Class" ], [ "Github Rewards", - "Pool", - "Governance", - "8829c80f-028b-4315-85a1-82ad502f0687" + "Pool" ] ] } @@ -1462,15 +1344,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "790046f1-e146-4d95-8e03-b15667281565", + "id": "4a93a9fd-c929-4fa0-be9f-f1676dbdc5d4", "savedPayload": { "position": { - "x": 6974.054446448834, - "y": 23212.51209794655 + "x": 39795.70332424269, + "y": 18189.568650303332 }, "targetPosition": { - "x": 6680.610166228692, - "y": 23274.885605191877 + "x": 39572.75987659947, + "y": 18390.30783221099 }, "floatingObject": { "isPinned": false, @@ -1491,27 +1373,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Github Prgoram", - "Pool Class", - "Governance", - "e4daed5d-1c83-4f64-a504-3aef7d73e688" + "Pool Class" ] ] } @@ -1521,15 +1395,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "ea55b1a3-4bae-440b-ba59-3422d06dccd0", + "id": "3a5ca9b0-c320-457a-a680-dc3b5971b3a3", "savedPayload": { "position": { - "x": 6680.610166228692, - "y": 23274.885605191877 + "x": 39572.75987659947, + "y": 18390.30783221099 }, "targetPosition": { - "x": 6457.666718585474, - "y": 23475.624787099536 + "x": 39480.05477828698, + "y": 18675.624787099536 }, "floatingObject": { "isPinned": false, @@ -1550,95 +1424,25 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ] ] } }, { "type": "Weight Votes Switch", - "name": "Other Programs", + "name": "Incentives for Voting", "config": "{}", "project": "Governance", "weightVotesSwitch": [ - { - "type": "Weight Votes Switch", - "name": "Claims Program", - "config": "{}", - "project": "Governance", - "weightVotesSwitch": [], - "poolWeightVotes": [], - "assetWeightVotes": [], - "featureWeightVotes": [], - "positionWeightVotes": [], - "id": "71d7bae4-f6b9-4490-a984-71eb00b0f6b3", - "savedPayload": { - "position": { - "x": 6920.647289516354, - "y": 23239.724403588792 - }, - "targetPosition": { - "x": 6757.255579011846, - "y": 23491.32557397242 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - }, - "referenceParent": { - "type": "Pool Class", - "name": "Claims Program", - "id": "5bd09ac2-6c9f-4a7d-a547-c05a8a1e98e2" - }, - "referenceParentCombinedNodePath": [ - [ - "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" - ], - [ - "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" - ], - [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" - ], - [ - "Claims Program", - "Pool Class", - "Governance", - "5bd09ac2-6c9f-4a7d-a547-c05a8a1e98e2" - ] - ] - } - }, { "type": "Weight Votes Switch", "name": "Voting Program", @@ -1651,15 +1455,15 @@ "name": "Voting Bonus Pool", "config": "{}", "project": "Governance", - "id": "c122965e-2b37-46c4-9ddd-f605c0890ef0", + "id": "46b120d1-8ba2-4b47-b3c4-c7b878a58d5c", "savedPayload": { "position": { - "x": 7291.859493524866, - "y": 23218.931274128692 + "x": 40148.88512121665, + "y": 18073.40724137656 }, "targetPosition": { - "x": 7024.557536268356, - "y": 23355.128424050556 + "x": 39925.94167357343, + "y": 18274.14642328422 }, "floatingObject": { "isPinned": false, @@ -1680,33 +1484,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Incentives for Voting", + "Pool Class" ], [ "Voting Program", - "Pool Class", - "Governance", - "80d4f08f-bb7f-48a2-9cef-be12befcac2e" + "Pool Class" ], [ "Voting Bonus", - "Pool", - "Governance", - "9eb846a4-effb-4380-9487-1a82011b0488" + "Pool" ] ] } @@ -1715,15 +1509,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "fa38cfba-ad3c-49aa-9e37-c4aa56bf9f37", + "id": "b074ba3d-3158-48e7-b0d2-d90392d7304d", "savedPayload": { "position": { - "x": 7024.557536268356, - "y": 23355.128424050556 + "x": 39925.94167357343, + "y": 18274.14642328422 }, "targetPosition": { - "x": 6757.255579011846, - "y": 23491.32557397242 + "x": 39702.998225930205, + "y": 18474.885605191877 }, "floatingObject": { "isPinned": false, @@ -1744,291 +1538,76 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Incentives for Voting", + "Pool Class" ], [ "Voting Program", - "Pool Class", - "Governance", - "80d4f08f-bb7f-48a2-9cef-be12befcac2e" + "Pool Class" ] ] } + } + ], + "poolWeightVotes": [], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "62a40c05-77c1-47df-80d7-41b6a98f0318", + "savedPayload": { + "position": { + "x": 39702.998225930205, + "y": 18474.885605191877 }, - { - "type": "Weight Votes Switch", - "name": "Staking Program", - "config": "{}", - "project": "Governance", - "weightVotesSwitch": [], - "poolWeightVotes": [ - { - "type": "Pool Weight Vote", - "name": "Staking Rewards Pool", - "config": "{}", - "project": "Governance", - "id": "cca191bd-5d90-434f-b88c-ccb9e6f0c868", - "savedPayload": { - "position": { - "x": 7356.43329986459, - "y": 23522.727147718186 - }, - "targetPosition": { - "x": 7056.844439438218, - "y": 23507.026360845302 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - }, - "referenceParent": { - "type": "Pool", - "name": "Staking Rewards", - "id": "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a" - }, - "referenceParentCombinedNodePath": [ - [ - "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" - ], - [ - "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" - ], - [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" - ], - [ - "Staking Program", - "Pool Class", - "Governance", - "68e3f570-4156-4be6-8881-c526a06f85d0" - ], - [ - "Staking Rewards", - "Pool", - "Governance", - "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a" - ] - ] - } - } + "targetPosition": { + "x": 39480.05477828698, + "y": 18675.624787099536 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Incentives for Voting", + "id": "1f9590c2-e166-482c-8400-ba64e39f0934" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" ], - "assetWeightVotes": [], - "featureWeightVotes": [], - "positionWeightVotes": [], - "id": "6a758dd3-74cf-48af-a4cd-f080d0058d41", - "savedPayload": { - "position": { - "x": 7056.844439438218, - "y": 23507.026360845302 - }, - "targetPosition": { - "x": 6757.255579011846, - "y": 23491.32557397242 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - }, - "referenceParent": { - "type": "Pool Class", - "name": "Staking Program", - "id": "68e3f570-4156-4be6-8881-c526a06f85d0" - }, - "referenceParentCombinedNodePath": [ - [ - "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" - ], - [ - "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" - ], - [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" - ], - [ - "Staking Program", - "Pool Class", - "Governance", - "68e3f570-4156-4be6-8881-c526a06f85d0" - ] - ] - } - }, - { - "type": "Weight Votes Switch", - "name": "Delegation Program", - "config": "{}", - "project": "Governance", - "weightVotesSwitch": [], - "poolWeightVotes": [ - { - "type": "Pool Weight Vote", - "name": "Delegation Bonus Pool", - "config": "{}", - "project": "Governance", - "id": "053f3e5a-5c80-46e5-b798-9bb8daa6b679", - "savedPayload": { - "position": { - "x": 7260.457919779101, - "y": 23818.108994981434 - }, - "targetPosition": { - "x": 7008.856749395473, - "y": 23654.717284476927 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - }, - "referenceParent": { - "type": "Pool", - "name": "Delegation Bonus", - "id": "24e62dd3-4d7b-4eba-b401-493c155d85d0" - }, - "referenceParentCombinedNodePath": [ - [ - "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" - ], - [ - "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" - ], - [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" - ], - [ - "Delegation Program", - "Pool Class", - "Governance", - "f09429a2-3f6c-4210-bb73-0c8efd254c82" - ], - [ - "Delegation Bonus", - "Pool", - "Governance", - "24e62dd3-4d7b-4eba-b401-493c155d85d0" - ] - ] - } - } + [ + "Governance Programs", + "Pool Class" ], - "assetWeightVotes": [], - "featureWeightVotes": [], - "positionWeightVotes": [], - "id": "d1e0560b-80a2-407a-85c7-e84b0e2b164c", - "savedPayload": { - "position": { - "x": 7008.856749395473, - "y": 23654.717284476927 - }, - "targetPosition": { - "x": 6757.255579011846, - "y": 23491.32557397242 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - }, - "referenceParent": { - "type": "Pool Class", - "name": "Delegation Program", - "id": "f09429a2-3f6c-4210-bb73-0c8efd254c82" - }, - "referenceParentCombinedNodePath": [ - [ - "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" - ], - [ - "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" - ], - [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" - ], - [ - "Delegation Program", - "Pool Class", - "Governance", - "f09429a2-3f6c-4210-bb73-0c8efd254c82" - ] - ] - } - }, + [ + "Incentives for Voting", + "Pool Class" + ] + ] + } + }, + { + "type": "Weight Votes Switch", + "name": "Incentives for Providing Liquidity to SA Markets", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [ { "type": "Weight Votes Switch", "name": "Liquidity Program", @@ -2038,18 +1617,18 @@ "poolWeightVotes": [ { "type": "Pool Weight Vote", - "name": "Liquidity Rewards Pool", + "name": "Liquidity Rewards BTCB Pool", "config": "{}", "project": "Governance", - "id": "fcc74a4e-bc01-45e7-a42d-efdca2f03d21", + "id": "1f9b7fad-8276-420a-8661-9a42200f7041", "savedPayload": { "position": { - "x": 7029.649878855575, - "y": 24025.92948848544 + "x": 40230.335049231784, + "y": 18299.276602225254 }, "targetPosition": { - "x": 6893.45272893371, - "y": 23758.62753122893 + "x": 40066.94333872727, + "y": 18550.87777260888 }, "floatingObject": { "isPinned": false, @@ -2064,39 +1643,139 @@ }, "referenceParent": { "type": "Pool", - "name": "Liquidity Rewards", + "name": "Liquidity Rewards BTCB", "id": "a7651e92-ab96-49fc-af9c-f936682dd7a4" }, "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Incentives for Providing Liquidity to SA Markets", + "Pool Class" ], [ "Liquidity Program", - "Pool Class", - "Governance", - "477faa7a-da4f-4949-9439-a2475ed683de" + "Pool Class" ], [ - "Liquidity Rewards", - "Pool", - "Governance", - "a7651e92-ab96-49fc-af9c-f936682dd7a4" + "Liquidity Rewards BTCB", + "Pool" + ] + ] + } + }, + { + "type": "Pool Weight Vote", + "name": "Liquidity Rewards BNB Pool", + "config": "{}", + "project": "Governance", + "id": "188647a0-2813-46e6-8044-2fc84b411841", + "savedPayload": { + "position": { + "x": 40360.38761894742, + "y": 18488.504265363554 + }, + "targetPosition": { + "x": 40066.94333872727, + "y": 18550.87777260888 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool", + "name": "Liquidity Rewards BNB", + "id": "e7c21a28-fea6-48cc-a97c-cc43470bb2fc" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Providing Liquidity to SA Markets", + "Pool Class" + ], + [ + "Liquidity Program", + "Pool Class" + ], + [ + "Liquidity Rewards BNB", + "Pool" + ] + ] + } + }, + { + "type": "Pool Weight Vote", + "name": "Liquidity Rewards BUSD Pool", + "config": "{}", + "project": "Governance", + "id": "2712a09b-3b9d-4605-992c-7160e213da01", + "savedPayload": { + "position": { + "x": 40318.5445091109, + "y": 18714.26948311339 + }, + "targetPosition": { + "x": 40066.94333872727, + "y": 18550.87777260888 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool", + "name": "Liquidity Rewards BUSD", + "id": "962d9bc1-4e54-463c-86ae-43aec1db0f0f" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Providing Liquidity to SA Markets", + "Pool Class" + ], + [ + "Liquidity Program", + "Pool Class" + ], + [ + "Liquidity Rewards BUSD", + "Pool" ] ] } @@ -2105,15 +1784,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "8b903501-ece3-4da3-9124-c15a9f0a1085", + "id": "73257198-86fc-4d85-a928-33c663d52960", "savedPayload": { "position": { - "x": 6893.45272893371, - "y": 23758.62753122893 + "x": 40066.94333872727, + "y": 18550.87777260888 }, "targetPosition": { - "x": 6757.255579011846, - "y": 23491.32557397242 + "x": 39773.49905850713, + "y": 18613.25127985421 }, "floatingObject": { "isPinned": false, @@ -2134,27 +1813,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Incentives for Providing Liquidity to SA Markets", + "Pool Class" ], [ "Liquidity Program", - "Pool Class", - "Governance", - "477faa7a-da4f-4949-9439-a2475ed683de" + "Pool Class" ] ] } @@ -2164,15 +1835,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "36d0b2a7-7f20-4164-897f-e6bd3d348975", + "id": "993dc031-24dc-4f65-8c76-41400a7b8a87", "savedPayload": { "position": { - "x": 6757.255579011846, - "y": 23491.32557397242 + "x": 39773.49905850713, + "y": 18613.25127985421 }, "targetPosition": { - "x": 6457.666718585474, - "y": 23475.624787099536 + "x": 39480.05477828698, + "y": 18675.624787099536 }, "floatingObject": { "isPinned": false, @@ -2187,27 +1858,298 @@ }, "referenceParent": { "type": "Pool Class", - "name": "Other Programs", + "name": "Incentives for Providing Liquidity to SA Markets", + "id": "00bbb418-2315-4845-aa39-8362489a360b" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Providing Liquidity to SA Markets", + "Pool Class" + ] + ] + } + }, + { + "type": "Weight Votes Switch", + "name": "Incentives for Staking & Delegating SA Tokens", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [ + { + "type": "Weight Votes Switch", + "name": "Staking Program", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [], + "poolWeightVotes": [ + { + "type": "Pool Weight Vote", + "name": "Staking Rewards Pool", + "config": "{}", + "project": "Governance", + "id": "d3d1c996-d7cf-4f73-8d06-c65916ea7eae", + "savedPayload": { + "position": { + "x": 40352.26029361582, + "y": 18643.582870921364 + }, + "targetPosition": { + "x": 40058.81601339568, + "y": 18705.95637816669 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool", + "name": "Staking Rewards", + "id": "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Staking & Delegating SA Tokens", + "Pool Class" + ], + [ + "Staking Program", + "Pool Class" + ], + [ + "Staking Rewards", + "Pool" + ] + ] + } + } + ], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "9ed84993-4fe4-449a-909e-7c9bb3e983d0", + "savedPayload": { + "position": { + "x": 40058.81601339568, + "y": 18705.95637816669 + }, + "targetPosition": { + "x": 39765.37173317553, + "y": 18768.32988541202 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Staking Program", + "id": "68e3f570-4156-4be6-8881-c526a06f85d0" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Staking & Delegating SA Tokens", + "Pool Class" + ], + [ + "Staking Program", + "Pool Class" + ] + ] + } + }, + { + "type": "Weight Votes Switch", + "name": "Delegation Program", + "config": "{}", + "project": "Governance", + "weightVotesSwitch": [], + "poolWeightVotes": [ + { + "type": "Pool Weight Vote", + "name": "Delegation Bonus Pool", + "config": "{}", + "project": "Governance", + "id": "60155261-179f-4386-950a-330bbf60673e", + "savedPayload": { + "position": { + "x": 40166.85009699085, + "y": 19214.216780698454 + }, + "targetPosition": { + "x": 39966.11091508319, + "y": 18991.273333055236 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool", + "name": "Delegation Bonus", + "id": "24e62dd3-4d7b-4eba-b401-493c155d85d0" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Staking & Delegating SA Tokens", + "Pool Class" + ], + [ + "Delegation Program", + "Pool Class" + ], + [ + "Delegation Bonus", + "Pool" + ] + ] + } + } + ], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "ec3e90ff-46a0-4f20-b3f0-1ac509b1011b", + "savedPayload": { + "position": { + "x": 39966.11091508319, + "y": 18991.273333055236 + }, + "targetPosition": { + "x": 39765.37173317553, + "y": 18768.32988541202 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Delegation Program", + "id": "f09429a2-3f6c-4210-bb73-0c8efd254c82" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Pools" + ], + [ + "Governance Programs", + "Pool Class" + ], + [ + "Incentives for Staking & Delegating SA Tokens", + "Pool Class" + ], + [ + "Delegation Program", + "Pool Class" + ] + ] + } + } + ], + "poolWeightVotes": [], + "assetWeightVotes": [], + "featureWeightVotes": [], + "positionWeightVotes": [], + "id": "4951e74d-f4fe-4099-ae64-d1d56fd59e09", + "savedPayload": { + "position": { + "x": 39765.37173317553, + "y": 18768.32988541202 + }, + "targetPosition": { + "x": 39480.05477828698, + "y": 18675.624787099536 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Pool Class", + "name": "Incentives for Staking & Delegating SA Tokens", "id": "64cda2cd-270e-4046-ac3f-5cf9188113c2" }, "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ - "Other Programs", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Incentives for Staking & Delegating SA Tokens", + "Pool Class" ] ] } @@ -2217,15 +2159,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "d928e0c2-5408-443b-9849-f015a6a97485", + "id": "f770311a-efa7-4f33-8bb1-ccf1182660fd", "savedPayload": { "position": { - "x": 6457.666718585474, - "y": 23475.624787099536 + "x": 39480.05477828698, + "y": 18675.624787099536 }, "targetPosition": { - "x": 6234.723270942256, - "y": 23676.363969007194 + "x": 39257.11133064376, + "y": 18876.363969007194 }, "floatingObject": { "isPinned": false, @@ -2246,15 +2188,11 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ] ] } @@ -2262,29 +2200,29 @@ { "type": "Weight Votes Switch", "name": "Positions, Assets & Features", - "config": "{\n\n}", + "config": "{}", "project": "Governance", "weightVotesSwitch": [], "poolWeightVotes": [ { "type": "Pool Weight Vote", "name": "Positions Pool", - "config": "{\n \"percentage\": 100\n}", + "config": "{}", "project": "Governance", - "id": "559bb585-4296-4fca-a8cb-b4d5ff1525c5", + "id": "f089f325-0dec-4182-9ad0-c354fd2b7b02", "savedPayload": { "position": { - "x": 39735.486318117684, - "y": 18388.599683061537 + "x": 39809.73024278882, + "y": 18832.871917397813 }, "targetPosition": { - "x": 39512.54287047446, - "y": 18589.338864969195 + "x": 39542.42828553231, + "y": 18969.069067319677 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -2300,21 +2238,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ], [ "Positions", - "Pool", - "Governance", - "a289d3a4-bd49-467b-b8d9-d0ba1152a131" + "Pool" ] ] } @@ -2324,15 +2256,15 @@ "name": "Assets Pool", "config": "{}", "project": "Governance", - "id": "2340d520-d787-4291-a809-d89c247ebcbf", + "id": "f287efa0-5d71-4b7a-b9db-22c1b4305d92", "savedPayload": { "position": { - "x": 39812.13173090084, - "y": 18605.03965184208 + "x": 39827.74524042086, + "y": 19061.77416563216 }, "targetPosition": { - "x": 39512.54287047446, - "y": 18589.338864969195 + "x": 39542.42828553231, + "y": 18969.069067319677 }, "floatingObject": { "isPinned": false, @@ -2353,21 +2285,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ], [ "Assets", - "Pool", - "Governance", - "16a7dd84-e3e8-4118-a17d-ac227e55ff92" + "Pool" ] ] } @@ -2377,15 +2303,15 @@ "name": "Features Pool", "config": "{}", "project": "Governance", - "id": "6f616ad7-276f-425b-89ef-c84ee2c1cf2c", + "id": "2aa0f49b-de37-4a44-b3f9-5a1f7ce2f971", "savedPayload": { "position": { - "x": 39713.28205238212, - "y": 18812.282312612413 + "x": 39678.625435454174, + "y": 19236.371024576187 }, "targetPosition": { - "x": 39512.54287047446, - "y": 18589.338864969195 + "x": 39542.42828553231, + "y": 18969.069067319677 }, "floatingObject": { "isPinned": false, @@ -2406,21 +2332,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ], [ "Features", - "Pool", - "Governance", - "4b7384bc-93ba-454f-9de8-1add9c4d84ce" + "Pool" ] ] } @@ -2429,20 +2349,20 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "61be79f5-5d3c-4667-9e7a-f4c13b958037", + "id": "9ecc239b-a990-41e1-946e-858fa8760778", "savedPayload": { "position": { - "x": 6520.040225830802, - "y": 23769.069067319677 + "x": 39542.42828553231, + "y": 18969.069067319677 }, "targetPosition": { - "x": 6234.723270942256, - "y": 23676.363969007194 + "x": 39257.11133064376, + "y": 18876.363969007194 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -2458,15 +2378,11 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ] ] } @@ -2479,17 +2395,17 @@ "id": "800e3388-1ea6-40ee-ace5-1811a3373e39", "savedPayload": { "position": { - "x": 6234.723270942256, - "y": 23676.363969007194 + "x": 39257.11133064376, + "y": 18876.363969007194 }, "targetPosition": { - "x": 5941.278990722114, - "y": 23738.73747625252 + "x": 38963.66705042362, + "y": 18938.73747625252 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -2555,12 +2471,12 @@ "id": "423ffb36-26bd-4f93-88e2-181d0fecf216", "savedPayload": { "position": { - "x": 22268.780862632066, - "y": 44568.822686494765 + "x": 39567.34180897697, + "y": 18852.53334862961 }, "targetPosition": { - "x": 22486.39317393575, - "y": 44775.32905920289 + "x": 39823.133858283196, + "y": 19009.282918044395 }, "floatingObject": { "isPinned": false, @@ -2626,12 +2542,12 @@ "id": "4dd851fd-2ed8-4588-ad05-4b343882f331", "savedPayload": { "position": { - "x": 22478.540089443388, - "y": 44475.431861710225 + "x": 39753.10024912642, + "y": 18717.571941925093 }, "targetPosition": { - "x": 22486.39317393575, - "y": 44775.32905920289 + "x": 39823.133858283196, + "y": 19009.282918044395 }, "floatingObject": { "isPinned": false, @@ -2697,12 +2613,12 @@ "id": "d8f8f8f6-b19f-46e7-b90e-09a7b2f91c0b", "savedPayload": { "position": { - "x": 22692.899546643876, - "y": 44557.716747899205 + "x": 39979.88342769798, + "y": 18753.49086873817 }, "targetPosition": { - "x": 22486.39317393575, - "y": 44775.32905920289 + "x": 39823.133858283196, + "y": 19009.282918044395 }, "floatingObject": { "isPinned": false, @@ -2764,12 +2680,12 @@ "id": "676b35bd-b6ab-494c-be94-28b6b78b8051", "savedPayload": { "position": { - "x": 22486.39317393575, - "y": 44775.32905920289 + "x": 39823.133858283196, + "y": 19009.282918044395 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -2839,12 +2755,12 @@ "id": "12da51e6-4b2d-47a8-a018-fc3bc78ca46d", "savedPayload": { "position": { - "x": 22479.735650368966, - "y": 44521.088491453615 + "x": 39763.76223126429, + "y": 18761.982293672674 }, "targetPosition": { - "x": 22601.756643291705, - "y": 44795.1521287464 + "x": 39940.097806952035, + "y": 19004.687391985157 }, "floatingObject": { "isPinned": false, @@ -2910,12 +2826,12 @@ "id": "79ce11b1-a0bf-40ad-8c05-b007d8122be3", "savedPayload": { "position": { - "x": 22709.267028155296, - "y": 44515.078000797235 + "x": 39987.0281464641, + "y": 18708.380889806616 }, "targetPosition": { - "x": 22601.756643291705, - "y": 44795.1521287464 + "x": 39940.097806952035, + "y": 19004.687391985157 }, "floatingObject": { "isPinned": false, @@ -2981,12 +2897,12 @@ "id": "a7aea264-eb6c-49c9-a5a9-3506b86349b8", "savedPayload": { "position": { - "x": 22875.820280584485, - "y": 44673.131135823656 + "x": 40182.80290526452, + "y": 18828.351816297414 }, "targetPosition": { - "x": 22601.756643291705, - "y": 44795.1521287464 + "x": 39940.097806952035, + "y": 19004.687391985157 }, "floatingObject": { "isPinned": false, @@ -3048,12 +2964,12 @@ "id": "50399b6a-8c05-4b41-be84-87143d17901f", "savedPayload": { "position": { - "x": 22601.756643291705, - "y": 44795.1521287464 + "x": 39940.097806952035, + "y": 19004.687391985157 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -3123,12 +3039,12 @@ "id": "23f5724f-df3c-450e-b33e-ca72cd3318b5", "savedPayload": { "position": { - "x": 22692.899546643876, - "y": 44557.716747899205 + "x": 39979.88342769798, + "y": 18753.49086873817 }, "targetPosition": { - "x": 22700.752631136238, - "y": 44857.61394539187 + "x": 40049.91703685476, + "y": 19045.20184485747 }, "floatingObject": { "isPinned": false, @@ -3194,12 +3110,12 @@ "id": "84264ff7-df26-43a5-8f1b-0dac5ef1959c", "savedPayload": { "position": { - "x": 22907.259003844363, - "y": 44640.001634088185 + "x": 40206.666606269544, + "y": 18789.409795551244 }, "targetPosition": { - "x": 22700.752631136238, - "y": 44857.61394539187 + "x": 40049.91703685476, + "y": 19045.20184485747 }, "floatingObject": { "isPinned": false, @@ -3265,12 +3181,12 @@ "id": "36c94baf-1a91-419e-9e84-fcbbdaf77f49", "savedPayload": { "position": { - "x": 23000.649828628906, - "y": 44849.760860899514 + "x": 40341.62801297406, + "y": 18975.168235700698 }, "targetPosition": { - "x": 22700.752631136238, - "y": 44857.61394539187 + "x": 40049.91703685476, + "y": 19045.20184485747 }, "floatingObject": { "isPinned": false, @@ -3332,12 +3248,12 @@ "id": "939ca969-7796-4915-a805-6d33f5cf7ab8", "savedPayload": { "position": { - "x": 22700.752631136238, - "y": 44857.61394539187 + "x": 40049.91703685476, + "y": 19045.20184485747 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -3407,12 +3323,12 @@ "id": "edc1d160-a1b8-466e-b6c5-e8fc9d1dd742", "savedPayload": { "position": { - "x": 22875.820280584485, - "y": 44673.131135823656 + "x": 40182.80290526452, + "y": 18828.351816297414 }, "targetPosition": { - "x": 22768.309895720893, - "y": 44953.20526377282 + "x": 40135.872565752456, + "y": 19124.658318475955 }, "floatingObject": { "isPinned": false, @@ -3478,12 +3394,12 @@ "id": "83a611a4-81f7-4273-bc9d-26597b1ee7a5", "savedPayload": { "position": { - "x": 23042.373533013673, - "y": 44831.18427085008 + "x": 40378.57766406494, + "y": 18948.322742788212 }, "targetPosition": { - "x": 22768.309895720893, - "y": 44953.20526377282 + "x": 40135.872565752456, + "y": 19124.658318475955 }, "floatingObject": { "isPinned": false, @@ -3549,12 +3465,12 @@ "id": "4b4e1930-d203-4c2d-a9b8-5fe8bded9ff5", "savedPayload": { "position": { - "x": 23048.384023670053, - "y": 45060.71564863641 + "x": 40432.179067931, + "y": 19171.588657988024 }, "targetPosition": { - "x": 22768.309895720893, - "y": 44953.20526377282 + "x": 40135.872565752456, + "y": 19124.658318475955 }, "floatingObject": { "isPinned": false, @@ -3616,12 +3532,12 @@ "id": "6cbe6ccd-4533-40e0-96cb-da9c6d7a5b4a", "savedPayload": { "position": { - "x": 22768.309895720893, - "y": 44953.20526377282 + "x": 40135.872565752456, + "y": 19124.658318475955 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -3691,12 +3607,12 @@ "id": "5e563c72-2162-4749-a194-527b03d4f57c", "savedPayload": { "position": { - "x": 23000.649828628906, - "y": 44849.760860899514 + "x": 40341.62801297406, + "y": 18975.168235700698 }, "targetPosition": { - "x": 22794.14345592078, - "y": 45067.3731722032 + "x": 40184.878443559275, + "y": 19230.960285006924 }, "floatingObject": { "isPinned": false, @@ -3762,12 +3678,12 @@ "id": "03782783-ad0f-4a1b-80be-ea9c926127d2", "savedPayload": { "position": { - "x": 23094.04065341345, - "y": 45059.520087710844 + "x": 40476.58941967858, + "y": 19160.92667585015 }, "targetPosition": { - "x": 22794.14345592078, - "y": 45067.3731722032 + "x": 40184.878443559275, + "y": 19230.960285006924 }, "floatingObject": { "isPinned": false, @@ -3833,12 +3749,12 @@ "id": "73aece7c-523d-4246-bda8-054173654de3", "savedPayload": { "position": { - "x": 23011.755767224466, - "y": 45273.87954491133 + "x": 40440.6704928655, + "y": 19387.709854421708 }, "targetPosition": { - "x": 22794.14345592078, - "y": 45067.3731722032 + "x": 40184.878443559275, + "y": 19230.960285006924 }, "floatingObject": { "isPinned": false, @@ -3900,12 +3816,12 @@ "id": "610b0eb5-5b27-4670-a74a-894a89559b9d", "savedPayload": { "position": { - "x": 22794.14345592078, - "y": 45067.3731722032 + "x": 40184.878443559275, + "y": 19230.960285006924 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -3975,12 +3891,12 @@ "id": "e0f39e0e-09c1-4d47-b243-e117796eae3c", "savedPayload": { "position": { - "x": 23048.384023670053, - "y": 45060.71564863641 + "x": 40432.179067931, + "y": 19171.588657988024 }, "targetPosition": { - "x": 22774.320386377272, - "y": 45182.73664155915 + "x": 40189.47396961851, + "y": 19347.924233675767 }, "floatingObject": { "isPinned": false, @@ -4046,12 +3962,12 @@ "id": "2bd7c476-f229-404a-b37a-43005b846fa9", "savedPayload": { "position": { - "x": 23054.39451432643, - "y": 45290.247026422745 + "x": 40485.78047179706, + "y": 19394.854573187837 }, "targetPosition": { - "x": 22774.320386377272, - "y": 45182.73664155915 + "x": 40189.47396961851, + "y": 19347.924233675767 }, "floatingObject": { "isPinned": false, @@ -4117,12 +4033,12 @@ "id": "b0d8095f-08fc-4c35-a809-626354d37e13", "savedPayload": { "position": { - "x": 22896.34137930001, - "y": 45456.80027885194 + "x": 40365.809545306256, + "y": 19590.62933198825 }, "targetPosition": { - "x": 22774.320386377272, - "y": 45182.73664155915 + "x": 40189.47396961851, + "y": 19347.924233675767 }, "floatingObject": { "isPinned": false, @@ -4184,12 +4100,12 @@ "id": "04dfb187-3aae-489e-b1b5-c2b92409ffc5", "savedPayload": { "position": { - "x": 22774.320386377272, - "y": 45182.73664155915 + "x": 40189.47396961851, + "y": 19347.924233675767 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -4259,12 +4175,12 @@ "id": "30296986-93c5-49d2-8437-58dabe439cc5", "savedPayload": { "position": { - "x": 23011.755767224466, - "y": 45273.87954491133 + "x": 40440.6704928655, + "y": 19387.709854421708 }, "targetPosition": { - "x": 22711.858569731798, - "y": 45281.73262940369 + "x": 40148.959516746196, + "y": 19457.74346357848 }, "floatingObject": { "isPinned": false, @@ -4330,12 +4246,12 @@ "id": "41cb7003-9d4b-443c-9341-0ea819aea348", "savedPayload": { "position": { - "x": 22929.470881035482, - "y": 45488.23900211182 + "x": 40404.75156605242, + "y": 19614.493032993265 }, "targetPosition": { - "x": 22711.858569731798, - "y": 45281.73262940369 + "x": 40148.959516746196, + "y": 19457.74346357848 }, "floatingObject": { "isPinned": false, @@ -4401,12 +4317,12 @@ "id": "be99ca83-bf02-45dc-bd87-81aa9083553d", "savedPayload": { "position": { - "x": 22719.71165422416, - "y": 45581.62982689636 + "x": 40218.99312590297, + "y": 19749.454439697784 }, "targetPosition": { - "x": 22711.858569731798, - "y": 45281.73262940369 + "x": 40148.959516746196, + "y": 19457.74346357848 }, "floatingObject": { "isPinned": false, @@ -4468,12 +4384,12 @@ "id": "2969e8b0-1f41-4ab9-8e82-1ace23539e91", "savedPayload": { "position": { - "x": 22711.858569731798, - "y": 45281.73262940369 + "x": 40148.959516746196, + "y": 19457.74346357848 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "floatingObject": { "isPinned": false, @@ -4533,12 +4449,12 @@ "id": "17d1ac34-0521-48a9-b6de-bcb227900990", "savedPayload": { "position": { - "x": 22494.246258428113, - "y": 45075.22625669556 + "x": 39893.16746743997, + "y": 19300.993894163697 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45197.2472496183 + "x": 39650.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -4608,12 +4524,12 @@ "id": "3785e593-d95b-4b14-9a64-5328ad97322b", "savedPayload": { "position": { - "x": 22827.601578984428, - "y": 44802.784766138975 + "x": 40162.59440348345, + "y": 18965.197435495476 }, "targetPosition": { - "x": 22765.2280717391, - "y": 45096.22904635912 + "x": 40162.59440348345, + "y": 19265.197435495476 }, "floatingObject": { "isPinned": false, @@ -4679,12 +4595,12 @@ "id": "89097f04-0bdb-4037-89f2-16358860fff7", "savedPayload": { "position": { - "x": 23016.829242122727, - "y": 44932.83733585461 + "x": 40374.72643783941, + "y": 19053.065401139513 }, "targetPosition": { - "x": 22765.2280717391, - "y": 45096.22904635912 + "x": 40162.59440348345, + "y": 19265.197435495476 }, "floatingObject": { "isPinned": false, @@ -4750,12 +4666,12 @@ "id": "a66f36be-dd9d-463b-a75b-c94dbed4ceab", "savedPayload": { "position": { - "x": 23058.67235195924, - "y": 45158.60255360445 + "x": 40462.59440348345, + "y": 19265.197435495476 }, "targetPosition": { - "x": 22765.2280717391, - "y": 45096.22904635912 + "x": 40162.59440348345, + "y": 19265.197435495476 }, "floatingObject": { "isPinned": false, @@ -4817,12 +4733,12 @@ "id": "3cd77671-7ac3-44fb-9252-cec8ec564e49", "savedPayload": { "position": { - "x": 22765.2280717391, - "y": 45096.22904635912 + "x": 40162.59440348345, + "y": 19265.197435495476 }, "targetPosition": { - "x": 22513.626901355474, - "y": 45259.62075686363 + "x": 39950.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -4892,12 +4808,12 @@ "id": "631c3e76-1eba-4ab4-a83a-8fd2a3757e2a", "savedPayload": { "position": { - "x": 23058.67235195924, - "y": 45158.60255360445 + "x": 40462.59440348345, + "y": 19265.197435495476 }, "targetPosition": { - "x": 22807.071181575615, - "y": 45321.99426410896 + "x": 40250.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -4963,12 +4879,12 @@ "id": "f9cef6ec-5174-4938-8bec-a75e7145288c", "savedPayload": { "position": { - "x": 23100.515461795756, - "y": 45384.367771354286 + "x": 40550.46236912748, + "y": 19477.32946985144 }, "targetPosition": { - "x": 22807.071181575615, - "y": 45321.99426410896 + "x": 40250.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -5034,12 +4950,12 @@ "id": "944d6b89-087e-443b-818f-025bd67a3d86", "savedPayload": { "position": { - "x": 22970.462892080122, - "y": 45573.595434492585 + "x": 40462.59440348345, + "y": 19689.461504207404 }, "targetPosition": { - "x": 22807.071181575615, - "y": 45321.99426410896 + "x": 40250.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -5101,12 +5017,12 @@ "id": "cbe80bd9-e20a-4082-90ee-616cbf3e38f0", "savedPayload": { "position": { - "x": 22807.071181575615, - "y": 45321.99426410896 + "x": 40250.46236912748, + "y": 19477.32946985144 }, "targetPosition": { - "x": 22513.626901355474, - "y": 45259.62075686363 + "x": 39950.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -5176,12 +5092,12 @@ "id": "779ce8f8-205c-41e1-ad0e-77422f6b7cfd", "savedPayload": { "position": { - "x": 22970.462892080122, - "y": 45573.595434492585 + "x": 40462.59440348345, + "y": 19689.461504207404 }, "targetPosition": { - "x": 22677.01861185998, - "y": 45511.22192724726 + "x": 40162.59440348345, + "y": 19689.461504207404 }, "floatingObject": { "isPinned": false, @@ -5247,12 +5163,12 @@ "id": "7f62ed64-1c88-4966-bdf9-3ed6dfa24855", "savedPayload": { "position": { - "x": 22840.41032236449, - "y": 45762.823097630884 + "x": 40374.72643783941, + "y": 19901.593538563367 }, "targetPosition": { - "x": 22677.01861185998, - "y": 45511.22192724726 + "x": 40162.59440348345, + "y": 19689.461504207404 }, "floatingObject": { "isPinned": false, @@ -5318,12 +5234,12 @@ "id": "8c2b2529-3458-4bfd-bacf-5a7067df1e7a", "savedPayload": { "position": { - "x": 22614.645104614654, - "y": 45804.6662074674 + "x": 40162.59440348345, + "y": 19989.461504207404 }, "targetPosition": { - "x": 22677.01861185998, - "y": 45511.22192724726 + "x": 40162.59440348345, + "y": 19689.461504207404 }, "floatingObject": { "isPinned": false, @@ -5385,12 +5301,12 @@ "id": "b7c9acac-e32f-4ce1-b233-f13027f8ab8e", "savedPayload": { "position": { - "x": 22677.01861185998, - "y": 45511.22192724726 + "x": 40162.59440348345, + "y": 19689.461504207404 }, "targetPosition": { - "x": 22513.626901355474, - "y": 45259.62075686363 + "x": 39950.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -5450,12 +5366,12 @@ "id": "dce27b85-20aa-41ef-9a61-bee23378b2c7", "savedPayload": { "position": { - "x": 22513.626901355474, - "y": 45259.62075686363 + "x": 39950.46236912748, + "y": 19477.32946985144 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45197.2472496183 + "x": 39650.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -5525,12 +5441,12 @@ "id": "2eaab319-e87c-4c4f-87b9-8081712da05d", "savedPayload": { "position": { - "x": 22921.24984537702, - "y": 45658.83493177763 + "x": 40432.179067931, + "y": 19783.070281714856 }, "targetPosition": { - "x": 22621.66098495065, - "y": 45643.13414490475 + "x": 40135.872565752456, + "y": 19830.000621226925 }, "floatingObject": { "isPinned": false, @@ -5596,12 +5512,12 @@ "id": "a1c1c213-d2ec-46f5-b757-5a8f0034515e", "savedPayload": { "position": { - "x": 22822.400166858308, - "y": 45866.07759254797 + "x": 40378.57766406494, + "y": 20006.336196914668 }, "targetPosition": { - "x": 22621.66098495065, - "y": 45643.13414490475 + "x": 40135.872565752456, + "y": 19830.000621226925 }, "floatingObject": { "isPinned": false, @@ -5667,12 +5583,12 @@ "id": "6b4d60cf-a460-4b42-bd52-64352c358082", "savedPayload": { "position": { - "x": 22605.960198077766, - "y": 45942.72300533112 + "x": 40182.80290526452, + "y": 20126.307123405466 }, "targetPosition": { - "x": 22621.66098495065, - "y": 45643.13414490475 + "x": 40135.872565752456, + "y": 19830.000621226925 }, "floatingObject": { "isPinned": false, @@ -5734,12 +5650,12 @@ "id": "7ae312ad-8c6a-4e8c-aa72-40da61c1ffab", "savedPayload": { "position": { - "x": 22621.66098495065, - "y": 45643.13414490475 + "x": 40135.872565752456, + "y": 19830.000621226925 }, "targetPosition": { - "x": 22420.92180304299, - "y": 45420.190697261525 + "x": 39893.16746743997, + "y": 19653.665045539183 }, "floatingObject": { "isPinned": false, @@ -5799,12 +5715,12 @@ "id": "08900f0b-6029-498d-9d19-47f01f0434b6", "savedPayload": { "position": { - "x": 22420.92180304299, - "y": 45420.190697261525 + "x": 39893.16746743997, + "y": 19653.665045539183 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45197.2472496183 + "x": 39650.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -5874,12 +5790,12 @@ "id": "c79f4031-ed0c-4888-9357-ffdbd536669b", "savedPayload": { "position": { - "x": 22724.183237981913, - "y": 45785.23925605334 + "x": 40265.699775509565, + "y": 19947.68481977476 }, "targetPosition": { - "x": 22427.876735803373, - "y": 45738.308916541275 + "x": 39966.11091508319, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -5945,12 +5861,12 @@ "id": "e0f15be2-bd27-4e4f-91d9-96ee8284c8bd", "savedPayload": { "position": { - "x": 22604.212311491116, - "y": 45981.01401485376 + "x": 40189.05436272641, + "y": 20164.124788555302 }, "targetPosition": { - "x": 22427.876735803373, - "y": 45738.308916541275 + "x": 39966.11091508319, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -6016,12 +5932,12 @@ "id": "cd67eba9-2ad2-425b-a442-c37f3914b591", "savedPayload": { "position": { - "x": 22380.946396291303, - "y": 46034.61541871982 + "x": 39981.811701956074, + "y": 20262.974467074015 }, "targetPosition": { - "x": 22427.876735803373, - "y": 45738.308916541275 + "x": 39966.11091508319, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -6083,12 +5999,12 @@ "id": "255e3cd2-2c0e-4167-b39a-3dbc087b50b5", "savedPayload": { "position": { - "x": 22427.876735803373, - "y": 45738.308916541275 + "x": 39966.11091508319, + "y": 19963.385606647644 }, "targetPosition": { - "x": 22251.54116011563, - "y": 45495.60381822879 + "x": 39743.16746743997, + "y": 19762.646424739985 }, "floatingObject": { "isPinned": false, @@ -6158,12 +6074,12 @@ "id": "f99dc02e-910b-44a0-89a3-6b497c81ce0b", "savedPayload": { "position": { - "x": 22237.030552056483, - "y": 46049.741583470735 + "x": 39844.18567069915, + "y": 20307.691875343753 }, "targetPosition": { - "x": 22129.52016719289, - "y": 45769.66745552157 + "x": 39680.79396019464, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -6229,12 +6145,12 @@ "id": "6031c14d-db66-477e-9e03-552997ec09fe", "savedPayload": { "position": { - "x": 22007.499174270153, - "y": 46043.731092814356 + "x": 39618.420452949314, + "y": 20349.534985180268 }, "targetPosition": { - "x": 22129.52016719289, - "y": 45769.66745552157 + "x": 39680.79396019464, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -6300,12 +6216,12 @@ "id": "505a6269-74a9-45a0-b74d-f4a7e31472de", "savedPayload": { "position": { - "x": 21849.446039243732, - "y": 45877.177840385164 + "x": 39429.192789811015, + "y": 20219.482415464634 }, "targetPosition": { - "x": 22129.52016719289, - "y": 45769.66745552157 + "x": 39680.79396019464, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -6367,12 +6283,12 @@ "id": "a5b13228-aa48-4849-833c-b0744b9e979b", "savedPayload": { "position": { - "x": 22129.52016719289, - "y": 45769.66745552157 + "x": 39680.79396019464, + "y": 20056.090704960126 }, "targetPosition": { - "x": 22251.54116011563, - "y": 45495.60381822879 + "x": 39743.16746743997, + "y": 19762.646424739985 }, "floatingObject": { "isPinned": false, @@ -6432,12 +6348,12 @@ "id": "251cc56c-13a3-408d-9b2a-c97a3cbc6a01", "savedPayload": { "position": { - "x": 22251.54116011563, - "y": 45495.60381822879 + "x": 39743.16746743997, + "y": 19762.646424739985 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45197.2472496183 + "x": 39650.46236912748, + "y": 19477.32946985144 }, "floatingObject": { "isPinned": false, @@ -6491,12 +6407,12 @@ "id": "47ff0b84-51cd-4d6e-8d1c-2381466e99c3", "savedPayload": { "position": { - "x": 22220.182621135333, - "y": 45197.2472496183 + "x": 39650.46236912748, + "y": 19477.32946985144 }, "targetPosition": { - "x": 21960.375, - "y": 45047.2472496183 + "x": 39365.145414238934, + "y": 19384.624371538957 }, "floatingObject": { "isPinned": false, @@ -6566,12 +6482,12 @@ "id": "4d9a606e-cdcd-4443-a874-f0d9b62f0b0b", "savedPayload": { "position": { - "x": 22601.756643291705, - "y": 45095.1521287464 + "x": 40002.47131419736, + "y": 19298.131672205298 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45375.22625669556 + "x": 39955.5409746853, + "y": 19594.43817438384 }, "floatingObject": { "isPinned": false, @@ -6637,12 +6553,12 @@ "id": "9ebb5db7-0e44-4ac6-aac0-593c81f20b08", "savedPayload": { "position": { - "x": 22768.309895720893, - "y": 45253.20526377282 + "x": 40198.24607299778, + "y": 19418.102598696096 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45375.22625669556 + "x": 39955.5409746853, + "y": 19594.43817438384 }, "floatingObject": { "isPinned": false, @@ -6708,12 +6624,12 @@ "id": "02c3722d-1c12-4683-ad58-43d991fef7d6", "savedPayload": { "position": { - "x": 22774.320386377272, - "y": 45482.73664155915 + "x": 40251.84747686384, + "y": 19641.368513895908 }, "targetPosition": { - "x": 22494.246258428113, - "y": 45375.22625669556 + "x": 39955.5409746853, + "y": 19594.43817438384 }, "floatingObject": { "isPinned": false, @@ -6775,12 +6691,12 @@ "id": "0b34d476-591c-4a46-9889-dced3bf5a3d3", "savedPayload": { "position": { - "x": 22494.246258428113, - "y": 45375.22625669556 + "x": 39955.5409746853, + "y": 19594.43817438384 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45497.2472496183 + "x": 39712.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -6850,12 +6766,12 @@ "id": "e3afb89c-23b5-4a90-a649-825900521ac5", "savedPayload": { "position": { - "x": 22765.2280717391, - "y": 45396.22904635912 + "x": 40224.967910728774, + "y": 19558.641715715617 }, "targetPosition": { - "x": 22513.626901355474, - "y": 45559.62075686363 + "x": 40012.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -6921,12 +6837,12 @@ "id": "309d3f31-a494-4c98-aab5-0fe0030a1632", "savedPayload": { "position": { - "x": 22807.071181575615, - "y": 45621.99426410896 + "x": 40312.83587637281, + "y": 19770.77375007158 }, "targetPosition": { - "x": 22513.626901355474, - "y": 45559.62075686363 + "x": 40012.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -6992,12 +6908,12 @@ "id": "34476ed8-ab8d-40b7-92ac-99f783bfc69c", "savedPayload": { "position": { - "x": 22677.01861185998, - "y": 45811.22192724726 + "x": 40224.967910728774, + "y": 19982.905784427545 }, "targetPosition": { - "x": 22513.626901355474, - "y": 45559.62075686363 + "x": 40012.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -7059,12 +6975,12 @@ "id": "6262789d-f09a-40bb-9489-2de61bbc2420", "savedPayload": { "position": { - "x": 22513.626901355474, - "y": 45559.62075686363 + "x": 40012.83587637281, + "y": 19770.77375007158 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45497.2472496183 + "x": 39712.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -7134,12 +7050,12 @@ "id": "cf6e60c3-04d6-478a-a628-71adf0b3cdab", "savedPayload": { "position": { - "x": 22720.510663469362, - "y": 45735.89148413441 + "x": 40251.84747686384, + "y": 19900.178986247254 }, "targetPosition": { - "x": 22420.92180304299, - "y": 45720.190697261525 + "x": 39955.5409746853, + "y": 19947.109325759324 }, "floatingObject": { "isPinned": false, @@ -7205,12 +7121,12 @@ "id": "80e9a1e4-e866-420b-97e7-7e4b9eab415d", "savedPayload": { "position": { - "x": 22621.66098495065, - "y": 45943.13414490475 + "x": 40198.24607299778, + "y": 20123.444901447067 }, "targetPosition": { - "x": 22420.92180304299, - "y": 45720.190697261525 + "x": 39955.5409746853, + "y": 19947.109325759324 }, "floatingObject": { "isPinned": false, @@ -7276,12 +7192,12 @@ "id": "77978ef5-59de-4757-afbf-b71bbb2e9e69", "savedPayload": { "position": { - "x": 22405.221016170108, - "y": 46019.7795576879 + "x": 40002.47131419736, + "y": 20243.415827937864 }, "targetPosition": { - "x": 22420.92180304299, - "y": 45720.190697261525 + "x": 39955.5409746853, + "y": 19947.109325759324 }, "floatingObject": { "isPinned": false, @@ -7343,12 +7259,12 @@ "id": "018fe45a-bfcc-4ba2-a34a-1c4f0139af3a", "savedPayload": { "position": { - "x": 22420.92180304299, - "y": 45720.190697261525 + "x": 39955.5409746853, + "y": 19947.109325759324 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45497.2472496183 + "x": 39712.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -7418,12 +7334,12 @@ "id": "bab4a7df-d485-4386-abfb-f3499b10057f", "savedPayload": { "position": { - "x": 22484.68494855272, - "y": 45984.39993554374 + "x": 40072.84293194181, + "y": 20192.28785488199 }, "targetPosition": { - "x": 22251.54116011563, - "y": 45795.60381822879 + "x": 39805.5409746853, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -7489,12 +7405,12 @@ "id": "18ed0f1c-ca93-47ef-b82c-c498e150fbf2", "savedPayload": { "position": { - "x": 22282.899699095928, - "y": 46093.96038683927 + "x": 39898.24607299778, + "y": 20341.40765984867 }, "targetPosition": { - "x": 22251.54116011563, - "y": 45795.60381822879 + "x": 39805.5409746853, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -7560,12 +7476,12 @@ "id": "7c814837-7bfe-4be6-aa37-58c7ef719c0b", "savedPayload": { "position": { - "x": 22062.745042800678, - "y": 46028.74760666588 + "x": 39669.34382476343, + "y": 20323.392662216636 }, "targetPosition": { - "x": 22251.54116011563, - "y": 45795.60381822879 + "x": 39805.5409746853, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -7627,12 +7543,12 @@ "id": "767fe4e7-fd73-419d-a2ca-53231b531118", "savedPayload": { "position": { - "x": 22251.54116011563, - "y": 45795.60381822879 + "x": 39805.5409746853, + "y": 20056.090704960126 }, "targetPosition": { - "x": 22220.182621135333, - "y": 45497.2472496183 + "x": 39712.83587637281, + "y": 19770.77375007158 }, "floatingObject": { "isPinned": false, @@ -7692,12 +7608,12 @@ "id": "4dd8ef8e-9bb1-4f19-944e-9bf98653259a", "savedPayload": { "position": { - "x": 22220.182621135333, - "y": 45497.2472496183 + "x": 39712.83587637281, + "y": 19770.77375007158 }, "targetPosition": { - "x": 21960.375, - "y": 45347.2472496183 + "x": 39427.51892148426, + "y": 19678.0686517591 }, "floatingObject": { "isPinned": false, @@ -7767,12 +7683,12 @@ "id": "39e3c0c1-9e99-4bd7-a886-5eb80572b080", "savedPayload": { "position": { - "x": 22659.960369022054, - "y": 45679.40915722288 + "x": 40180.87701553698, + "y": 19857.520047792936 }, "targetPosition": { - "x": 22370.182621135333, - "y": 45757.054870753636 + "x": 39913.57505828047, + "y": 19993.7171977148 }, "floatingObject": { "isPinned": false, @@ -7838,12 +7754,12 @@ "id": "d4a7588a-6bf5-443f-8441-36b160952f83", "savedPayload": { "position": { - "x": 22629.990242270665, - "y": 45907.054870753636 + "x": 40198.89201316902, + "y": 20086.422296027282 }, "targetPosition": { - "x": 22370.182621135333, - "y": 45757.054870753636 + "x": 39913.57505828047, + "y": 19993.7171977148 }, "floatingObject": { "isPinned": false, @@ -7909,12 +7825,12 @@ "id": "12ed6eb3-745b-4886-bd10-c39af9abf6bb", "savedPayload": { "position": { - "x": 22447.82833466609, - "y": 46046.83261864036 + "x": 40049.77220820233, + "y": 20261.01915497131 }, "targetPosition": { - "x": 22370.182621135333, - "y": 45757.054870753636 + "x": 39913.57505828047, + "y": 19993.7171977148 }, "floatingObject": { "isPinned": false, @@ -7976,12 +7892,12 @@ "id": "2c63be11-8366-4079-af48-175eafc7ea5e", "savedPayload": { "position": { - "x": 22370.182621135333, - "y": 45757.054870753636 + "x": 39913.57505828047, + "y": 19993.7171977148 }, "targetPosition": { - "x": 22110.375, - "y": 45607.054870753636 + "x": 39628.25810339192, + "y": 19901.012099402316 }, "floatingObject": { "isPinned": false, @@ -8051,12 +7967,12 @@ "id": "14d6cd92-dafc-4137-ac57-ddcbf846b7e9", "savedPayload": { "position": { - "x": 22322.507034355964, - "y": 46119.1869051096 + "x": 39942.23278102087, + "y": 20357.848090126965 }, "targetPosition": { - "x": 22110.375, - "y": 45907.054870753636 + "x": 39690.63161063725, + "y": 20194.456379622457 }, "floatingObject": { "isPinned": false, @@ -8122,12 +8038,12 @@ "id": "ec084f0a-a1f9-4d22-8e64-686d2102880e", "savedPayload": { "position": { - "x": 22110.375, - "y": 46207.054870753636 + "x": 39753.005117882574, + "y": 20487.9006598426 }, "targetPosition": { - "x": 22110.375, - "y": 45907.054870753636 + "x": 39690.63161063725, + "y": 20194.456379622457 }, "floatingObject": { "isPinned": false, @@ -8193,12 +8109,12 @@ "id": "b12509ca-e587-4a55-85a7-9fe44ba46212", "savedPayload": { "position": { - "x": 21898.242965644036, - "y": 46119.1869051096 + "x": 39527.239900132736, + "y": 20446.057550006084 }, "targetPosition": { - "x": 22110.375, - "y": 45907.054870753636 + "x": 39690.63161063725, + "y": 20194.456379622457 }, "floatingObject": { "isPinned": false, @@ -8260,12 +8176,12 @@ "id": "98d84aa2-1582-4382-a034-98d5cfda3afc", "savedPayload": { "position": { - "x": 22110.375, - "y": 45907.054870753636 + "x": 39690.63161063725, + "y": 20194.456379622457 }, "targetPosition": { - "x": 22110.375, - "y": 45607.054870753636 + "x": 39628.25810339192, + "y": 19901.012099402316 }, "floatingObject": { "isPinned": false, @@ -8325,12 +8241,12 @@ "id": "6e65c739-bcbc-4d86-aece-162bdbebf48f", "savedPayload": { "position": { - "x": 22110.375, - "y": 45607.054870753636 + "x": 39628.25810339192, + "y": 19901.012099402316 }, "targetPosition": { - "x": 21960.375, - "y": 45347.2472496183 + "x": 39427.51892148426, + "y": 19678.0686517591 }, "floatingObject": { "isPinned": false, @@ -8400,12 +8316,12 @@ "id": "2f241a23-c757-41fe-8b7a-67295099eb7d", "savedPayload": { "position": { - "x": 22172.507034355964, - "y": 46159.37928397427 + "x": 39803.86710635854, + "y": 20428.348922703888 }, "targetPosition": { - "x": 21960.375, - "y": 45947.2472496183 + "x": 39552.265935974916, + "y": 20264.95721219938 }, "floatingObject": { "isPinned": false, @@ -8471,12 +8387,12 @@ "id": "af57da4f-2956-4ce7-84e0-18d2826ff0cd", "savedPayload": { "position": { - "x": 21960.375, - "y": 46247.2472496183 + "x": 39614.63944322024, + "y": 20558.40149241952 }, "targetPosition": { - "x": 21960.375, - "y": 45947.2472496183 + "x": 39552.265935974916, + "y": 20264.95721219938 }, "floatingObject": { "isPinned": false, @@ -8542,12 +8458,12 @@ "id": "7887c79a-b4c1-4794-8557-56b1db95da14", "savedPayload": { "position": { - "x": 21748.242965644036, - "y": 46159.37928397427 + "x": 39388.874225470405, + "y": 20516.558382583007 }, "targetPosition": { - "x": 21960.375, - "y": 45947.2472496183 + "x": 39552.265935974916, + "y": 20264.95721219938 }, "floatingObject": { "isPinned": false, @@ -8609,12 +8525,12 @@ "id": "c281f303-980d-4549-9134-4d4027087125", "savedPayload": { "position": { - "x": 21960.375, - "y": 45947.2472496183 + "x": 39552.265935974916, + "y": 20264.95721219938 }, "targetPosition": { - "x": 21960.375, - "y": 45647.2472496183 + "x": 39489.89242872959, + "y": 19971.51293197924 }, "floatingObject": { "isPinned": false, @@ -8674,12 +8590,12 @@ "id": "fb8fddd1-1e19-4d5b-8290-fcdaba178f6f", "savedPayload": { "position": { - "x": 21960.375, - "y": 45647.2472496183 + "x": 39489.89242872959, + "y": 19971.51293197924 }, "targetPosition": { - "x": 21960.375, - "y": 45347.2472496183 + "x": 39427.51892148426, + "y": 19678.0686517591 }, "floatingObject": { "isPinned": false, @@ -8749,12 +8665,12 @@ "id": "fbec1112-e904-4f22-8772-c2d85cebaf4f", "savedPayload": { "position": { - "x": 22212.470120871898, - "y": 45988.62889291001 + "x": 39807.45590103806, + "y": 20253.021044472196 }, "targetPosition": { - "x": 21932.39599292274, - "y": 45881.11850804642 + "x": 39511.14939885952, + "y": 20206.090704960126 }, "floatingObject": { "isPinned": false, @@ -8814,12 +8730,12 @@ "id": "c23e288d-5517-4000-a247-7b59b9020830", "savedPayload": { "position": { - "x": 22054.416985845477, - "y": 46155.182145339204 + "x": 39687.48497454726, + "y": 20448.79580327261 }, "targetPosition": { - "x": 21932.39599292274, - "y": 45881.11850804642 + "x": 39511.14939885952, + "y": 20206.090704960126 }, "floatingObject": { "isPinned": false, @@ -8879,12 +8795,12 @@ "id": "5d0c8152-739f-4c7c-92c7-f5842a8cc372", "savedPayload": { "position": { - "x": 21824.885608059147, - "y": 46161.19263599558 + "x": 39464.21905934745, + "y": 20502.397207138667 }, "targetPosition": { - "x": 21932.39599292274, - "y": 45881.11850804642 + "x": 39511.14939885952, + "y": 20206.090704960126 }, "floatingObject": { "isPinned": false, @@ -8940,12 +8856,12 @@ "id": "61bc2681-a7f9-4e0f-9909-4fdc32452e04", "savedPayload": { "position": { - "x": 21932.39599292274, - "y": 45881.11850804642 + "x": 39511.14939885952, + "y": 20206.090704960126 }, "targetPosition": { - "x": 21810.375, - "y": 45607.054870753636 + "x": 39334.813823171775, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -9009,12 +8925,12 @@ "id": "1737fa23-0350-4a04-b332-ddaf79af1839", "savedPayload": { "position": { - "x": 21911.39320325918, - "y": 46152.10032135741 + "x": 39546.94585752774, + "y": 20475.517641003607 }, "targetPosition": { - "x": 21748.001492754673, - "y": 45900.49915097378 + "x": 39334.813823171775, + "y": 20263.385606647644 }, "floatingObject": { "isPinned": false, @@ -9074,12 +8990,12 @@ "id": "6c7acaca-bc89-4b26-bd6e-2eec3dc41c41", "savedPayload": { "position": { - "x": 21685.627985509345, - "y": 46193.943431193926 + "x": 39334.813823171775, + "y": 20563.385606647644 }, "targetPosition": { - "x": 21748.001492754673, - "y": 45900.49915097378 + "x": 39334.813823171775, + "y": 20263.385606647644 }, "floatingObject": { "isPinned": false, @@ -9139,12 +9055,12 @@ "id": "2f4d00e5-fec1-4d4f-8adc-6bd05ad9a320", "savedPayload": { "position": { - "x": 21496.400322371046, - "y": 46063.89086147829 + "x": 39122.68178881581, + "y": 20475.517641003607 }, "targetPosition": { - "x": 21748.001492754673, - "y": 45900.49915097378 + "x": 39334.813823171775, + "y": 20263.385606647644 }, "floatingObject": { "isPinned": false, @@ -9200,12 +9116,12 @@ "id": "ad29ddf7-850a-45ba-b888-b411b9bd35b4", "savedPayload": { "position": { - "x": 21748.001492754673, - "y": 45900.49915097378 + "x": 39334.813823171775, + "y": 20263.385606647644 }, "targetPosition": { - "x": 21810.375, - "y": 45607.054870753636 + "x": 39334.813823171775, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -9269,12 +9185,12 @@ "id": "f2cb317a-f104-47b4-b57c-7d46464aed52", "savedPayload": { "position": { - "x": 21571.7307654839, - "y": 46107.38291308767 + "x": 39205.4085869961, + "y": 20502.397207138667 }, "targetPosition": { - "x": 21587.431552356782, - "y": 45807.794052661295 + "x": 39158.47824748403, + "y": 20206.090704960126 }, "floatingObject": { "isPinned": false, @@ -9334,12 +9250,12 @@ "id": "647e8be9-a0c0-44bc-a102-e01b10c679b0", "savedPayload": { "position": { - "x": 21364.488104713564, - "y": 46008.53323456895 + "x": 38982.14267179629, + "y": 20448.79580327261 }, "targetPosition": { - "x": 21587.431552356782, - "y": 45807.794052661295 + "x": 39158.47824748403, + "y": 20206.090704960126 }, "floatingObject": { "isPinned": false, @@ -9399,12 +9315,12 @@ "id": "470f9849-b176-4dca-be96-dc42bbcf2b67", "savedPayload": { "position": { - "x": 21287.84269193041, - "y": 45792.09326578841 + "x": 38862.17174530549, + "y": 20253.021044472196 }, "targetPosition": { - "x": 21587.431552356782, - "y": 45807.794052661295 + "x": 39158.47824748403, + "y": 20206.090704960126 }, "floatingObject": { "isPinned": false, @@ -9460,12 +9376,12 @@ "id": "c5e6720e-d432-41b7-bfec-283f897a3c00", "savedPayload": { "position": { - "x": 21587.431552356782, - "y": 45807.794052661295 + "x": 39158.47824748403, + "y": 20206.090704960126 }, "targetPosition": { - "x": 21810.375, - "y": 45607.054870753636 + "x": 39334.813823171775, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -9529,12 +9445,12 @@ "id": "7e88d3ad-a50c-41d8-a4cf-6eb1b6d7bbc6", "savedPayload": { "position": { - "x": 21323.222314074566, - "y": 45871.55719817102 + "x": 38913.29971836136, + "y": 20323.392662216636 }, "targetPosition": { - "x": 21512.01843138952, - "y": 45638.413409733934 + "x": 39049.496868283226, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -9594,12 +9510,12 @@ "id": "80035d71-6df8-4717-b30f-c608af01fa3c", "savedPayload": { "position": { - "x": 21213.661862779038, - "y": 45669.77194871423 + "x": 38764.17991339468, + "y": 20148.79580327261 }, "targetPosition": { - "x": 21512.01843138952, - "y": 45638.413409733934 + "x": 39049.496868283226, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -9659,12 +9575,12 @@ "id": "d5ceba67-41fa-4755-972a-23c250694404", "savedPayload": { "position": { - "x": 21278.87464295243, - "y": 45449.61729241898 + "x": 38782.194911026716, + "y": 19919.893555038263 }, "targetPosition": { - "x": 21512.01843138952, - "y": 45638.413409733934 + "x": 39049.496868283226, + "y": 20056.090704960126 }, "floatingObject": { "isPinned": false, @@ -9720,12 +9636,12 @@ "id": "76e4a55d-e055-4eba-8add-504c48b4fa4f", "savedPayload": { "position": { - "x": 21512.01843138952, - "y": 45638.413409733934 + "x": 39049.496868283226, + "y": 20056.090704960126 }, "targetPosition": { - "x": 21810.375, - "y": 45607.054870753636 + "x": 39334.813823171775, + "y": 19963.385606647644 }, "floatingObject": { "isPinned": false, @@ -9779,12 +9695,12 @@ "id": "a93bdd41-68b9-4ee6-a9c2-940057f0ce49", "savedPayload": { "position": { - "x": 21810.375, - "y": 45607.054870753636 + "x": 39334.813823171775, + "y": 19963.385606647644 }, "targetPosition": { - "x": 21960.375, - "y": 45347.2472496183 + "x": 39427.51892148426, + "y": 19678.0686517591 }, "floatingObject": { "isPinned": false, @@ -9848,12 +9764,12 @@ "id": "8b28eefd-08b5-45aa-870b-8d5ebcccf98f", "savedPayload": { "position": { - "x": 21858.004957199322, - "y": 46028.74760666588 + "x": 39469.07780125843, + "y": 20365.96051959219 }, "targetPosition": { - "x": 21669.20883988437, - "y": 45795.60381822879 + "x": 39235.93401282134, + "y": 20177.164402277238 }, "floatingObject": { "isPinned": false, @@ -9919,12 +9835,12 @@ "id": "6774fd0d-1809-4677-a7e6-951305559551", "savedPayload": { "position": { - "x": 21637.850300904072, - "y": 46093.96038683927 + "x": 39267.292551801635, + "y": 20475.52097088772 }, "targetPosition": { - "x": 21669.20883988437, - "y": 45795.60381822879 + "x": 39235.93401282134, + "y": 20177.164402277238 }, "floatingObject": { "isPinned": false, @@ -9990,12 +9906,12 @@ "id": "6f7d126b-a7ba-430a-8b51-7f31be24fd84", "savedPayload": { "position": { - "x": 21436.06505144728, - "y": 45984.39993554374 + "x": 39047.137895506385, + "y": 20410.308190714328 }, "targetPosition": { - "x": 21669.20883988437, - "y": 45795.60381822879 + "x": 39235.93401282134, + "y": 20177.164402277238 }, "floatingObject": { "isPinned": false, @@ -10057,12 +9973,12 @@ "id": "88942017-fed3-46c1-abcd-26ca5008a0ed", "savedPayload": { "position": { - "x": 21669.20883988437, - "y": 45795.60381822879 + "x": 39235.93401282134, + "y": 20177.164402277238 }, "targetPosition": { - "x": 21700.567378864667, - "y": 45497.2472496183 + "x": 39204.57547384104, + "y": 19878.807833666757 }, "floatingObject": { "isPinned": false, @@ -10132,12 +10048,12 @@ "id": "f65d5fd4-3d02-4b38-9c33-7e9bda2332da", "savedPayload": { "position": { - "x": 21515.528983829892, - "y": 46019.7795576879 + "x": 39132.2211873718, + "y": 20428.39320268881 }, "targetPosition": { - "x": 21499.82819695701, - "y": 45720.190697261525 + "x": 39054.57547384104, + "y": 20138.61545480209 }, "floatingObject": { "isPinned": false, @@ -10203,12 +10119,12 @@ "id": "fa97262c-436c-49c9-b37c-02d93fe074b8", "savedPayload": { "position": { - "x": 21299.08901504935, - "y": 45943.13414490475 + "x": 38904.57547384104, + "y": 20398.423075937422 }, "targetPosition": { - "x": 21499.82819695701, - "y": 45720.190697261525 + "x": 39054.57547384104, + "y": 20138.61545480209 }, "floatingObject": { "isPinned": false, @@ -10274,12 +10190,12 @@ "id": "199fee28-6f83-44fb-bb8c-b9ca3f4842bc", "savedPayload": { "position": { - "x": 21200.239336530638, - "y": 45735.89148413441 + "x": 38764.79772595432, + "y": 20216.261168332847 }, "targetPosition": { - "x": 21499.82819695701, - "y": 45720.190697261525 + "x": 39054.57547384104, + "y": 20138.61545480209 }, "floatingObject": { "isPinned": false, @@ -10341,12 +10257,12 @@ "id": "f07edc17-f86b-41d5-b236-8173653d8d40", "savedPayload": { "position": { - "x": 21499.82819695701, - "y": 45720.190697261525 + "x": 39054.57547384104, + "y": 20138.61545480209 }, "targetPosition": { - "x": 21700.567378864667, - "y": 45497.2472496183 + "x": 39204.57547384104, + "y": 19878.807833666757 }, "floatingObject": { "isPinned": false, @@ -10416,12 +10332,12 @@ "id": "c28f721c-f8cb-48a7-9a05-2d69dfbbf02a", "savedPayload": { "position": { - "x": 21243.73138814002, - "y": 45811.22192724726 + "x": 38823.00145168467, + "y": 20280.902954538655 }, "targetPosition": { - "x": 21407.123098644526, - "y": 45559.62075686363 + "x": 38930.51183654826, + "y": 20000.828826589495 }, "floatingObject": { "isPinned": false, @@ -10487,12 +10403,12 @@ "id": "b446aa21-5cb7-4833-ac83-71ad7587c460", "savedPayload": { "position": { - "x": 21113.678818424385, - "y": 45621.99426410896 + "x": 38656.44819925548, + "y": 20122.849819512234 }, "targetPosition": { - "x": 21407.123098644526, - "y": 45559.62075686363 + "x": 38930.51183654826, + "y": 20000.828826589495 }, "floatingObject": { "isPinned": false, @@ -10558,12 +10474,12 @@ "id": "1a046bbd-f3ca-43cb-8d19-64bdf28aa60e", "savedPayload": { "position": { - "x": 21155.5219282609, - "y": 45396.22904635912 + "x": 38650.4377085991, + "y": 19893.318441725904 }, "targetPosition": { - "x": 21407.123098644526, - "y": 45559.62075686363 + "x": 38930.51183654826, + "y": 20000.828826589495 }, "floatingObject": { "isPinned": false, @@ -10625,12 +10541,12 @@ "id": "c9680e7f-aa74-4c21-8b0e-b343612a633d", "savedPayload": { "position": { - "x": 21407.123098644526, - "y": 45559.62075686363 + "x": 38930.51183654826, + "y": 20000.828826589495 }, "targetPosition": { - "x": 21700.567378864667, - "y": 45497.2472496183 + "x": 39204.57547384104, + "y": 19878.807833666757 }, "floatingObject": { "isPinned": false, @@ -10700,12 +10616,12 @@ "id": "a7fbce1d-a58b-48a0-b2b0-5cd779ef26f9", "savedPayload": { "position": { - "x": 21146.429613622728, - "y": 45482.73664155915 + "x": 38659.53002323727, + "y": 19979.826036925937 }, "targetPosition": { - "x": 21426.503741571887, - "y": 45375.22625669556 + "x": 38911.131193620895, + "y": 19816.43432642143 }, "floatingObject": { "isPinned": false, @@ -10771,12 +10687,12 @@ "id": "ebb02953-2de0-484c-9607-ad15a8e6158e", "savedPayload": { "position": { - "x": 21152.440104279107, - "y": 45253.20526377282 + "x": 38617.68691340075, + "y": 19754.060819176102 }, "targetPosition": { - "x": 21426.503741571887, - "y": 45375.22625669556 + "x": 38911.131193620895, + "y": 19816.43432642143 }, "floatingObject": { "isPinned": false, @@ -10842,12 +10758,12 @@ "id": "29188fb8-7c6d-4952-bb0b-0430f7315ed4", "savedPayload": { "position": { - "x": 21318.993356708295, - "y": 45095.1521287464 + "x": 38747.739483116384, + "y": 19564.833156037803 }, "targetPosition": { - "x": 21426.503741571887, - "y": 45375.22625669556 + "x": 38911.131193620895, + "y": 19816.43432642143 }, "floatingObject": { "isPinned": false, @@ -10909,12 +10825,12 @@ "id": "856840d3-3725-479f-970f-1f5f4cbd6eec", "savedPayload": { "position": { - "x": 21426.503741571887, - "y": 45375.22625669556 + "x": 38911.131193620895, + "y": 19816.43432642143 }, "targetPosition": { - "x": 21700.567378864667, - "y": 45497.2472496183 + "x": 39204.57547384104, + "y": 19878.807833666757 }, "floatingObject": { "isPinned": false, @@ -10974,12 +10890,12 @@ "id": "1d7e33d7-e54c-4bba-8033-6162444014b9", "savedPayload": { "position": { - "x": 21700.567378864667, - "y": 45497.2472496183 + "x": 39204.57547384104, + "y": 19878.807833666757 }, "targetPosition": { - "x": 21960.375, - "y": 45347.2472496183 + "x": 39427.51892148426, + "y": 19678.0686517591 }, "floatingObject": { "isPinned": false, @@ -11033,12 +10949,12 @@ "id": "9d680e69-e044-418f-b14b-4eb1a01f7028", "savedPayload": { "position": { - "x": 21960.375, - "y": 45347.2472496183 + "x": 39427.51892148426, + "y": 19678.0686517591 }, "targetPosition": { - "x": 21960.375, - "y": 45047.2472496183 + "x": 39365.145414238934, + "y": 19384.624371538957 }, "floatingObject": { "isPinned": false, @@ -11086,12 +11002,12 @@ "id": "5120018f-1bd4-46bd-ba19-2cc90563037a", "savedPayload": { "position": { - "x": 21960.375, - "y": 45047.2472496183 + "x": 39365.145414238934, + "y": 19384.624371538957 }, "targetPosition": { - "x": 21810.375, - "y": 44787.43962848297 + "x": 39164.406232331276, + "y": 19161.68092389574 }, "floatingObject": { "isPinned": false, @@ -11133,12 +11049,12 @@ "id": "aa848510-1260-46ed-a855-6c0fb9dca9eb", "savedPayload": { "position": { - "x": 6142.0181726297715, - "y": 23961.68092389574 + "x": 39164.406232331276, + "y": 19161.68092389574 }, "targetPosition": { - "x": 5941.278990722114, - "y": 23738.73747625252 + "x": 38963.66705042362, + "y": 18938.73747625252 }, "floatingObject": { "isPinned": false, @@ -11174,12 +11090,12 @@ "id": "1d398124-3f36-40a1-8b3b-6c77ad489b92", "savedPayload": { "position": { - "x": 5941.278990722114, - "y": 23738.73747625252 + "x": 38963.66705042362, + "y": 18938.73747625252 }, "targetPosition": { - "x": 5655.962035833568, - "y": 23646.03237794004 + "x": 38678.35009553507, + "y": 18846.03237794004 }, "floatingObject": { "isPinned": false, @@ -11200,12 +11116,12 @@ "id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f", "savedPayload": { "position": { - "x": 5655.962035833568, - "y": 23646.03237794004 + "x": 38678.35009553507, + "y": 18846.03237794004 }, "targetPosition": { - "x": 5362.517755613426, - "y": 23708.405885185366 + "x": 38384.90581531492, + "y": 18908.405885185366 }, "floatingObject": { "isPinned": false, @@ -11228,12 +11144,12 @@ "id": "e9c0e495-7985-4381-bf75-865d87289038", "savedPayload": { "position": { - "x": 5647.834710501972, - "y": 23801.11098349785 + "x": 38670.22277020347, + "y": 19001.11098349785 }, "targetPosition": { - "x": 5362.517755613426, - "y": 23708.405885185366 + "x": 38384.90581531492, + "y": 18908.405885185366 }, "floatingObject": { "isPinned": false, @@ -11251,12 +11167,12 @@ "id": "d5ed432e-78bf-432e-be3b-8649932f7a65", "savedPayload": { "position": { - "x": 5362.517755613426, - "y": 23708.405885185366 + "x": 38384.90581531492, + "y": 18908.405885185366 }, "targetPosition": { - "x": 5062.928895187054, - "y": 23692.705098312483 + "x": 38085.31695488855, + "y": 18892.705098312483 }, "floatingObject": { "isPinned": false, @@ -11289,12 +11205,12 @@ "id": "b09bc246-6593-4061-ac8a-b52670694e8e", "savedPayload": { "position": { - "x": 5599.847020459228, - "y": 23948.801907129473 + "x": 38622.235080160724, + "y": 19148.801907129473 }, "targetPosition": { - "x": 5314.5300655706815, - "y": 23856.09680881699 + "x": 38336.918125272176, + "y": 19056.09680881699 }, "floatingObject": { "isPinned": false, @@ -11317,12 +11233,12 @@ "id": "5011109c-3f87-471a-b786-5fd371f53853", "savedPayload": { "position": { - "x": 5515.269247478339, - "y": 24079.04025646021 + "x": 38537.657307179834, + "y": 19279.04025646021 }, "targetPosition": { - "x": 5314.5300655706815, - "y": 23856.09680881699 + "x": 38336.918125272176, + "y": 19056.09680881699 }, "floatingObject": { "isPinned": false, @@ -11340,12 +11256,12 @@ "id": "796dd30f-c90d-4b8d-a63d-89867347407b", "savedPayload": { "position": { - "x": 5314.5300655706815, - "y": 23856.09680881699 + "x": 38336.918125272176, + "y": 19056.09680881699 }, "targetPosition": { - "x": 5062.928895187054, - "y": 23692.705098312483 + "x": 38085.31695488855, + "y": 18892.705098312483 }, "floatingObject": { "isPinned": false, @@ -11363,12 +11279,12 @@ "id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf", "savedPayload": { "position": { - "x": 5062.928895187054, - "y": 23692.705098312483 + "x": 38085.31695488855, + "y": 18892.705098312483 }, "targetPosition": { - "x": 4777.611940298508, - "y": 23600 + "x": 37800, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -11400,12 +11316,12 @@ "id": "23c23b71-1431-4cca-a80e-bb5c7242be9f", "savedPayload": { "position": { - "x": 5420.235092860433, - "y": 24220.297332942388 + "x": 38442.62315256192, + "y": 19420.297332942388 }, "targetPosition": { - "x": 5187.091304423341, - "y": 24031.501215627435 + "x": 38209.47936412483, + "y": 19231.501215627435 }, "floatingObject": { "isPinned": false, @@ -11423,12 +11339,12 @@ "id": "90659303-924d-4404-9b1d-ea3180add4ef", "savedPayload": { "position": { - "x": 5187.091304423341, - "y": 24031.501215627435 + "x": 38209.47936412483, + "y": 19231.501215627435 }, "targetPosition": { - "x": 4953.9475159862495, - "y": 23842.705098312483 + "x": 37976.33557568774, + "y": 19042.705098312483 }, "floatingObject": { "isPinned": false, @@ -11455,12 +11371,12 @@ "id": "c2eabbab-aa7a-4971-8664-cb306b5cc5fd", "savedPayload": { "position": { - "x": 5168.968285713429, - "y": 24402.8533542108 + "x": 38191.356345414926, + "y": 19602.8533542108 }, "targetPosition": { - "x": 5061.4579008498395, - "y": 24122.779226261642 + "x": 38083.845960551334, + "y": 19322.779226261642 }, "floatingObject": { "isPinned": false, @@ -11478,12 +11394,12 @@ "id": "6f6d522c-ad61-426a-8fbc-7eb19b0c4a3e", "savedPayload": { "position": { - "x": 5061.4579008498395, - "y": 24122.779226261642 + "x": 38083.845960551334, + "y": 19322.779226261642 }, "targetPosition": { - "x": 4953.9475159862495, - "y": 23842.705098312483 + "x": 37976.33557568774, + "y": 19042.705098312483 }, "floatingObject": { "isPinned": false, @@ -11501,12 +11417,12 @@ "id": "ed112539-01ea-4937-85cf-69612ee6115d", "savedPayload": { "position": { - "x": 4953.9475159862495, - "y": 23842.705098312483 + "x": 37976.33557568774, + "y": 19042.705098312483 }, "targetPosition": { - "x": 4777.611940298508, - "y": 23600 + "x": 37800, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -11534,7 +11450,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/UI/Globals/SaToken.js b/Projects/Governance/UI/Globals/SaToken.js index c26ccdae8..411dbd67f 100644 --- a/Projects/Governance/UI/Globals/SaToken.js +++ b/Projects/Governance/UI/Globals/SaToken.js @@ -4,7 +4,9 @@ function newGovernanceGlobalsSaToken() { SA_TOKEN_BSC_CONTRACT_ABI: '[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"isBlackListed","type":"bool"}],"name":"blackListAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"},{"name":"_supply","type":"uint256"},{"name":"tokenOwner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"blackListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Blacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]', SA_TOKEN_BSC_TREASURY_ACCOUNT_ADDRESS: '0x8d4d2557ce99f83f658adf61eef3e61e04c2ac2c', SA_TOKEN_BSC_DECIMAL_FACTOR: 1000000000000000000, - SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_CONTRACT_ADDRESS: '0x7164b91db59c50156b63d0e31da08cd47b031711' + SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BTCB_CONTRACT_ADDRESS: '0x7164b91db59c50156b63d0e31da08cd47b031711', + SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BNB_CONTRACT_ADDRESS: '0xd4a05523839d0d175289054022ee4e01e3dae854', + SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BUSD_CONTRACT_ADDRESS: '0xf9e8ce74058d872f7688665885826c3d5e1d0a27' } return thisObject } \ No newline at end of file diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index 510bfb0bb..8565a54ef 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -465,7 +465,7 @@ function newGovernanceUserProfileSpace() { function getBPancakeTokens(userProfile, blockchainAccount) { console.log('[INFO] Loading Pancake Balance for User Profile: ', userProfile.name, 'blockchainAccount: ', blockchainAccount) - const url = "https://api.bscscan.com/api?module=account&action=tokenbalance&contractaddress=" + UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_CONTRACT_ADDRESS + "&address=" + blockchainAccount + "&tag=latest&apikey=YourApiKeyToken" + const url = "https://api.bscscan.com/api?module=account&action=tokenbalance&contractaddress=" + UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BTCB_CONTRACT_ADDRESS + "&address=" + blockchainAccount + "&tag=latest&apikey=YourApiKeyToken" fetch(url).then(function (response) { return response.json(); From 815c6423043b97bd2414eb43df4d3229eb71625a Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 23 Oct 2021 14:08:49 +0200 Subject: [PATCH 08/15] Liquidity being read from different pools --- .../Icons/Programs/liquidity-programs.png | Bin 0 -> 11314 bytes .../Governance/Plugins/Pools/Superalgos.json | 2 +- .../User-Profiles/Luis-Fernando-Molina.json | 900 +++++++++++++----- .../App-Schema/financial-programs.json | 16 - .../Schemas/App-Schema/liquidity-program.json | 3 +- .../App-Schema/liquidity-programs.json | 50 + .../App-Schema/token-power-switch.json | 16 + .../Function-Libraries/DistributionProcess.js | 15 +- .../UI/Function-Libraries/LiquidityProgram.js | 15 +- .../Spaces/User-Profile-Space/UserProfile.js | 29 +- .../Governance/UI/Utilities/Validations.js | 28 +- 11 files changed, 788 insertions(+), 286 deletions(-) create mode 100644 Projects/Governance/Icons/Programs/liquidity-programs.png create mode 100644 Projects/Governance/Schemas/App-Schema/liquidity-programs.json diff --git a/Projects/Governance/Icons/Programs/liquidity-programs.png b/Projects/Governance/Icons/Programs/liquidity-programs.png new file mode 100644 index 0000000000000000000000000000000000000000..c4998af5ec30b0ff141c4c2a9c3614a4358c1c96 GIT binary patch literal 11314 zcmbVyc|4Tg`}dhKn54pELSB&+GU6@q7Mw=AXImbMAAUYdhCD*Y!TJHdcG3C6pup0Mh&S z?LGiaLA_HaAucKYlkzZy3) z0Cbx7@3ycF?HKPq?CbP9S#w%s)iu}Z6;A}qyXc2X&%Do&_P0JP_FnPYc?BmgU86F( z=)SkAZVT--p-yOLRoMwhXPVh^=zl;bo-E$HE7vCy#30^2SH2nAv z;-^Cj__b@ky?E@>qPZ3T8?TQv?J(8shR&4QogYt)xW1oo!eRj3EDqVt4c(N|-)f1Y zkIc_pRxTBRY81!`JO`~?-VXO_OMOT)w<>tPMIC^KgZ*mO>CWHX`G>dO4HC7&15i*l zUG0Vbe0K5z*DXl&=8MxVRsb;cEJ+=F@%+`OZ+y(!I5hW#C4!R6N2fILYpixv9D%*>6_K_Y+Iolg!ReEMjn$Ec_-~MYbM~~X#}?%3o~J%d4us5~ zd34A|&wyIKU@$hArurw3V4w%dwd5#6{%m3gNQrga>g#(RchiSnl^ge2rLQDkh(phE z=U)s^iih8RNOn5#QUp|x<7wZxnm2ZjXqT>s0}V^3Wm8zPU0w=U?VxH43}BR0^m*aupT_=zrwUnJmsa9Aw)a z!DFz1K4AUR%=lUu9=5Rbk*6a~=c<@3V*arV$ZPMw)U9;)D0;*>{O~=NXtyL_l=s;1 zmDg2vDLZ7Y1c1}nj^3U>*R{{^-`ScQ&)?#J4Re5WyAC<`!bER66M%|;2S^Xw=3B*h zaXoUL%K*a}j_;h=rdXy%1|YM39JM*qL^*YRqv({laCE|eS`=Dv+cULNW?3T!WX23e zGg8yTjvR!nl35;T%!+KZFm3=nzntg=sdZG*40FfQpFh3g5ePuX;I#p3cEBwisEqgd z=*;}N%6+$#4$@RNiUN9Y=ug7i*&&U3=}1Uws|UJiPR)2lmcc`F8Mr*_fJ`yA-Eo(7&WTz-(vQM|3;44WKew89f&}>0U-u*CpBh>0Q(Tt384;0wJCbmah;d7mbe?fo zpn7l|@cT70@>#mC>CwGKr)AihU9_xJ7Axy65rgv^5=% z%<^V>&QATwL6F|mWK?S#bJ}l~&05UswQ6Z zow8y&>BHhB|JhOTngx9(rKK}YrsBGgfm`{9L%Neck#Ka8HpCwMzWBB zXeo=b&l{O-(?#X2ZNGbsydiB96{Oi;tZ5!qHc%tWf7xfe-7XKz|+7 zrp=R!7aT{6RCVg5z9#Pg;8s$#|3d+>)3NI(&=G-( zbtBcoek4*6mL6_8J+&WzRo6qLEFykIbR)27BOG>NajdnoE(VZQRdxCr(zeX0 z$+Ln>Cv}$raCMU_e)P1@_ZScnIyZM9oB|_T*Jkjm6Jr9kd)uegjSl3EFW_J0TvJ|n zMBzBy_GyPE(%$~gC!rQx=!<<^SHgTD1HhJOMhDwR<-1^O{WqeV5pQaPJ+$@JrcJn? zth1&(;s9V^Wig}Y9E41+iNPGd%%)LN-BIXyDqV}IYS-)11V5?kjvUUNBTdz!iP(z0 zmgN&^*xzDmTgWe?XoeA&w?-Utrjimbs2OR=&o_S0j`}d!**c`tgn@2%K%cLJ3VcY8 z`^pQ?J;l7bn36T@akI7DG{rW=MG>7)TQ?@K;6+uHP$szYuz$*=R#L|l|N%|06 zHe8e=0&HR`nd43M-ult>+j=R|17OFNybYJi87(xEOYa)4s%UnCXM3|tBZ`apPil{^2Lc=H^Zc|RBX=d-oFjq|(18B#jxTM1Z@f@4U*&v)< z9&wXYqYe01L@S^si#dItXalp%b1>KxSE_|XZM);qPZ?>vFMDTi$THv-yA^Glp%hFx zQJKTUP2E!zIRLyV9N8BMNln$hM<~^s$(IK1G1q=yr0D7MbVAu`&WdpL+H;bsHdov? z#Ca*N-pmn=O@y03yvc8$cg2$^uc{t#T|nW|vH4Vq#yHWHv1H7d8??2lGm4jzd(Z#i z5<`b*CWUECT>zwtp}GTqpUmTZoT&K{HZ>FZ>+B*IF&QY*9a1#6vT_zMt`mcH!eHaq zkA5Ode>{VC5o|%2R`ImtDAMjR^lJ_==_ucNqBH-^n4~Bm_veuNDeTw1j)(U!k-at1 z(jkktF6(j=E+V66e$f0qePgsO$4I7NgGphJBJ_wT=FS1nzT&kmLxs!LTJ%2eDSyyi zJ=aq(tr!$dBc5rc?axM&sW%b0qN12rqG-yVbP|9&^9H;F8z|*GR zCqPl%os~1*;ShU*np1_I8q!bntD(HfM_rPZHGCc*C7TNt<~Q9oFF#s6)t{eY+=Pbh z-MqP(Uy9o^ldxq`t=pEFFv=8+8pjU_lFpi@3eeUM&WFT-=gIyAW!810e%`rSd5l}? z_oSlYE}}Q<)E}GQi)XNaF>Pn-xO{ryGL;ZncV>?*ZaA!x9-p}+`4jjiE-o7@JwG}z8U`dLj?N8!n%PFHT;zLhk zfDPw@x)IJ>t-UexIlcP)W?n**pge43RJ}a#8&_72H6Wa-l?;_SdX#)zueUAZS1O{T zqV{_gbQ(RHbd2lf;;qjUzw>&2M% zJ^tMD*H<60Vv2v%+y0>Zl0gHo+BTf(ri^tXuHQVndb*V-PdZApg--2whdNW=hJ$or`B zu2*i=UJNa)Rpfbic3TJ`iqygp?;54(83|Oh<|HMAP8RS(G?SNoHGOq^Ug$B#lQ`;{ z?y%WW$KyF>4-Utp<$27^*FyPwtR8I(nekNuXIB2+?Zk|IeuD3D4&RpM#T=RpDm(FQ zoc2(GUwn8fp)r|ypJ;q2F_=%j_{_Z&J;-C#K` zdTm3b;MCOEsKUo1zlMBz4(UJ3=g+l29S}t&tC(LuQE_lN`grzJUjC!u^1Rq-`uvb0 z)$SdO*C9_6szTX@lcI`M^6aak2puF^4%xbsJihFKVR#%9fL{(AcvKmbpgnePthPPL z;h8Vjm&R5{(f^HjQGfg~M-q@pQRs2Y=hJJKZ$XmHoOPu!F?sdZKWYn1m&l*8=h#Kj zIbCP=yR;d|ezrZyPdG7gco|e%Z$l+h8~6D|h4G4zle)(WxKDqRj#U|J3ccv6B>IX# zP@%Ue8l2`x8mGvkR>yncDN~CtP2^v|MP99GyaTFC9x5O&UorO!#W;0TI8Sbta^D9! z|FaiLK7I-jdTLSebk1^|%!W5BzPh!f>vn$+d86-R56zLTpnx3La540Ivx|8qoAydS zpNau;)F?_nMF;=+Peq%u!Kmwp>=Lgpw1PLibO0u__&1~VoHZlXWV-fKF zWShhijhrH#x1^T~GnIb-^yX?Ihf^ouVH?s`R1r&iW#OS7$3Mh1X)k>8mlP#X{o1U^?+d0%>KiB}?eLJl!i?N|pV%9+;T2T9|e)-*WwZg zltW{XBxuJfKl&3^9ll&z$+)}YPF6$x>cc`^d3)&V@b^lKVu4K*jFAOHC&w)0k+zu# zLp{X(x-kCcOkWimO@j3QdSOf}OGl}}13l*m$3kcs)io#J1O1g8GBZE2FE8-!$~eEZ z4yJ`gu3BVxoRLEw%q0BZL)8BJcuK$B5*RW;T*vP2})!7t&;@_JbhnyM9- z`QsoivVD9pRUXw{FO*OnNWE>V9(*}oGG1B|lxINr=(157M~&59>XWmXcHKz2Ezghr z)pC(C%#r36&&*CDSZvhB|EGMph{$Op_NCwpm)FiRvg%jZ!0k_bDSx z$4^gauMG$qefCOXrqsZ{9Z1=9f}17t)r7!|_75{nEOI5Z7O9~F+)_Yho~3HOx76%o z&HEKd+sXZ9QCAVE$x^>w$Pc(aK+Ae*p{~dOQMc{Mw4&<9jK)fzoMm`$KYd2cj+3H- z%d4arIGk)*&7M&>!EyaUtF)m5o8Of%BgIum1QtnSj|FwFV?YO@gSU>Hr}z&KyFpF1L$f)YobvF65i8)*grp7U;HD&bI=FREzYeZf0P5Jz*1uWb@|$=EKLz1XQgA<;K$Awe18#{6|8x_3O95}S&= zlf_6dD`oL;Nc_(Knmz}k9)}id72G3tej_CqxD^^#e~1|%ArOM9M0We zl%B<+U+_GtB(-E|ZR7|?Wwr@01-=@KGfdf(56 zlmtigxM=a|G8Jmykc9OIjjud@Y|a~ZpKYdh zr$q|%z}alH_?J(!Z(-92B~W2IMuJ3+_?3(66WgR$6tZx&=3V+XCQe=oU zMA=EJ=}dGPeA0)441))PrYHZ?)7zUe6}8bf9tJ^a=&V5CxL{qR?JxZL)-myl z@$@&>se%Nt)iB1M=UzOk)ecWBmfm9HXSX0L_b4-roi1X(c`x!J`=8h`i>JLC7we8g zVlPza%XV3kg1t+L^)QT!+*<<*(2?3!ql@2MSCjk2zqVgYf-Md?LAo&S0V3nzy7I;r z*R!6-axkzvlMF)tHON)<+X}g7h>&$kLCW0=twZuux+#wCC7^vX$ejdl-Rgw2Z3{$P z*w$7m^uzmSr$X>)wG!x&bs{!(0JiEEh6fG$_mdLMZwi+}Ca^UIZD5}{$y0gqz!$a| zf8IK6u|9u~h|Bb3GlrqNeNs(zs|1jj1?^(w5Oke2b^}@36i^-R7FA1Q=zz={*236+ z7Gq|mT!eLijn*<352&_t?$7)AEi&J7hB0x!pPa$bkn8

R>?vGNd|riyCG}ccIR`N{=|&~T#2J^KyhWSR zVp?^P*Oq(xo~NF=>oaxPWv1RTj6Lsg@F2hfOF8sqOz=E^L0Fi8B?OPvK0oT^$yFls zC4tbz3SZ9_Lq9i^)TZ zqrtyF;0$PUFDyho{Q$#Ag&r`_fB~Z3Vj$$ zKYU7_1vB*kTHTda^sX8@p5!B}6|6a+_Q~8r$Y6-n?RJ_~J{lTViJs>ctK)&~cJOW0 zlk>3`kPOuh=dTywOu$$0={~9j`?i6z%9!oZFHN7Y(igs?gcww=9mAQ3k-Q+dU;!9U zRDcs*BDRILd^;MSCLjg_@2**vD26T}23o!C$OQJ%my&p?h*@ZiW$Stanw2S^yU^MyTUW zTLZWCfimbiv-`dm@%1jSnO&ISyXwH8LWUgLZ6p1qdDnJ{l3zaU$%|1ttwaEn4odSNAfe8GB)ix@uB$J zRA;HGR>1_*jEA{O`nc`C~lrgXPY^O z&dBzb1wLLR9CuptNxtjLy?a@h3bw^|HeE+`c}ubD%=B}RV@X;K_RjYs%@ z&L@A$TnBE2fUi3%X69=S>3G0(YK7Foip`_xqQv5n`bac_I#Z&R9ud6d(wHV`ip`}# z^$%dw+2E0p*W$HcVb!7QH#3oT$m5TXV)$(DbDh>ZTSTXb1ROXZ0UYq5TOyQ<0|oJ^ zf*+$q*Hqd&HRsaXYZh6*E16awQ&6Y_431tiKT`a7%sFd{l=z*UzN+Ix+az&xH?uRg z2|lNY> z7*nt#1as2Q%vTOA{>Qre-n&8OpM07MhAhsIJ$6`);mK>w*bJ|qsRQ-< zYMr%^fWOPzgnj@c>EzLeQix}LjCG!wH|2E=DWI1TMb;b=wCv>iBSD>UyoKWB*wEp?_m}{ z?N#sXtlvJR4ZRi~O&&VY+oVF@PhMS_g!wYVJT440ztV|LPLBk#N7rxy{&ZQQwLgSP zAWCEI?iZO{WisqW7j7pDjSe*V_ser9)x;4PUa%DtJIT+r{RhoQfImK1O(ln;eWZ7=Rh z9KbNrfx#nlOME6v!@_SDqgcmfxh1-{bx6^Je>{02hs~r?%L7VZMx>&z8&z^6GNLr8yP;~09igQ&@)2b+hrJ<};x{)GnsS9W@ zs{X5)jL&46lrKUda$XnXu}fkqBo+X5CxlH_By)~!D{fpnlpt#{GuPeSzp z3r2h;EwpU!B2)lf9boC|HtCd(9OGP=p#N2q*v9;UhWV@i`IAR!tbW)qs))m3$l$9E z{<>S$=_jW}&umPYNS}VHgU4g(z;_I$W-hcFpU94-=whEdNkn6_0A+oQuZ z8p=yXYC=!Ui!P~eR$62^_|jB8*gnT#O9$pTAg3HYhB&@n5{g{&*u`v2>biUCmGw1K z^B=#*ouTbW`CZ?_VyIdG3uykr|6I*IZh3b6VBEjo{-t?-`hDpNxB?wc9j}h30{~_E z-~UUELLP;U|I-UOV2zd9-X`_Fdxr>sOz=$BLaK4_a6*RG6aF*&E&BFx9~deL=V&Nb zhe%kNHk4c)(A9Ub_^=opV3c>NjV7hEB4l@x@Y z=u-Qhwl{xoTKb?DyEx6eCHx=&KR`Rc|Q|r?2ShoUPO_wRt4Och~_#;>|Zsx^Yx_QV}TBSjde#ZRR=$B#~Jh( z+_$;y0{a5Xq4iP%wAF+pcCdZi3aUR57AsD0G{XaTr0iD{9}O+OwPeYL0rgu7=+*Z6 z$RLCj>sCAmOXKAn`x5TT_BW&ih3}LU^p6B({AdqPmVNx#fN|9ioToc$--D zTiwCNEnLkATofc*e|+%(Mo8c!0hgDED#xlIZV)&PJf4Ju)kA`3DB-LARQy2BZ_+C9 zSD_^gAz5h|Z2M#LYUzoJs*e`OmZ*jj{-)QT99C;K5`3YGa2N?mEX=2?sPv52Z@1aN zmdI#POch0lh*~h*EXXs85Nd`~I1p_3LS!29pn#L3X$S{LCa&(Bo9?>Fi*XvHP((^h zml~BiOD?W&FXdT?Xh3M1uHK-~xi|VwM8Zv_Yk#y@8+Qs>X>Le7tbEr8i6QMb@+z)% zF+4af{$RP#WW?g_dfX#?W@0o@(lip8Jh+PtF+Lmysi2sdJ`@5egu1OMV)O_hndz{n zl-`Fzj7Q{0cvP?1J^)@R;Wp;08=N;xv|sQ^-MIkaRTw)~(pVhhEM5_urtNsMhDC@H zh4Jsez0&zy9f7Oky6$shCgW7!n1Nn%zv3o8i1;Q3MJP3f3jmxiz(2&^~A60q5`!CKo;0iZS!vRgD$4d4c;+^cHqdUO~t#lbc zrgqay=KV60ZqnJLZL6oYy;a&m|0s%?p!qk>nS+A>h?f3rtT0CT)^~)+;fk@JbHC|W zPyw#eSv3FVrloH-IFuRsq7AKou1joF8v9M^arprLmBo%UJw^k$US?{W*8X~y5qw7m zRP>p7;aAy;Lzm91A$q~(fCKgyIk2oyYEC}@Vb?yQ*RF;&30@zJ+e;T;$0wNn=RgX; zh^eQ(yrCS$6(Z-{RR`h`MW5f{)c(O=zkbTzDaxtWRO{h?@P7?Sn76nVR; zwKat}#jbz^=AT}>z|IMuJ$J;X6@uS!W2>&b|Ax#_P+CqgXbAFvkTwAnyMeDo0?IU( zSqm`Q-rot$yLyJ$iY7c+nAyJ?hwl0Yn;EGYV>Cn^Dwl*SDZ3S7#B^R`b(2KgTdvEGaT@@ax8 z;(8En`>T@*gAM`M4~>(i>S+BFV{;HcUkx2y%xa>uX}_b4{kG1jlG0o4G)Kg4dNp9f zrSbK;MrI-`W5{jhp+|D_(RM={ww&;`%E!FrZ+D*glfFrF=ii|R&N2_VijY&FY)H>Rau^kia)usFdwujQHT5uV+(q8N`n>rJA0@5 z>*^(a(1rI1MD%Pw?cZf!vT2TZzMJ{1okk&%pv%*r=NFB9{!JIrK`hrSl=`ztPT}Bz z0=yP-p@VQwvxUnn8;jf-kIs&hc9J9A^XJw>S9q8wWpl@5c<5cXtbWgE(LTRv>t*?9 zD^Cy)>j$D|Yk|tTBUxHpv|y;e(ukiuFMw(C4xX$gR}invHvzVL{zJbStwF0zT9n^0 zMo|b6=!6cT1N8?$*uZA9Ie5E{^3=!ga*_;?54!oG2w4Lt>Y^(D#>dRrCwJMes zFHNnVDyI3>F%SLVqRw0`d(BkA)X92Ddo0LwRwRSrrp8o$bkhLIw(TXg2;LxC5l1um z(4!~}dd`Y{JGqAE*T2sXnX|iFZRB$(ZB>WkzkkY!E0vd$RD}>!QMW}9lI=O zOmIk-fv)@l=~2Ir{iEML2i0aAe=Vbyna+;Yy2+uwUS(DAJF+6f|ICEB(WJD$QSa+J zErNg)!I;n@w&x2;tOjln9O2ZqRhzZ z&l|$V^bly@{>)ytvGPeF-_A0Iizz8>m(vGGjC2v`m6ds?%2d5a7ZzGYdv6;1SS~av>k6}#p7p@ArjYX`J)AcFlmxi$YBxN9go^5es!Y*7QwQw?u97b^jbT$ zt1II_rM&FLlA)3rYd90tiJm+^;(50`!}J@H)XEdLOq@5K&u0;qWkB*Q}tT{iGF()aX#zK34l_tHBnZ0OcXFCP~%uEkObyIM|M17cF zIi<~_p2;SCpHFZ=lNS@j7Ej11=8n;}ieoU%4bUaNL|`|LArT)S%zL2g2eF0Y`jk?W zw2y=vF+kNQLXL?Ea7r@ z|BtX%657p7fO+ac=QckY#TXygLUpVRai^Zn9hM#D3Qo#F@D*l%&)QZJy6NzSgj?NC z+J?>oMN6uAYP&2auWSkZCF2=ULfDsp^*lWTRr^pG=D?e5gpUO5sJFfj(scaNE@*kp{=pR{9Sik2LuVdXJPsIkK zxo6KMp^i?>Wsv^Qzj<_$Xe80(b{%(n5V{BMBDhEedExBNS1aQ8m$LES+@etXyAlxO zCX-GJbI3ty#AuMyV?UVwW==`iyxcY-*4*WD8Gpzc`w zkSEg_qO>oXYvDz_HXDP7QIU`3AFHQ@m2~;)>rB^HA$IMg`hQ@+|F0j}RY1dt0jrv8 VE;E?hbHdjBmR7sp>~y*EzX0Qf?JxiU literal 0 HcmV?d00001 diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json index 8b6432ce9..05e5ef9da 100644 --- a/Projects/Governance/Plugins/Pools/Superalgos.json +++ b/Projects/Governance/Plugins/Pools/Superalgos.json @@ -1064,7 +1064,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "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 9913b4a51..e82f447cf 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -127,8 +127,8 @@ "id": "f4d39b02-4324-438d-9f74-2bea2b7272ef", "savedPayload": { "position": { - "x": 37976.33557568774, - "y": 18557.294901687517 + "x": 37950, + "y": 18540.192378864667 }, "targetPosition": { "x": 37800, @@ -516,8 +516,8 @@ "id": "b6e3c87d-a11b-4b2a-b6a6-edc96375f5da", "savedPayload": { "position": { - "x": 38085.31695488855, - "y": 18707.294901687517 + "x": 38059.80762113533, + "y": 18650 }, "targetPosition": { "x": 37800, @@ -565,12 +565,12 @@ "id": "2571cea1-2b6d-40f5-9331-8786bf57c184", "savedPayload": { "position": { - "x": 38901.29354317829, - "y": 18645.29319603238 + "x": 38799.585369022054, + "y": 18312.54666533391 }, "targetPosition": { - "x": 38678.35009553507, - "y": 18846.03237794004 + "x": 38649.585369022054, + "y": 18572.354286469243 }, "floatingObject": { "isPinned": false, @@ -653,23 +653,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Referrals Program", - "Pool Class" + "Pool Class", + "Governance", + "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" ], [ "Referrals Rewards", - "Pool" + "Pool", + "Governance", + "2e9dff69-e407-4ccb-9a42-e4a476e28d7c" ] ] } @@ -708,23 +718,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Referrals Program", - "Pool Class" + "Pool Class", + "Governance", + "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" ], [ "Referrals Bonus", - "Pool" + "Pool", + "Governance", + "af1984a3-465b-48ed-9944-c101a8ed376c" ] ] } @@ -762,19 +782,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Referrals Program", - "Pool Class" + "Pool Class", + "Governance", + "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" ] ] } @@ -820,23 +848,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Support Program", - "Pool Class" + "Pool Class", + "Governance", + "174e7d3b-fe3c-4fb1-825c-4ea488d82171" ], [ "Support Rewards", - "Pool" + "Pool", + "Governance", + "c41497c5-7440-4ebd-aabb-fbc3d022136b" ] ] } @@ -875,23 +913,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Support Program", - "Pool Class" + "Pool Class", + "Governance", + "174e7d3b-fe3c-4fb1-825c-4ea488d82171" ], [ "Support Bonus", - "Pool" + "Pool", + "Governance", + "6625953a-6026-4686-9091-2796fd08b9a7" ] ] } @@ -929,19 +977,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Support Program", - "Pool Class" + "Pool Class", + "Governance", + "174e7d3b-fe3c-4fb1-825c-4ea488d82171" ] ] } @@ -987,23 +1043,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Mentorship Program", - "Pool Class" + "Pool Class", + "Governance", + "8b3714a0-3bf2-491e-8ffc-9c4286446382" ], [ "Mentorship Rewards", - "Pool" + "Pool", + "Governance", + "53ddcc36-f693-4193-8284-999a88f1c944" ] ] } @@ -1042,23 +1108,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Mentorship Program", - "Pool Class" + "Pool Class", + "Governance", + "8b3714a0-3bf2-491e-8ffc-9c4286446382" ], [ "Mentorship Bonus", - "Pool" + "Pool", + "Governance", + "ff1e4a84-3363-4348-ad15-31a34898fa82" ] ] } @@ -1096,19 +1172,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Mentorship Program", - "Pool Class" + "Pool Class", + "Governance", + "8b3714a0-3bf2-491e-8ffc-9c4286446382" ] ] } @@ -1147,15 +1231,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ] ] } @@ -1207,23 +1297,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Airdrop Program", - "Pool Class" + "Pool Class", + "Governance", + "5332a29f-2139-4dd9-aa77-f87fcbf513df" ], [ "Airdrop Rewards", - "Pool" + "Pool", + "Governance", + "0e10c82f-94b3-4f39-b673-15eaf0551df4" ] ] } @@ -1261,19 +1361,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Airdrop Program", - "Pool Class" + "Pool Class", + "Governance", + "5332a29f-2139-4dd9-aa77-f87fcbf513df" ] ] } @@ -1319,23 +1427,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Github Prgoram", - "Pool Class" + "Pool Class", + "Governance", + "e4daed5d-1c83-4f64-a504-3aef7d73e688" ], [ "Github Rewards", - "Pool" + "Pool", + "Governance", + "8829c80f-028b-4315-85a1-82ad502f0687" ] ] } @@ -1373,19 +1491,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Github Prgoram", - "Pool Class" + "Pool Class", + "Governance", + "e4daed5d-1c83-4f64-a504-3aef7d73e688" ] ] } @@ -1424,15 +1550,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ] ] } @@ -1484,23 +1616,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Voting", - "Pool Class" + "Pool Class", + "Governance", + "1f9590c2-e166-482c-8400-ba64e39f0934" ], [ "Voting Program", - "Pool Class" + "Pool Class", + "Governance", + "80d4f08f-bb7f-48a2-9cef-be12befcac2e" ], [ "Voting Bonus", - "Pool" + "Pool", + "Governance", + "9eb846a4-effb-4380-9487-1a82011b0488" ] ] } @@ -1538,19 +1680,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Voting", - "Pool Class" + "Pool Class", + "Governance", + "1f9590c2-e166-482c-8400-ba64e39f0934" ], [ "Voting Program", - "Pool Class" + "Pool Class", + "Governance", + "80d4f08f-bb7f-48a2-9cef-be12befcac2e" ] ] } @@ -1589,15 +1739,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Voting", - "Pool Class" + "Pool Class", + "Governance", + "1f9590c2-e166-482c-8400-ba64e39f0934" ] ] } @@ -1649,23 +1805,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ], [ "Liquidity Rewards BTCB", - "Pool" + "Pool", + "Governance", + "a7651e92-ab96-49fc-af9c-f936682dd7a4" ] ] } @@ -1704,23 +1870,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ], [ "Liquidity Rewards BNB", - "Pool" + "Pool", + "Governance", + "e7c21a28-fea6-48cc-a97c-cc43470bb2fc" ] ] } @@ -1759,23 +1935,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ], [ "Liquidity Rewards BUSD", - "Pool" + "Pool", + "Governance", + "962d9bc1-4e54-463c-86ae-43aec1db0f0f" ] ] } @@ -1813,19 +1999,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ] ] } @@ -1864,15 +2058,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ] ] } @@ -1924,23 +2124,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Staking Program", - "Pool Class" + "Pool Class", + "Governance", + "68e3f570-4156-4be6-8881-c526a06f85d0" ], [ "Staking Rewards", - "Pool" + "Pool", + "Governance", + "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a" ] ] } @@ -1978,19 +2188,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Staking Program", - "Pool Class" + "Pool Class", + "Governance", + "68e3f570-4156-4be6-8881-c526a06f85d0" ] ] } @@ -2036,23 +2254,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Delegation Program", - "Pool Class" + "Pool Class", + "Governance", + "f09429a2-3f6c-4210-bb73-0c8efd254c82" ], [ "Delegation Bonus", - "Pool" + "Pool", + "Governance", + "24e62dd3-4d7b-4eba-b401-493c155d85d0" ] ] } @@ -2090,19 +2318,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Delegation Program", - "Pool Class" + "Pool Class", + "Governance", + "f09429a2-3f6c-4210-bb73-0c8efd254c82" ] ] } @@ -2141,15 +2377,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ] ] } @@ -2188,11 +2430,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ] ] } @@ -2238,15 +2484,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ], [ "Positions", - "Pool" + "Pool", + "Governance", + "a289d3a4-bd49-467b-b8d9-d0ba1152a131" ] ] } @@ -2285,15 +2537,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ], [ "Assets", - "Pool" + "Pool", + "Governance", + "16a7dd84-e3e8-4118-a17d-ac227e55ff92" ] ] } @@ -2332,15 +2590,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ], [ "Features", - "Pool" + "Pool", + "Governance", + "4b7384bc-93ba-454f-9de8-1add9c4d84ce" ] ] } @@ -2378,11 +2642,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ] ] } @@ -2395,12 +2663,12 @@ "id": "800e3388-1ea6-40ee-ace5-1811a3373e39", "savedPayload": { "position": { - "x": 39257.11133064376, - "y": 18876.363969007194 + "x": 39209.39299015739, + "y": 18422.354286469243 }, "targetPosition": { - "x": 38963.66705042362, - "y": 18938.73747625252 + "x": 38949.585369022054, + "y": 18572.354286469243 }, "floatingObject": { "isPinned": false, @@ -11049,12 +11317,12 @@ "id": "aa848510-1260-46ed-a855-6c0fb9dca9eb", "savedPayload": { "position": { - "x": 39164.406232331276, - "y": 19161.68092389574 + "x": 39209.39299015739, + "y": 18722.354286469243 }, "targetPosition": { - "x": 38963.66705042362, - "y": 18938.73747625252 + "x": 38949.585369022054, + "y": 18572.354286469243 }, "floatingObject": { "isPinned": false, @@ -11090,12 +11358,12 @@ "id": "1d398124-3f36-40a1-8b3b-6c77ad489b92", "savedPayload": { "position": { - "x": 38963.66705042362, - "y": 18938.73747625252 + "x": 38949.585369022054, + "y": 18572.354286469243 }, "targetPosition": { - "x": 38678.35009553507, - "y": 18846.03237794004 + "x": 38649.585369022054, + "y": 18572.354286469243 }, "floatingObject": { "isPinned": false, @@ -11116,12 +11384,12 @@ "id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f", "savedPayload": { "position": { - "x": 38678.35009553507, - "y": 18846.03237794004 + "x": 38649.585369022054, + "y": 18572.354286469243 }, "targetPosition": { - "x": 38384.90581531492, - "y": 18908.405885185366 + "x": 38389.77774788672, + "y": 18722.354286469243 }, "floatingObject": { "isPinned": false, @@ -11144,12 +11412,12 @@ "id": "e9c0e495-7985-4381-bf75-865d87289038", "savedPayload": { "position": { - "x": 38670.22277020347, - "y": 19001.11098349785 + "x": 38689.77774788672, + "y": 18722.354286469243 }, "targetPosition": { - "x": 38384.90581531492, - "y": 18908.405885185366 + "x": 38389.77774788672, + "y": 18722.354286469243 }, "floatingObject": { "isPinned": false, @@ -11167,12 +11435,12 @@ "id": "d5ed432e-78bf-432e-be3b-8649932f7a65", "savedPayload": { "position": { - "x": 38384.90581531492, - "y": 18908.405885185366 + "x": 38389.77774788672, + "y": 18722.354286469243 }, "targetPosition": { - "x": 38085.31695488855, - "y": 18892.705098312483 + "x": 38100, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -11205,12 +11473,12 @@ "id": "b09bc246-6593-4061-ac8a-b52670694e8e", "savedPayload": { "position": { - "x": 38622.235080160724, - "y": 19148.801907129473 + "x": 38689.77774788672, + "y": 18877.645713530757 }, "targetPosition": { - "x": 38336.918125272176, - "y": 19056.09680881699 + "x": 38389.77774788672, + "y": 18877.645713530757 }, "floatingObject": { "isPinned": false, @@ -11233,12 +11501,12 @@ "id": "5011109c-3f87-471a-b786-5fd371f53853", "savedPayload": { "position": { - "x": 38537.657307179834, - "y": 19279.04025646021 + "x": 38649.585369022054, + "y": 19027.645713530757 }, "targetPosition": { - "x": 38336.918125272176, - "y": 19056.09680881699 + "x": 38389.77774788672, + "y": 18877.645713530757 }, "floatingObject": { "isPinned": false, @@ -11256,12 +11524,12 @@ "id": "796dd30f-c90d-4b8d-a63d-89867347407b", "savedPayload": { "position": { - "x": 38336.918125272176, - "y": 19056.09680881699 + "x": 38389.77774788672, + "y": 18877.645713530757 }, "targetPosition": { - "x": 38085.31695488855, - "y": 18892.705098312483 + "x": 38100, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -11279,8 +11547,8 @@ "id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf", "savedPayload": { "position": { - "x": 38085.31695488855, - "y": 18892.705098312483 + "x": 38100, + "y": 18800 }, "targetPosition": { "x": 37800, @@ -11289,7 +11557,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11316,12 +11584,12 @@ "id": "23c23b71-1431-4cca-a80e-bb5c7242be9f", "savedPayload": { "position": { - "x": 38442.62315256192, - "y": 19420.297332942388 + "x": 38579.422863406, + "y": 19250 }, "targetPosition": { - "x": 38209.47936412483, - "y": 19231.501215627435 + "x": 38319.615242270665, + "y": 19100 }, "floatingObject": { "isPinned": false, @@ -11339,67 +11607,12 @@ "id": "90659303-924d-4404-9b1d-ea3180add4ef", "savedPayload": { "position": { - "x": 38209.47936412483, - "y": 19231.501215627435 + "x": 38319.615242270665, + "y": 19100 }, "targetPosition": { - "x": 37976.33557568774, - "y": 19042.705098312483 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 3, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, - "liquidityProgram": { - "type": "Liquidity Program", - "name": "New Liquidity Program", - "config": "{}", - "project": "Governance", - "tokensAwarded": { - "type": "Tokens Awarded", - "name": "New Tokens Awarded", - "project": "Governance", - "id": "c2eabbab-aa7a-4971-8664-cb306b5cc5fd", - "savedPayload": { - "position": { - "x": 38191.356345414926, - "y": 19602.8533542108 - }, - "targetPosition": { - "x": 38083.845960551334, - "y": 19322.779226261642 - }, - "floatingObject": { - "isPinned": false, - "isFrozen": false, - "isCollapsed": false, - "angleToParent": 2, - "distanceToParent": 3, - "arrangementStyle": 0 - }, - "uiObject": { - "isRunning": false - } - } - }, - "id": "6f6d522c-ad61-426a-8fbc-7eb19b0c4a3e", - "savedPayload": { - "position": { - "x": 38083.845960551334, - "y": 19322.779226261642 - }, - "targetPosition": { - "x": 37976.33557568774, - "y": 19042.705098312483 + "x": 38059.80762113533, + "y": 18950 }, "floatingObject": { "isPinned": false, @@ -11417,8 +11630,203 @@ "id": "ed112539-01ea-4937-85cf-69612ee6115d", "savedPayload": { "position": { - "x": 37976.33557568774, - "y": 19042.705098312483 + "x": 38059.80762113533, + "y": 18950 + }, + "targetPosition": { + "x": 37800, + "y": 18800 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "liquidityPrograms": { + "type": "Liquidity Programs", + "name": "New Liquidity Programs", + "config": "{}", + "project": "Governance", + "liquidityProgram": [ + { + "type": "Liquidity Program", + "name": "BTCB", + "config": "{\n \"asset\": \"BTCB\"\n}", + "project": "Governance", + "tokensAwarded": { + "type": "Tokens Awarded", + "name": "New Tokens Awarded", + "project": "Governance", + "id": "5fd55dc1-69c8-473e-9d3d-b39b58818b07", + "savedPayload": { + "position": { + "x": 38426.01200417474, + "y": 19425.064478540568 + }, + "targetPosition": { + "x": 38188.00600208737, + "y": 19242.43604983795 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a081e0a9-ee60-4a56-b5a6-aadb7bd8b052", + "savedPayload": { + "position": { + "x": 38188.00600208737, + "y": 19242.43604983795 + }, + "targetPosition": { + "x": 37950, + "y": 19059.807621135333 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Liquidity Program", + "name": "BNB", + "config": "{\n \"asset\": \"BNB\"\n}", + "project": "Governance", + "tokensAwarded": { + "type": "Tokens Awarded", + "name": "New Tokens Awarded", + "project": "Governance", + "id": "eab98bcc-39ee-411d-95e2-b5c6c33067cc", + "savedPayload": { + "position": { + "x": 38250, + "y": 19579.422863406 + }, + "targetPosition": { + "x": 38100, + "y": 19319.615242270665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "68d6085b-3226-4842-b100-80a8c647e7ec", + "savedPayload": { + "position": { + "x": 38100, + "y": 19319.615242270665 + }, + "targetPosition": { + "x": 37950, + "y": 19059.807621135333 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Liquidity Program", + "name": "BUSD", + "config": "{\n \"asset\": \"BUSD\"\n}", + "project": "Governance", + "tokensAwarded": { + "type": "Tokens Awarded", + "name": "New Tokens Awarded", + "project": "Governance", + "id": "b66c668c-8411-4401-8aa7-10d8b2c4c233", + "savedPayload": { + "position": { + "x": 38028.315715332035, + "y": 19654.674537959618 + }, + "targetPosition": { + "x": 37989.15785766602, + "y": 19357.241079547475 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8c213687-2520-41ff-8b89-f5abaf6f2f2e", + "savedPayload": { + "position": { + "x": 37989.15785766602, + "y": 19357.241079547475 + }, + "targetPosition": { + "x": 37950, + "y": 19059.807621135333 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ba3bc469-3c94-444d-a5d0-8ed851aa3778", + "savedPayload": { + "position": { + "x": 37950, + "y": 19059.807621135333 }, "targetPosition": { "x": 37800, diff --git a/Projects/Governance/Schemas/App-Schema/financial-programs.json b/Projects/Governance/Schemas/App-Schema/financial-programs.json index 2e79f7905..79ceb6ecb 100644 --- a/Projects/Governance/Schemas/App-Schema/financial-programs.json +++ b/Projects/Governance/Schemas/App-Schema/financial-programs.json @@ -18,16 +18,6 @@ "relatedUiObject": "Staking Program", "relatedUiObjectProject": "Governance" }, - { - "action": "Add UI Object", - "actionProject": "Visual-Scripting", - "actionFunction": "payload.executeAction", - "disableIfPropertyIsDefined": true, - "propertyToCheckFor": "stakingProgram", - "label": "Add Liquidity Program", - "relatedUiObject": "Liquidity Program", - "relatedUiObjectProject": "Governance" - }, { "action": "Add UI Object", "actionProject": "Visual-Scripting", @@ -68,12 +58,6 @@ "childType": "Staking Program", "autoAdd": false }, - { - "name": "liquidityProgram", - "type": "node", - "childType": "Liquidity Program", - "autoAdd": false - }, { "name": "delegationProgram", "type": "node", diff --git a/Projects/Governance/Schemas/App-Schema/liquidity-program.json b/Projects/Governance/Schemas/App-Schema/liquidity-program.json index 5486e6bd9..164c8cb38 100644 --- a/Projects/Governance/Schemas/App-Schema/liquidity-program.json +++ b/Projects/Governance/Schemas/App-Schema/liquidity-program.json @@ -33,8 +33,7 @@ "config": true }, "initialValues": { - "config": "{}" - }, + "config": "{\n\"asset\": \"BTCB\"\n}" }, "attachingRules": { "compatibleTypes": "->Financial Programs->" }, diff --git a/Projects/Governance/Schemas/App-Schema/liquidity-programs.json b/Projects/Governance/Schemas/App-Schema/liquidity-programs.json new file mode 100644 index 000000000..f35c417b5 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/liquidity-programs.json @@ -0,0 +1,50 @@ +{ + "type": "Liquidity Programs", + "menuItems": [ + { + "action": "Configure", + "actionFunction": "uiObject.configEditor.activate", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration" + }, + { + "action": "Add UI Object", + "actionProject": "Visual-Scripting", + "actionFunction": "payload.executeAction", + "label": "Add Liquidity Program", + "relatedUiObject": "Liquidity Program", + "relatedUiObjectProject": "Governance" + }, + { + "action": "Delete UI Object", + "actionProject": "Visual-Scripting", + "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": 2, + "attachingRules": { + "compatibleTypes": "->Token Power Switch->" + }, + "propertyNameAtParent": "liquidityPrograms", + "childrenNodesProperties": [ + { + "name": "liquidityProgram", + "type": "array", + "childType": "Liquidity Program", + "autoAdd": false + } + ] +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/token-power-switch.json b/Projects/Governance/Schemas/App-Schema/token-power-switch.json index 40fb5e6c3..0d8a32bfc 100644 --- a/Projects/Governance/Schemas/App-Schema/token-power-switch.json +++ b/Projects/Governance/Schemas/App-Schema/token-power-switch.json @@ -56,6 +56,16 @@ "relatedUiObject": "Financial Programs", "relatedUiObjectProject": "Governance" }, + { + "action": "Add UI Object", + "actionProject": "Visual-Scripting", + "actionFunction": "payload.executeAction", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "liquidityPrograms", + "label": "Add Liquidity Programs", + "relatedUiObject": "Liquidity Programs", + "relatedUiObjectProject": "Governance" + }, { "action": "Delete UI Object", "actionProject": "Visual-Scripting", @@ -109,6 +119,12 @@ "type": "node", "childType": "Financial Programs", "autoAdd": false + }, + { + "name": "liquidityPrograms", + "type": "node", + "childType": "Liquidity Programs", + "autoAdd": false } ] } \ No newline at end of file diff --git a/Projects/Governance/UI/Function-Libraries/DistributionProcess.js b/Projects/Governance/UI/Function-Libraries/DistributionProcess.js index ca1d9a1d1..189d46c3c 100644 --- a/Projects/Governance/UI/Function-Libraries/DistributionProcess.js +++ b/Projects/Governance/UI/Function-Libraries/DistributionProcess.js @@ -110,11 +110,22 @@ function newGovernanceFunctionLibraryDistributionProcess() { userProfiles ) /* - Run the Liquidity Program + Run the Liquidity Program: One per SA Token Market */ UI.projects.governance.functionLibraries.liquidityProgram.calculate( pools, - userProfiles + userProfiles, + 'BTCB' + ) + UI.projects.governance.functionLibraries.liquidityProgram.calculate( + pools, + userProfiles, + 'BNB' + ) + UI.projects.governance.functionLibraries.liquidityProgram.calculate( + pools, + userProfiles, + 'BUSD' ) /* Run the Claims Program diff --git a/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js b/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js index 62de5ac9c..172b1b9b1 100644 --- a/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js +++ b/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js @@ -7,7 +7,8 @@ function newGovernanceFunctionLibraryLiquidityProgram() { function calculate( pools, - userProfiles + userProfiles, + asset ) { let programPoolTokenReward /* @@ -20,7 +21,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { /* Scan Pools Until finding the Pool for this program*/ for (let i = 0; i < pools.length; i++) { let poolsNode = pools[i] - programPoolTokenReward = UI.projects.governance.utilities.pools.findPool(poolsNode, "Liquidity-Rewards") + programPoolTokenReward = UI.projects.governance.utilities.pools.findPool(poolsNode, "Liquidity-Rewards-" + asset) if (programPoolTokenReward !== undefined) { break } } if (programPoolTokenReward === undefined || programPoolTokenReward === 0) { return } @@ -29,7 +30,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { let userProfile = userProfiles[i] if (userProfile.tokenPowerSwitch === undefined) { continue } - let program = UI.projects.governance.utilities.validations.onlyOneProgram(userProfile, "Liquidity Program") + let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, "Liquidity Program", 'asset', asset) if (program === undefined) { continue } if (program.payload === undefined) { continue } @@ -39,7 +40,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { let userProfile = userProfiles[i] if (userProfile.tokenPowerSwitch === undefined) { continue } - let program = UI.projects.governance.utilities.validations.onlyOneProgram(userProfile, "Liquidity Program") + let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, "Liquidity Program", 'asset', asset) if (program === undefined) { continue } if (program.payload === undefined) { continue } @@ -49,7 +50,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { let userProfile = userProfiles[i] if (userProfile.tokenPowerSwitch === undefined) { continue } - let program = UI.projects.governance.utilities.validations.onlyOneProgram(userProfile, "Liquidity Program") + let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, "Liquidity Program", 'asset', asset) if (program === undefined) { continue } if (program.payload === undefined) { continue } if (program.payload.liquidityProgram.isActive === false) { continue } @@ -60,7 +61,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { let userProfile = userProfiles[i] if (userProfile.tokenPowerSwitch === undefined) { continue } - let program = UI.projects.governance.utilities.validations.onlyOneProgram(userProfile, "Liquidity Program") + let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, "Liquidity Program", 'asset', asset) if (program === undefined) { continue } if (program.payload === undefined) { continue } if (program.payload.liquidityProgram.isActive === false) { continue } @@ -123,7 +124,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { Here we will convert Liquidity Tokens into Liquidity Power. As per system rules Liquidity Powar = userProfile.payload.liquidityTokens */ - let programPower = userProfile.payload.liquidityTokens + let programPower = userProfile.payload.liquidityTokens[asset] programNode.payload.liquidityProgram.ownPower = programPower accumulatedProgramPower = accumulatedProgramPower + programPower diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index 8565a54ef..98f938403 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -15,7 +15,7 @@ function newGovernanceUserProfileSpace() { } let waitingForResponses = 0 - const BSC_SCAN_RATE_LIMIT_DELAY = 12000 + const BSC_SCAN_RATE_LIMIT_DELAY = 6000 * 4 let reputationByAddress = new Map() return thisObject @@ -423,11 +423,22 @@ function newGovernanceUserProfileSpace() { userProfile.payload.blockchainTokens === undefined ) { waitingForResponses++ - userProfile.payload.liquidityTokens = 0 // We need to set this value here so that the next call to BSCSCAN is not done more than once. - setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 2, userProfile, blockchainAccount) + userProfile.payload.liquidityTokens = { + BTCB: 0, + BNB: 0, + BUSD: 0 + } + + setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 1, userProfile, blockchainAccount, 'BTCB', UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BTCB_CONTRACT_ADDRESS) + setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 2, userProfile, blockchainAccount, 'BNB', UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BNB_CONTRACT_ADDRESS) + setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 3, userProfile, blockchainAccount, 'BUSD', UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BUSD_CONTRACT_ADDRESS) + + /* + Now we get the SA Tokens Balance. + */ waitingForResponses++ userProfile.payload.blockchainTokens = 0 // We need to set this value here so that the next call to BSCSCAN is not done more than once. - setTimeout(getBlockchainTokens, BSC_SCAN_RATE_LIMIT_DELAY, userProfile, blockchainAccount) + setTimeout(getBlockchainTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 4, userProfile, blockchainAccount) } } } @@ -448,7 +459,7 @@ function newGovernanceUserProfileSpace() { ) userProfile.payload.blockchainTokens = Number(data.result) / 1000000000000000000 userProfile.payload.reputation = Math.min(reputationByAddress.get(blockchainAccount.toLowerCase()) | 0, userProfile.payload.blockchainTokens) - console.log('Reputation of ' + userProfile.name + ' is ', userProfile.payload.reputation) + console.log('[INFO] Reputation of ' + userProfile.name + ' is ', userProfile.payload.reputation) } waitingForResponses-- }).catch(function (err) { @@ -463,9 +474,9 @@ function newGovernanceUserProfileSpace() { }); } - function getBPancakeTokens(userProfile, blockchainAccount) { + function getBPancakeTokens(userProfile, blockchainAccount, asset, marketContract) { console.log('[INFO] Loading Pancake Balance for User Profile: ', userProfile.name, 'blockchainAccount: ', blockchainAccount) - const url = "https://api.bscscan.com/api?module=account&action=tokenbalance&contractaddress=" + UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BTCB_CONTRACT_ADDRESS + "&address=" + blockchainAccount + "&tag=latest&apikey=YourApiKeyToken" + const url = "https://api.bscscan.com/api?module=account&action=tokenbalance&contractaddress=" + marketContract + "&address=" + blockchainAccount + "&tag=latest&apikey=YourApiKeyToken" fetch(url).then(function (response) { return response.json(); @@ -477,8 +488,8 @@ function newGovernanceUserProfileSpace() { userProfile.payload.uiObject.setInfoMessage('Pancake Balance Succesfully Loaded.', UI.projects.governance.globals.designer.SET_INFO_COUNTER_FACTOR ) - userProfile.payload.liquidityTokens = Number(data.result) / 1000000000000000000 - console.log('Liquidity of ' + userProfile.name + ' is ', userProfile.payload.liquidityTokens) + userProfile.payload.liquidityTokens[asset] = Number(data.result) / 1000000000000000000 + console.log('[INFO] Liquidity of ' + userProfile.name + ' for asset ' + asset + ' is ', userProfile.payload.liquidityTokens[asset]) } waitingForResponses-- }).catch(function (err) { diff --git a/Projects/Governance/UI/Utilities/Validations.js b/Projects/Governance/UI/Utilities/Validations.js index 05e6cd299..515e6ca79 100644 --- a/Projects/Governance/UI/Utilities/Validations.js +++ b/Projects/Governance/UI/Utilities/Validations.js @@ -1,6 +1,7 @@ -function newGovernanceUtilitiesValidations () { +function newGovernanceUtilitiesValidations() { let thisObject = { - onlyOneProgram: onlyOneProgram + onlyOneProgram: onlyOneProgram, + onlyOneProgramBasedOnConfigProperty: onlyOneProgramBasedOnConfigProperty } return thisObject @@ -15,7 +16,7 @@ function newGovernanceUtilitiesValidations () { userProfile.payload.uiObject.setErrorMessage( 'Only one ' + programNodeType + ' is allowed.', UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR - ) + ) return } if (programs.length === 1) { @@ -23,4 +24,25 @@ function newGovernanceUtilitiesValidations () { } } } + + function onlyOneProgramBasedOnConfigProperty(userProfile, programNodeType, configProperetyName, configProperetyValue) { + /* + Find all the nodes representing the current program. + */ + let programs = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(userProfile, programNodeType) + if (programs !== undefined) { + for (let i = 0; i < programs.length; i++) { + let program = programs[i] + let propertyValue = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(program.payload, configProperetyName) + if (propertyValue === configProperetyValue) { + return program + } + } + + userProfile.payload.uiObject.setErrorMessage( + 'Only one ' + programNodeType + ' is allowed. No program had a configProperty called ' + configProperetyName + ' with a value of ' + configProperetyValue, + UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR + ) + } + } } \ No newline at end of file From 80920eabb36a90520e1b2763d9e07aeb700f97d4 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 23 Oct 2021 14:49:22 +0200 Subject: [PATCH 09/15] liquidity Balances Laoding Well --- .../User-Profiles/Luis-Fernando-Molina.json | 32 +++++++++---------- .../Schemas/App-Schema/liquidity-program.json | 2 +- .../UI/Function-Libraries/AirdropProgram.js | 2 +- .../UI/Function-Libraries/GithubProgram.js | 2 +- .../UI/Function-Libraries/LiquidityProgram.js | 2 +- .../UI/Function-Libraries/StakingProgram.js | 2 +- .../Spaces/User-Profile-Space/UserProfile.js | 26 ++++++++++----- .../Governance/UI/Utilities/BonusProgram.js | 2 +- .../UI/Utilities/DecendentProgram.js | 2 +- 9 files changed, 41 insertions(+), 31 deletions(-) diff --git a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json index e82f447cf..d27019a07 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -11653,7 +11653,7 @@ "liquidityPrograms": { "type": "Liquidity Programs", "name": "New Liquidity Programs", - "config": "{}", + "config": "{\n \"percentage\": 0\n}", "project": "Governance", "liquidityProgram": [ { @@ -11668,12 +11668,12 @@ "id": "5fd55dc1-69c8-473e-9d3d-b39b58818b07", "savedPayload": { "position": { - "x": 38426.01200417474, - "y": 19425.064478540568 + "x": 38529.55549577344, + "y": 19215.099048196847 }, "targetPosition": { - "x": 38188.00600208737, - "y": 19242.43604983795 + "x": 38239.77774788672, + "y": 19137.45333466609 }, "floatingObject": { "isPinned": false, @@ -11691,8 +11691,8 @@ "id": "a081e0a9-ee60-4a56-b5a6-aadb7bd8b052", "savedPayload": { "position": { - "x": 38188.00600208737, - "y": 19242.43604983795 + "x": 38239.77774788672, + "y": 19137.45333466609 }, "targetPosition": { "x": 37950, @@ -11702,7 +11702,7 @@ "isPinned": false, "isFrozen": false, "isCollapsed": false, - "angleToParent": 3, + "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 }, @@ -11757,7 +11757,7 @@ "isPinned": false, "isFrozen": false, "isCollapsed": false, - "angleToParent": 3, + "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 }, @@ -11778,12 +11778,12 @@ "id": "b66c668c-8411-4401-8aa7-10d8b2c4c233", "savedPayload": { "position": { - "x": 38028.315715332035, - "y": 19654.674537959618 + "x": 37794.708572938485, + "y": 19639.363116908775 }, "targetPosition": { - "x": 37989.15785766602, - "y": 19357.241079547475 + "x": 37872.35428646924, + "y": 19349.585369022054 }, "floatingObject": { "isPinned": false, @@ -11801,8 +11801,8 @@ "id": "8c213687-2520-41ff-8b89-f5abaf6f2f2e", "savedPayload": { "position": { - "x": 37989.15785766602, - "y": 19357.241079547475 + "x": 37872.35428646924, + "y": 19349.585369022054 }, "targetPosition": { "x": 37950, @@ -11812,7 +11812,7 @@ "isPinned": false, "isFrozen": false, "isCollapsed": false, - "angleToParent": 3, + "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 }, diff --git a/Projects/Governance/Schemas/App-Schema/liquidity-program.json b/Projects/Governance/Schemas/App-Schema/liquidity-program.json index 164c8cb38..5ac8606a3 100644 --- a/Projects/Governance/Schemas/App-Schema/liquidity-program.json +++ b/Projects/Governance/Schemas/App-Schema/liquidity-program.json @@ -35,7 +35,7 @@ "initialValues": { "config": "{\n\"asset\": \"BTCB\"\n}" }, "attachingRules": { - "compatibleTypes": "->Financial Programs->" + "compatibleTypes": "->Liquidity Programs->" }, "addLeftIcons": true, "level": 1, diff --git a/Projects/Governance/UI/Function-Libraries/AirdropProgram.js b/Projects/Governance/UI/Function-Libraries/AirdropProgram.js index adbd0d15c..ecf4b835b 100644 --- a/Projects/Governance/UI/Function-Libraries/AirdropProgram.js +++ b/Projects/Governance/UI/Function-Libraries/AirdropProgram.js @@ -107,7 +107,7 @@ function newGovernanceFunctionLibraryAirdropProgram() { ) { node.payload.airdropProgram.isActive = false userProfile.payload.uiObject.setErrorMessage( - "Waiting for blockchain balance. It takes 6 seconds to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", + "Waiting for blockchain balance. It takes 1 minute to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR ) return diff --git a/Projects/Governance/UI/Function-Libraries/GithubProgram.js b/Projects/Governance/UI/Function-Libraries/GithubProgram.js index 8c2aa2896..62c139c99 100644 --- a/Projects/Governance/UI/Function-Libraries/GithubProgram.js +++ b/Projects/Governance/UI/Function-Libraries/GithubProgram.js @@ -107,7 +107,7 @@ function newGovernanceFunctionLibraryGithubProgram() { ) { node.payload.githubProgram.isActive = false userProfile.payload.uiObject.setErrorMessage( - "Waiting for blockchain balance. It takes 6 seconds to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", + "Waiting for blockchain balance. It takes 1 minute to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR ) return diff --git a/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js b/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js index 172b1b9b1..6818275e3 100644 --- a/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js +++ b/Projects/Governance/UI/Function-Libraries/LiquidityProgram.js @@ -108,7 +108,7 @@ function newGovernanceFunctionLibraryLiquidityProgram() { ) { node.payload.liquidityProgram.isActive = false userProfile.payload.uiObject.setErrorMessage( - "Waiting for liquidity balance. It takes 6 seconds to load the liquidity provided by each profile, bacause you are using a free API provided by BSC Scan.", + "Waiting for liquidity balance. It takes 1 minute to load the liquidity provided by each profile, bacause you are using a free API provided by BSC Scan.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR ) return diff --git a/Projects/Governance/UI/Function-Libraries/StakingProgram.js b/Projects/Governance/UI/Function-Libraries/StakingProgram.js index d3b8a0263..48f3cccc9 100644 --- a/Projects/Governance/UI/Function-Libraries/StakingProgram.js +++ b/Projects/Governance/UI/Function-Libraries/StakingProgram.js @@ -107,7 +107,7 @@ function newGovernanceFunctionLibraryStakingProgram() { ) { node.payload.stakingProgram.isActive = false userProfile.payload.uiObject.setErrorMessage( - "Waiting for blockchain balance. It takes 6 seconds to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", + "Waiting for blockchain balance. It takes 1 minute to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR ) return diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index 98f938403..2489310a1 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -15,7 +15,7 @@ function newGovernanceUserProfileSpace() { } let waitingForResponses = 0 - const BSC_SCAN_RATE_LIMIT_DELAY = 6000 * 4 + const BSC_SCAN_RATE_LIMIT_DELAY = 6000 * 5 let reputationByAddress = new Map() return thisObject @@ -373,7 +373,12 @@ function newGovernanceUserProfileSpace() { let userProfile = userProfiles[i] if (userProfile.payload === undefined) { continue } + if (userProfile.payload.bloackchainBalancesLoading === true) { + return + } + if (userProfile.payload.blockchainTokens === undefined) { + userProfile.payload.bloackchainBalancesLoading = true getBlockchainAccount(userProfile) return } @@ -394,6 +399,7 @@ function newGovernanceUserProfileSpace() { httpRequest(JSON.stringify(request.params), request.url, onResponse) function onResponse(err, data) { + /* Lets check the result of the call through the http interface */ if (err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) { userProfile.payload.uiObject.setErrorMessage( @@ -422,13 +428,16 @@ function newGovernanceUserProfileSpace() { blockchainAccount !== "" && userProfile.payload.blockchainTokens === undefined ) { - waitingForResponses++ + userProfile.payload.liquidityTokens = { BTCB: 0, BNB: 0, BUSD: 0 } + waitingForResponses++ + waitingForResponses++ + waitingForResponses++ setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 1, userProfile, blockchainAccount, 'BTCB', UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BTCB_CONTRACT_ADDRESS) setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 2, userProfile, blockchainAccount, 'BNB', UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BNB_CONTRACT_ADDRESS) setTimeout(getBPancakeTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 3, userProfile, blockchainAccount, 'BUSD', UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BUSD_CONTRACT_ADDRESS) @@ -437,7 +446,6 @@ function newGovernanceUserProfileSpace() { Now we get the SA Tokens Balance. */ waitingForResponses++ - userProfile.payload.blockchainTokens = 0 // We need to set this value here so that the next call to BSCSCAN is not done more than once. setTimeout(getBlockchainTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 4, userProfile, blockchainAccount) } } @@ -450,14 +458,15 @@ function newGovernanceUserProfileSpace() { fetch(url).then(function (response) { return response.json(); }).then(function (data) { - //console.log(data) + userProfile.payload.bloackchainBalancesLoading = false if (data.result === "Max rate limit reached, please use API Key for higher rate limit") { - userProfile.payload.blockchainTokens = undefined // This enables this profile to query the blockchain again. + userProfile.payload.blockchainTokens = undefined } else { userProfile.payload.uiObject.setInfoMessage('Blockchan Balance Succesfully Loaded.', UI.projects.governance.globals.designer.SET_INFO_COUNTER_FACTOR ) userProfile.payload.blockchainTokens = Number(data.result) / 1000000000000000000 + console.log('[INFO] SA Balance of ' + userProfile.name + ' is ', userProfile.payload.blockchainTokens) userProfile.payload.reputation = Math.min(reputationByAddress.get(blockchainAccount.toLowerCase()) | 0, userProfile.payload.blockchainTokens) console.log('[INFO] Reputation of ' + userProfile.name + ' is ', userProfile.payload.reputation) } @@ -475,7 +484,7 @@ function newGovernanceUserProfileSpace() { } function getBPancakeTokens(userProfile, blockchainAccount, asset, marketContract) { - console.log('[INFO] Loading Pancake Balance for User Profile: ', userProfile.name, 'blockchainAccount: ', blockchainAccount) + console.log('[INFO] Loading Pancake Balance for User Profile: ', userProfile.name, 'blockchainAccount: ', blockchainAccount, 'asset: ', asset) const url = "https://api.bscscan.com/api?module=account&action=tokenbalance&contractaddress=" + marketContract + "&address=" + blockchainAccount + "&tag=latest&apikey=YourApiKeyToken" fetch(url).then(function (response) { @@ -483,9 +492,10 @@ function newGovernanceUserProfileSpace() { }).then(function (data) { //console.log(data) if (data.result === "Max rate limit reached, please use API Key for higher rate limit") { - userProfile.payload.liquidityTokens = undefined // This enables this profile to query the blockchain again. + console.log('[WARN] Rate Limit Reached fetching liquidity tokens for asset ' + asset + ' of user profile ' + userProfile.name) + userProfile.payload.blockchainTokens = undefined } else { - userProfile.payload.uiObject.setInfoMessage('Pancake Balance Succesfully Loaded.', + userProfile.payload.uiObject.setInfoMessage('Pancake Balance Succesfully Loaded for asset ' + asset, UI.projects.governance.globals.designer.SET_INFO_COUNTER_FACTOR ) userProfile.payload.liquidityTokens[asset] = Number(data.result) / 1000000000000000000 diff --git a/Projects/Governance/UI/Utilities/BonusProgram.js b/Projects/Governance/UI/Utilities/BonusProgram.js index 5ef959426..df89a8cd2 100644 --- a/Projects/Governance/UI/Utilities/BonusProgram.js +++ b/Projects/Governance/UI/Utilities/BonusProgram.js @@ -102,7 +102,7 @@ function newGovernanceUtilitiesBonusProgram() { ) { node.payload[programPropertyName].isActive = false userProfile.payload.uiObject.setErrorMessage( - "Waiting for blockchain balance. It takes 6 seconds to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", + "Waiting for blockchain balance. It takes 1 minute to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR ) return diff --git a/Projects/Governance/UI/Utilities/DecendentProgram.js b/Projects/Governance/UI/Utilities/DecendentProgram.js index 70a3d9b0b..fe94ee3f8 100644 --- a/Projects/Governance/UI/Utilities/DecendentProgram.js +++ b/Projects/Governance/UI/Utilities/DecendentProgram.js @@ -169,7 +169,7 @@ function newGovernanceUtilitiesDecendentProgram() { ) { node.payload[programPropertyName].isActive = false userProfile.payload.uiObject.setErrorMessage( - "Waiting for blockchain balance. It takes 6 seconds to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", + "Waiting for blockchain balance. It takes 1 minute to load the balance of each profile, bacause you are using a free API provided by BSC Scan.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR ) return From 86629256ca7779b08650e4367279c59a43cf1d68 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 24 Oct 2021 10:02:29 +0200 Subject: [PATCH 10/15] Governance Reporting Liquidity --- .../Governance/Plugins/Pools/Superalgos.json | 6 +- .../Plugins/Positions/Superalgos.json | 116 +- .../User-Profiles/Luis-Fernando-Molina.json | 1100 +++++++---------- .../UI/Spaces/Reports-Space/Liquidity.js | 45 +- 4 files changed, 536 insertions(+), 731 deletions(-) diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json index 05e5ef9da..30ed151de 100644 --- a/Projects/Governance/Plugins/Pools/Superalgos.json +++ b/Projects/Governance/Plugins/Pools/Superalgos.json @@ -879,7 +879,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -1039,7 +1039,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -1064,7 +1064,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/Plugins/Positions/Superalgos.json b/Projects/Governance/Plugins/Positions/Superalgos.json index 2f0f9f7f0..e1a93b6f0 100644 --- a/Projects/Governance/Plugins/Positions/Superalgos.json +++ b/Projects/Governance/Plugins/Positions/Superalgos.json @@ -41,12 +41,12 @@ "id": "b555c1fb-e0d3-445f-b46d-9428818b5fe5", "savedPayload": { "position": { - "x": 21752.372181013012, - "y": 44598.95780077478 + "x": 21077.53945770656, + "y": 44522.07689281431 }, "targetPosition": { - "x": 21874.39317393575, - "y": 44873.02143806756 + "x": 21375.89602631704, + "y": 44553.435431794605 }, "floatingObject": { "isPinned": false, @@ -71,12 +71,12 @@ "id": "71c32e58-5695-4af2-ab80-47d9baf8ecdd", "savedPayload": { "position": { - "x": 21866.540089443388, - "y": 44573.12424057489 + "x": 21112.250892518452, + "y": 44410.287803716725 }, "targetPosition": { - "x": 21874.39317393575, - "y": 44873.02143806756 + "x": 21375.89602631704, + "y": 44553.435431794605 }, "floatingObject": { "isPinned": false, @@ -101,12 +101,12 @@ "id": "5a13709f-761a-410b-b0e9-1542e341f19e", "savedPayload": { "position": { - "x": 21981.903558799342, - "y": 44592.9473101184 + "x": 21187.09990900209, + "y": 44320.291643357516 }, "targetPosition": { - "x": 21874.39317393575, - "y": 44873.02143806756 + "x": 21375.89602631704, + "y": 44553.435431794605 }, "floatingObject": { "isPinned": false, @@ -126,17 +126,17 @@ "id": "68dd2990-457e-48df-b752-6e1fd02081a3", "savedPayload": { "position": { - "x": 21287.42951326449, - "y": 44555.94024882619 + "x": 21375.89602631704, + "y": 44553.435431794605 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -247,12 +247,12 @@ "id": "21bdec2e-d471-4b64-a3e0-6e2b31c5adcc", "savedPayload": { "position": { - "x": 21348.029296389053, - "y": 44455.79360418333 + "x": 21450.745042800678, + "y": 44463.439271435396 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, @@ -368,12 +368,12 @@ "id": "ffe4621a-a216-412f-a9be-354f30f6d102", "savedPayload": { "position": { - "x": 21442.34065740424, - "y": 44386.46070195479 + "x": 21554.336556704453, + "y": 44408.93713941203 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, @@ -489,12 +489,12 @@ "id": "96e5c443-f932-47e4-9e5d-48e986dcc637", "savedPayload": { "position": { - "x": 21556.0055465301, - "y": 44358.496848000555 + "x": 21670.899699095928, + "y": 44398.226491262 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, @@ -610,12 +610,12 @@ "id": "a0f8d421-8864-44ac-8922-5d13176abb54", "savedPayload": { "position": { - "x": 21671.719514772012, - "y": 44376.159285592184 + "x": 21782.688788193514, + "y": 44432.93792607389 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, @@ -731,12 +731,12 @@ "id": "39e7f6fd-1faa-47e9-862d-45a8482a558a", "savedPayload": { "position": { - "x": 21771.866159414876, - "y": 44436.75906871675 + "x": 21872.68494855272, + "y": 44507.78694255753 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, @@ -852,12 +852,12 @@ "id": "0a5a7864-efff-4715-a435-f4bf35d1517e", "savedPayload": { "position": { - "x": 21841.199061643412, - "y": 44531.07042973194 + "x": 21927.18708057609, + "y": 44611.37845646131 }, "targetPosition": { - "x": 21569.464995635255, - "y": 44658.19476796295 + "x": 21639.54116011563, + "y": 44696.583059872486 }, "floatingObject": { "isPinned": false, @@ -886,7 +886,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -1465,12 +1465,12 @@ "id": "bd33151c-c5f5-4210-9ea4-a40e41ad917d", "savedPayload": { "position": { - "x": 21446.791436650125, - "y": 45482.942349082005 + "x": 22444.247960837183, + "y": 44942.454454347535 }, "targetPosition": { - "x": 21331.986406940596, - "y": 45205.778489328615 + "x": 22180.602827038594, + "y": 45085.602082425416 }, "floatingObject": { "isPinned": false, @@ -1495,12 +1495,12 @@ "id": "45888d4c-0ebc-4713-9f82-9c4db3359a1e", "savedPayload": { "position": { - "x": 21331.986406940596, - "y": 45505.778489328615 + "x": 22478.959395649075, + "y": 45054.24354344512 }, "targetPosition": { - "x": 21331.986406940596, - "y": 45205.778489328615 + "x": 22180.602827038594, + "y": 45085.602082425416 }, "floatingObject": { "isPinned": false, @@ -1525,12 +1525,12 @@ "id": "39062bcb-7491-41a6-993d-5d2d3c84fc5e", "savedPayload": { "position": { - "x": 21217.18137723107, - "y": 45482.942349082005 + "x": 22468.248747499052, + "y": 45170.80668583659 }, "targetPosition": { - "x": 21331.986406940596, - "y": 45205.778489328615 + "x": 22180.602827038594, + "y": 45085.602082425416 }, "floatingObject": { "isPinned": false, @@ -1560,7 +1560,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -1705,7 +1705,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -2911,7 +2911,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 @@ -4688,7 +4688,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 d27019a07..b5bcea0e3 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -127,11 +127,11 @@ "id": "f4d39b02-4324-438d-9f74-2bea2b7272ef", "savedPayload": { "position": { - "x": 37950, + "x": 33783.333333333336, "y": 18540.192378864667 }, "targetPosition": { - "x": 37800, + "x": 33633.333333333336, "y": 18800 }, "floatingObject": { @@ -516,11 +516,11 @@ "id": "b6e3c87d-a11b-4b2a-b6a6-edc96375f5da", "savedPayload": { "position": { - "x": 38059.80762113533, + "x": 33893.14095446867, "y": 18650 }, "targetPosition": { - "x": 37800, + "x": 33633.333333333336, "y": 18800 }, "floatingObject": { @@ -565,11 +565,11 @@ "id": "2571cea1-2b6d-40f5-9331-8786bf57c184", "savedPayload": { "position": { - "x": 38799.585369022054, + "x": 34632.91870235539, "y": 18312.54666533391 }, "targetPosition": { - "x": 38649.585369022054, + "x": 34482.91870235539, "y": 18572.354286469243 }, "floatingObject": { @@ -624,15 +624,15 @@ "name": "Referrals Rewards Pool", "config": "{}", "project": "Governance", - "id": "2233af97-a093-452f-adfb-0fafbc682551", + "id": "01022de6-da20-4520-a905-1d20e7c27d37", "savedPayload": { "position": { - "x": 38866.491240231655, - "y": 18203.088009502004 + "x": 34463.17082771728, + "y": 17902.739044198577 }, "targetPosition": { - "x": 39166.08010065803, - "y": 18218.788796374887 + "x": 34752.948575604, + "y": 17825.09333066782 }, "floatingObject": { "isPinned": false, @@ -653,33 +653,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Referrals Program", - "Pool Class", - "Governance", - "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" + "Pool Class" ], [ "Referrals Rewards", - "Pool", - "Governance", - "2e9dff69-e407-4ccb-9a42-e4a476e28d7c" + "Pool" ] ] } @@ -689,15 +679,15 @@ "name": "Referrals Bonus Pool", "config": "{}", "project": "Governance", - "id": "a995dfc3-af93-4950-9a2a-61dc2b36d8dc", + "id": "24ec355d-10dd-495c-841b-2dd0e419a419", "savedPayload": { "position": { - "x": 39029.882950736166, - "y": 17951.486839118377 + "x": 34540.81654124804, + "y": 17612.961296311856 }, "targetPosition": { - "x": 39166.08010065803, - "y": 18218.788796374887 + "x": 34752.948575604, + "y": 17825.09333066782 }, "floatingObject": { "isPinned": false, @@ -718,33 +708,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Referrals Program", - "Pool Class", - "Governance", - "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" + "Pool Class" ], [ "Referrals Bonus", - "Pool", - "Governance", - "af1984a3-465b-48ed-9944-c101a8ed376c" + "Pool" ] ] } @@ -753,15 +733,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "96cf84d9-318d-46e7-84b8-0484e8637c03", + "id": "86e93255-4991-4533-a0bf-44bcd8734175", "savedPayload": { "position": { - "x": 39166.08010065803, - "y": 18218.788796374887 + "x": 34752.948575604, + "y": 17825.09333066782 }, "targetPosition": { - "x": 39417.681271041656, - "y": 18382.180506879395 + "x": 35042.72632349072, + "y": 17902.739044198577 }, "floatingObject": { "isPinned": false, @@ -782,27 +762,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Referrals Program", - "Pool Class", - "Governance", - "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" + "Pool Class" ] ] } @@ -819,15 +791,15 @@ "name": "Support Rewards Pool", "config": "{}", "project": "Governance", - "id": "c591aede-51b6-4715-a1c1-57e643d461b8", + "id": "8d25ea13-8256-4d27-a03a-6bf9d78a5025", "savedPayload": { "position": { - "x": 39154.56858188867, - "y": 17865.792779016036 + "x": 34632.91870235539, + "y": 17492.931423063244 }, "targetPosition": { - "x": 39355.30776379633, - "y": 18088.736226659254 + "x": 34892.72632349072, + "y": 17642.931423063244 }, "floatingObject": { "isPinned": false, @@ -848,33 +820,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Support Program", - "Pool Class", - "Governance", - "174e7d3b-fe3c-4fb1-825c-4ea488d82171" + "Pool Class" ], [ "Support Rewards", - "Pool", - "Governance", - "c41497c5-7440-4ebd-aabb-fbc3d022136b" + "Pool" ] ] } @@ -884,15 +846,15 @@ "name": "Support Bonus Pool", "config": "{}", "project": "Governance", - "id": "263b5491-c604-44d8-a8de-31b9d85a7bb0", + "id": "722f1936-8bb9-4c37-b96f-1826f7fab2d8", "savedPayload": { "position": { - "x": 39448.012862108815, - "y": 17803.41927177071 + "x": 34892.72632349072, + "y": 17342.931423063244 }, "targetPosition": { - "x": 39355.30776379633, - "y": 18088.736226659254 + "x": 34892.72632349072, + "y": 17642.931423063244 }, "floatingObject": { "isPinned": false, @@ -913,33 +875,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Support Program", - "Pool Class", - "Governance", - "174e7d3b-fe3c-4fb1-825c-4ea488d82171" + "Pool Class" ], [ "Support Bonus", - "Pool", - "Governance", - "6625953a-6026-4686-9091-2796fd08b9a7" + "Pool" ] ] } @@ -948,15 +900,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "999c6b02-4c1e-4913-890e-19567d52c151", + "id": "9d3fea6d-482e-412a-aa56-9f0b12eb9625", "savedPayload": { "position": { - "x": 39355.30776379633, - "y": 18088.736226659254 + "x": 34892.72632349072, + "y": 17642.931423063244 }, "targetPosition": { - "x": 39417.681271041656, - "y": 18382.180506879395 + "x": 35042.72632349072, + "y": 17902.739044198577 }, "floatingObject": { "isPinned": false, @@ -977,27 +929,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Support Program", - "Pool Class", - "Governance", - "174e7d3b-fe3c-4fb1-825c-4ea488d82171" + "Pool Class" ] ] } @@ -1014,15 +958,15 @@ "name": "Mentorship Rewards Pool", "config": "{}", "project": "Governance", - "id": "b5c81c16-1370-415f-90b0-4b2b25bd51e5", + "id": "71d3c245-791f-4a6d-9773-eab5f4f16bab", "savedPayload": { "position": { - "x": 39596.77376841905, - "y": 17830.990476069397 + "x": 35042.72632349072, + "y": 17323.183548425135 }, "targetPosition": { - "x": 39581.07298154617, - "y": 18130.579336495768 + "x": 35120.37203702148, + "y": 17612.961296311856 }, "floatingObject": { "isPinned": false, @@ -1043,33 +987,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Mentorship Program", - "Pool Class", - "Governance", - "8b3714a0-3bf2-491e-8ffc-9c4286446382" + "Pool Class" ], [ "Mentorship Rewards", - "Pool", - "Governance", - "53ddcc36-f693-4193-8284-999a88f1c944" + "Pool" ] ] } @@ -1079,15 +1013,15 @@ "name": "Mentorship Bonus Pool", "config": "{}", "project": "Governance", - "id": "663ba926-2b49-4baf-ae6e-5468a05f184a", + "id": "56912512-d7d2-4d80-ae87-dfc19ee568a4", "savedPayload": { "position": { - "x": 39848.37493880268, - "y": 17994.382186573905 + "x": 35332.50407137744, + "y": 17400.829261955892 }, "targetPosition": { - "x": 39581.07298154617, - "y": 18130.579336495768 + "x": 35120.37203702148, + "y": 17612.961296311856 }, "floatingObject": { "isPinned": false, @@ -1108,33 +1042,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Mentorship Program", - "Pool Class", - "Governance", - "8b3714a0-3bf2-491e-8ffc-9c4286446382" + "Pool Class" ], [ "Mentorship Bonus", - "Pool", - "Governance", - "ff1e4a84-3363-4348-ad15-31a34898fa82" + "Pool" ] ] } @@ -1143,15 +1067,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "a8a0d6ed-0db4-4a45-ab6a-6f28b431efb0", + "id": "f1621688-3b49-4ff9-8de5-56e82e1506ba", "savedPayload": { "position": { - "x": 39581.07298154617, - "y": 18130.579336495768 + "x": 35120.37203702148, + "y": 17612.961296311856 }, "targetPosition": { - "x": 39417.681271041656, - "y": 18382.180506879395 + "x": 35042.72632349072, + "y": 17902.739044198577 }, "floatingObject": { "isPinned": false, @@ -1172,27 +1096,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ], [ "Mentorship Program", - "Pool Class", - "Governance", - "8b3714a0-3bf2-491e-8ffc-9c4286446382" + "Pool Class" ] ] } @@ -1202,15 +1118,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "11824954-f2da-4165-9596-671a6bbc2907", + "id": "88d90110-fe77-4bb9-a2d1-88ab86ca7a27", "savedPayload": { "position": { - "x": 39417.681271041656, - "y": 18382.180506879395 + "x": 35042.72632349072, + "y": 17902.739044198577 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 35192.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -1231,21 +1147,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Community Building Programs", - "Pool Class", - "Governance", - "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" + "Pool Class" ] ] } @@ -1268,15 +1178,15 @@ "name": "Airdrop Rewards Pool", "config": "{}", "project": "Governance", - "id": "94485cbd-7188-4672-8610-09330e17b50a", + "id": "4fda5f11-2d53-4ef4-9828-3458cfa62d06", "savedPayload": { "position": { - "x": 39448.012862108815, - "y": 17803.41927177071 + "x": 34892.72632349072, + "y": 17342.931423063244 }, "targetPosition": { - "x": 39510.38636935414, - "y": 18096.86355199085 + "x": 35042.72632349072, + "y": 17602.739044198577 }, "floatingObject": { "isPinned": false, @@ -1297,33 +1207,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Airdrop Program", - "Pool Class", - "Governance", - "5332a29f-2139-4dd9-aa77-f87fcbf513df" + "Pool Class" ], [ "Airdrop Rewards", - "Pool", - "Governance", - "0e10c82f-94b3-4f39-b673-15eaf0551df4" + "Pool" ] ] } @@ -1332,15 +1232,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "87dbfbcd-7c72-4371-a20b-eee1c77df976", + "id": "1269d66b-fb70-4401-87a0-88c285edc0c6", "savedPayload": { "position": { - "x": 39510.38636935414, - "y": 18096.86355199085 + "x": 35042.72632349072, + "y": 17602.739044198577 }, "targetPosition": { - "x": 39572.75987659947, - "y": 18390.30783221099 + "x": 35192.72632349072, + "y": 17862.54666533391 }, "floatingObject": { "isPinned": false, @@ -1361,27 +1261,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Airdrop Program", - "Pool Class", - "Governance", - "5332a29f-2139-4dd9-aa77-f87fcbf513df" + "Pool Class" ] ] } @@ -1398,15 +1290,15 @@ "name": "Github Rewards Pool", "config": "{}", "project": "Governance", - "id": "b2f8663d-2fea-495c-a3d6-81688889467c", + "id": "f3ddb474-39ba-4972-a0bb-da40d30ac5e0", "savedPayload": { "position": { - "x": 40018.64677188591, - "y": 17988.829468395674 + "x": 35492.72632349072, + "y": 17342.931423063244 }, "targetPosition": { - "x": 39795.70332424269, - "y": 18189.568650303332 + "x": 35342.72632349072, + "y": 17602.739044198577 }, "floatingObject": { "isPinned": false, @@ -1427,33 +1319,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Github Prgoram", - "Pool Class", - "Governance", - "e4daed5d-1c83-4f64-a504-3aef7d73e688" + "Pool Class" ], [ "Github Rewards", - "Pool", - "Governance", - "8829c80f-028b-4315-85a1-82ad502f0687" + "Pool" ] ] } @@ -1462,15 +1344,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "4a93a9fd-c929-4fa0-be9f-f1676dbdc5d4", + "id": "7d0d57b2-f903-48f4-b66d-d5b7a32e2d2d", "savedPayload": { "position": { - "x": 39795.70332424269, - "y": 18189.568650303332 + "x": 35342.72632349072, + "y": 17602.739044198577 }, "targetPosition": { - "x": 39572.75987659947, - "y": 18390.30783221099 + "x": 35192.72632349072, + "y": 17862.54666533391 }, "floatingObject": { "isPinned": false, @@ -1491,27 +1373,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ], [ "Github Prgoram", - "Pool Class", - "Governance", - "e4daed5d-1c83-4f64-a504-3aef7d73e688" + "Pool Class" ] ] } @@ -1521,15 +1395,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "3a5ca9b0-c320-457a-a680-dc3b5971b3a3", + "id": "5bde6126-a3d1-4683-ae57-08837a27fd71", "savedPayload": { "position": { - "x": 39572.75987659947, - "y": 18390.30783221099 + "x": 35192.72632349072, + "y": 17862.54666533391 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 35192.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -1550,21 +1424,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Onboarding Programs", - "Pool Class", - "Governance", - "e6e1e943-9d14-40ea-9adf-b110a9309e3a" + "Pool Class" ] ] } @@ -1587,15 +1455,15 @@ "name": "Voting Bonus Pool", "config": "{}", "project": "Governance", - "id": "46b120d1-8ba2-4b47-b3c4-c7b878a58d5c", + "id": "b259ed9e-b56d-4c7c-b68e-b2128a74be0e", "savedPayload": { "position": { - "x": 40148.88512121665, - "y": 18073.40724137656 + "x": 35642.72632349072, + "y": 17383.12380192791 }, "targetPosition": { - "x": 39925.94167357343, - "y": 18274.14642328422 + "x": 35492.72632349072, + "y": 17642.931423063244 }, "floatingObject": { "isPinned": false, @@ -1616,33 +1484,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Voting", - "Pool Class", - "Governance", - "1f9590c2-e166-482c-8400-ba64e39f0934" + "Pool Class" ], [ "Voting Program", - "Pool Class", - "Governance", - "80d4f08f-bb7f-48a2-9cef-be12befcac2e" + "Pool Class" ], [ "Voting Bonus", - "Pool", - "Governance", - "9eb846a4-effb-4380-9487-1a82011b0488" + "Pool" ] ] } @@ -1651,15 +1509,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "b074ba3d-3158-48e7-b0d2-d90392d7304d", + "id": "42df1056-2063-4319-a437-ed9dabedd8e0", "savedPayload": { "position": { - "x": 39925.94167357343, - "y": 18274.14642328422 + "x": 35492.72632349072, + "y": 17642.931423063244 }, "targetPosition": { - "x": 39702.998225930205, - "y": 18474.885605191877 + "x": 35342.72632349072, + "y": 17902.739044198577 }, "floatingObject": { "isPinned": false, @@ -1680,27 +1538,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Voting", - "Pool Class", - "Governance", - "1f9590c2-e166-482c-8400-ba64e39f0934" + "Pool Class" ], [ "Voting Program", - "Pool Class", - "Governance", - "80d4f08f-bb7f-48a2-9cef-be12befcac2e" + "Pool Class" ] ] } @@ -1710,15 +1560,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "62a40c05-77c1-47df-80d7-41b6a98f0318", + "id": "43cd7132-6a4d-4336-84fa-910e0763f7fd", "savedPayload": { "position": { - "x": 39702.998225930205, - "y": 18474.885605191877 + "x": 35342.72632349072, + "y": 17902.739044198577 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 35192.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -1739,21 +1589,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Voting", - "Pool Class", - "Governance", - "1f9590c2-e166-482c-8400-ba64e39f0934" + "Pool Class" ] ] } @@ -1776,15 +1620,15 @@ "name": "Liquidity Rewards BTCB Pool", "config": "{}", "project": "Governance", - "id": "1f9b7fad-8276-420a-8661-9a42200f7041", + "id": "50f24aa6-eaae-4cdb-a533-8d59fb32d078", "savedPayload": { "position": { - "x": 40230.335049231784, - "y": 18299.276602225254 + "x": 35789.987279292145, + "y": 17572.76891744719 }, "targetPosition": { - "x": 40066.94333872727, - "y": 18550.87777260888 + "x": 35712.34156576139, + "y": 17862.54666533391 }, "floatingObject": { "isPinned": false, @@ -1805,33 +1649,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class", - "Governance", - "00bbb418-2315-4845-aa39-8362489a360b" + "Pool Class" ], [ "Liquidity Program", - "Pool Class", - "Governance", - "477faa7a-da4f-4949-9439-a2475ed683de" + "Pool Class" ], [ "Liquidity Rewards BTCB", - "Pool", - "Governance", - "a7651e92-ab96-49fc-af9c-f936682dd7a4" + "Pool" ] ] } @@ -1841,15 +1675,15 @@ "name": "Liquidity Rewards BNB Pool", "config": "{}", "project": "Governance", - "id": "188647a0-2813-46e6-8044-2fc84b411841", + "id": "e3171da9-e065-4fae-a556-0ad5aa6ae326", "savedPayload": { "position": { - "x": 40360.38761894742, - "y": 18488.504265363554 + "x": 35972.14918689672, + "y": 17712.54666533391 }, "targetPosition": { - "x": 40066.94333872727, - "y": 18550.87777260888 + "x": 35712.34156576139, + "y": 17862.54666533391 }, "floatingObject": { "isPinned": false, @@ -1870,33 +1704,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class", - "Governance", - "00bbb418-2315-4845-aa39-8362489a360b" + "Pool Class" ], [ "Liquidity Program", - "Pool Class", - "Governance", - "477faa7a-da4f-4949-9439-a2475ed683de" + "Pool Class" ], [ "Liquidity Rewards BNB", - "Pool", - "Governance", - "e7c21a28-fea6-48cc-a97c-cc43470bb2fc" + "Pool" ] ] } @@ -1906,15 +1730,15 @@ "name": "Liquidity Rewards BUSD Pool", "config": "{}", "project": "Governance", - "id": "2712a09b-3b9d-4605-992c-7160e213da01", + "id": "93248092-3b9b-4f2d-a931-a6812a03590e", "savedPayload": { "position": { - "x": 40318.5445091109, - "y": 18714.26948311339 + "x": 36002.11931364811, + "y": 17940.192378864667 }, "targetPosition": { - "x": 40066.94333872727, - "y": 18550.87777260888 + "x": 35712.34156576139, + "y": 17862.54666533391 }, "floatingObject": { "isPinned": false, @@ -1935,33 +1759,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class", - "Governance", - "00bbb418-2315-4845-aa39-8362489a360b" + "Pool Class" ], [ "Liquidity Program", - "Pool Class", - "Governance", - "477faa7a-da4f-4949-9439-a2475ed683de" + "Pool Class" ], [ "Liquidity Rewards BUSD", - "Pool", - "Governance", - "962d9bc1-4e54-463c-86ae-43aec1db0f0f" + "Pool" ] ] } @@ -1970,15 +1784,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "73257198-86fc-4d85-a928-33c663d52960", + "id": "6e8611bf-e0ac-47d5-a80e-d6093bca0b72", "savedPayload": { "position": { - "x": 40066.94333872727, - "y": 18550.87777260888 + "x": 35712.34156576139, + "y": 17862.54666533391 }, "targetPosition": { - "x": 39773.49905850713, - "y": 18613.25127985421 + "x": 35452.533944626055, + "y": 18012.54666533391 }, "floatingObject": { "isPinned": false, @@ -1999,27 +1813,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class", - "Governance", - "00bbb418-2315-4845-aa39-8362489a360b" + "Pool Class" ], [ "Liquidity Program", - "Pool Class", - "Governance", - "477faa7a-da4f-4949-9439-a2475ed683de" + "Pool Class" ] ] } @@ -2029,15 +1835,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "993dc031-24dc-4f65-8c76-41400a7b8a87", + "id": "6111117f-9b50-49d5-b25f-441e21297d46", "savedPayload": { "position": { - "x": 39773.49905850713, - "y": 18613.25127985421 + "x": 35452.533944626055, + "y": 18012.54666533391 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 35192.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -2058,21 +1864,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class", - "Governance", - "00bbb418-2315-4845-aa39-8362489a360b" + "Pool Class" ] ] } @@ -2095,15 +1895,15 @@ "name": "Staking Rewards Pool", "config": "{}", "project": "Governance", - "id": "d3d1c996-d7cf-4f73-8d06-c65916ea7eae", + "id": "1ec2248d-3288-462b-967f-c4c58e679cf1", "savedPayload": { "position": { - "x": 40352.26029361582, - "y": 18643.582870921364 + "x": 36012.34156576139, + "y": 17862.54666533391 }, "targetPosition": { - "x": 40058.81601339568, - "y": 18705.95637816669 + "x": 35752.533944626055, + "y": 18012.54666533391 }, "floatingObject": { "isPinned": false, @@ -2124,33 +1924,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Pool Class" ], [ "Staking Program", - "Pool Class", - "Governance", - "68e3f570-4156-4be6-8881-c526a06f85d0" + "Pool Class" ], [ "Staking Rewards", - "Pool", - "Governance", - "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a" + "Pool" ] ] } @@ -2159,15 +1949,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "9ed84993-4fe4-449a-909e-7c9bb3e983d0", + "id": "60ef427f-5aa7-4b8a-b335-c521ad87e536", "savedPayload": { "position": { - "x": 40058.81601339568, - "y": 18705.95637816669 + "x": 35752.533944626055, + "y": 18012.54666533391 }, "targetPosition": { - "x": 39765.37173317553, - "y": 18768.32988541202 + "x": 35492.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -2188,27 +1978,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Pool Class" ], [ "Staking Program", - "Pool Class", - "Governance", - "68e3f570-4156-4be6-8881-c526a06f85d0" + "Pool Class" ] ] } @@ -2225,15 +2007,15 @@ "name": "Delegation Bonus Pool", "config": "{}", "project": "Governance", - "id": "60155261-179f-4386-950a-330bbf60673e", + "id": "903b9765-2a96-471e-a8df-06d1068af3d2", "savedPayload": { "position": { - "x": 40166.85009699085, - "y": 19214.216780698454 + "x": 36012.34156576139, + "y": 18462.54666533391 }, "targetPosition": { - "x": 39966.11091508319, - "y": 18991.273333055236 + "x": 35752.533944626055, + "y": 18312.54666533391 }, "floatingObject": { "isPinned": false, @@ -2254,33 +2036,23 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Pool Class" ], [ "Delegation Program", - "Pool Class", - "Governance", - "f09429a2-3f6c-4210-bb73-0c8efd254c82" + "Pool Class" ], [ "Delegation Bonus", - "Pool", - "Governance", - "24e62dd3-4d7b-4eba-b401-493c155d85d0" + "Pool" ] ] } @@ -2289,15 +2061,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "ec3e90ff-46a0-4f20-b3f0-1ac509b1011b", + "id": "85a7a2ae-94ad-44f1-a5e6-c402aa6ec6df", "savedPayload": { "position": { - "x": 39966.11091508319, - "y": 18991.273333055236 + "x": 35752.533944626055, + "y": 18312.54666533391 }, "targetPosition": { - "x": 39765.37173317553, - "y": 18768.32988541202 + "x": 35492.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -2318,27 +2090,19 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Pool Class" ], [ "Delegation Program", - "Pool Class", - "Governance", - "f09429a2-3f6c-4210-bb73-0c8efd254c82" + "Pool Class" ] ] } @@ -2348,15 +2112,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "4951e74d-f4fe-4099-ae64-d1d56fd59e09", + "id": "665f11d7-dcd7-415a-bb82-b9f3db0e56a7", "savedPayload": { "position": { - "x": 39765.37173317553, - "y": 18768.32988541202 + "x": 35492.72632349072, + "y": 18162.54666533391 }, "targetPosition": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 35192.72632349072, + "y": 18162.54666533391 }, "floatingObject": { "isPinned": false, @@ -2377,21 +2141,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class", - "Governance", - "64cda2cd-270e-4046-ac3f-5cf9188113c2" + "Pool Class" ] ] } @@ -2401,15 +2159,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "f770311a-efa7-4f33-8bb1-ccf1182660fd", + "id": "b4893b6d-7ce5-4d8c-9c5e-33469054a2b5", "savedPayload": { "position": { - "x": 39480.05477828698, - "y": 18675.624787099536 + "x": 35192.72632349072, + "y": 18162.54666533391 }, "targetPosition": { - "x": 39257.11133064376, - "y": 18876.363969007194 + "x": 35042.72632349072, + "y": 18422.354286469243 }, "floatingObject": { "isPinned": false, @@ -2430,15 +2188,11 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Governance Programs", - "Pool Class", - "Governance", - "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" + "Pool Class" ] ] } @@ -2455,15 +2209,15 @@ "name": "Positions Pool", "config": "{}", "project": "Governance", - "id": "f089f325-0dec-4182-9ad0-c354fd2b7b02", + "id": "673afb27-d299-4168-89bf-a3c415cb9a3e", "savedPayload": { "position": { - "x": 39809.73024278882, - "y": 18832.871917397813 + "x": 35554.858357846686, + "y": 18210.22225211328 }, "targetPosition": { - "x": 39542.42828553231, - "y": 18969.069067319677 + "x": 35342.72632349072, + "y": 18422.354286469243 }, "floatingObject": { "isPinned": false, @@ -2484,21 +2238,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ], [ "Positions", - "Pool", - "Governance", - "a289d3a4-bd49-467b-b8d9-d0ba1152a131" + "Pool" ] ] } @@ -2508,15 +2256,15 @@ "name": "Assets Pool", "config": "{}", "project": "Governance", - "id": "f287efa0-5d71-4b7a-b9db-22c1b4305d92", + "id": "a2137812-e2a8-4a33-a930-4d95c6345d5d", "savedPayload": { "position": { - "x": 39827.74524042086, - "y": 19061.77416563216 + "x": 35642.72632349072, + "y": 18422.354286469243 }, "targetPosition": { - "x": 39542.42828553231, - "y": 18969.069067319677 + "x": 35342.72632349072, + "y": 18422.354286469243 }, "floatingObject": { "isPinned": false, @@ -2537,21 +2285,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ], [ "Assets", - "Pool", - "Governance", - "16a7dd84-e3e8-4118-a17d-ac227e55ff92" + "Pool" ] ] } @@ -2561,15 +2303,15 @@ "name": "Features Pool", "config": "{}", "project": "Governance", - "id": "2aa0f49b-de37-4a44-b3f9-5a1f7ce2f971", + "id": "e10b784e-76ad-4283-b257-aa3e8900b228", "savedPayload": { "position": { - "x": 39678.625435454174, - "y": 19236.371024576187 + "x": 35554.858357846686, + "y": 18634.486320825206 }, "targetPosition": { - "x": 39542.42828553231, - "y": 18969.069067319677 + "x": 35342.72632349072, + "y": 18422.354286469243 }, "floatingObject": { "isPinned": false, @@ -2590,21 +2332,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ], [ "Features", - "Pool", - "Governance", - "4b7384bc-93ba-454f-9de8-1add9c4d84ce" + "Pool" ] ] } @@ -2613,15 +2349,15 @@ "assetWeightVotes": [], "featureWeightVotes": [], "positionWeightVotes": [], - "id": "9ecc239b-a990-41e1-946e-858fa8760778", + "id": "75d662d4-3de9-4585-9247-e4e872f02813", "savedPayload": { "position": { - "x": 39542.42828553231, - "y": 18969.069067319677 + "x": 35342.72632349072, + "y": 18422.354286469243 }, "targetPosition": { - "x": 39257.11133064376, - "y": 18876.363969007194 + "x": 35042.72632349072, + "y": 18422.354286469243 }, "floatingObject": { "isPinned": false, @@ -2642,15 +2378,11 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools", - "Governance", - "6f0aed87-db13-4818-bfe6-68abc463ebec" + "Pools" ], [ "Positions, Assets & Features", - "Pool Class", - "Governance", - "b27df32a-70f3-470b-b8bb-471c156b0c30" + "Pool Class" ] ] } @@ -2663,17 +2395,17 @@ "id": "800e3388-1ea6-40ee-ace5-1811a3373e39", "savedPayload": { "position": { - "x": 39209.39299015739, + "x": 35042.72632349072, "y": 18422.354286469243 }, "targetPosition": { - "x": 38949.585369022054, + "x": 34782.91870235539, "y": 18572.354286469243 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11317,11 +11049,11 @@ "id": "aa848510-1260-46ed-a855-6c0fb9dca9eb", "savedPayload": { "position": { - "x": 39209.39299015739, + "x": 35042.72632349072, "y": 18722.354286469243 }, "targetPosition": { - "x": 38949.585369022054, + "x": 34782.91870235539, "y": 18572.354286469243 }, "floatingObject": { @@ -11358,11 +11090,11 @@ "id": "1d398124-3f36-40a1-8b3b-6c77ad489b92", "savedPayload": { "position": { - "x": 38949.585369022054, + "x": 34782.91870235539, "y": 18572.354286469243 }, "targetPosition": { - "x": 38649.585369022054, + "x": 34482.91870235539, "y": 18572.354286469243 }, "floatingObject": { @@ -11384,11 +11116,11 @@ "id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f", "savedPayload": { "position": { - "x": 38649.585369022054, + "x": 34482.91870235539, "y": 18572.354286469243 }, "targetPosition": { - "x": 38389.77774788672, + "x": 34223.11108122006, "y": 18722.354286469243 }, "floatingObject": { @@ -11412,11 +11144,11 @@ "id": "e9c0e495-7985-4381-bf75-865d87289038", "savedPayload": { "position": { - "x": 38689.77774788672, + "x": 34523.11108122006, "y": 18722.354286469243 }, "targetPosition": { - "x": 38389.77774788672, + "x": 34223.11108122006, "y": 18722.354286469243 }, "floatingObject": { @@ -11435,11 +11167,11 @@ "id": "d5ed432e-78bf-432e-be3b-8649932f7a65", "savedPayload": { "position": { - "x": 38389.77774788672, + "x": 34223.11108122006, "y": 18722.354286469243 }, "targetPosition": { - "x": 38100, + "x": 33933.333333333336, "y": 18800 }, "floatingObject": { @@ -11469,15 +11201,75 @@ "config": "{}", "project": "Governance", "positionClaimsFolders": [], - "positionContributionClaims": [], + "positionContributionClaims": [ + { + "type": "Position Contribution Claim", + "name": "Project Contributor Governance Project", + "config": "{}", + "project": "Governance", + "id": "e855c2fb-ad83-4957-b639-423a3a1f5c63", + "savedPayload": { + "position": { + "x": 34823.11108122006, + "y": 18877.645713530757 + }, + "targetPosition": { + "x": 34523.11108122006, + "y": 18877.645713530757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Position", + "name": "Project Contributor", + "id": "5a13709f-761a-410b-b0e9-1542e341f19e" + }, + "referenceParentCombinedNodePath": [ + [ + "Superalgos", + "Positions" + ], + [ + "Roles Played @ Beta-12", + "Position Class" + ], + [ + "Software Projects", + "Position Class" + ], + [ + "Active Projects", + "Position Class" + ], + [ + "Governance Project", + "Position Class" + ], + [ + "Project Contributor", + "Position" + ] + ] + } + } + ], "id": "b09bc246-6593-4061-ac8a-b52670694e8e", "savedPayload": { "position": { - "x": 38689.77774788672, + "x": 34523.11108122006, "y": 18877.645713530757 }, "targetPosition": { - "x": 38389.77774788672, + "x": 34223.11108122006, "y": 18877.645713530757 }, "floatingObject": { @@ -11501,11 +11293,11 @@ "id": "5011109c-3f87-471a-b786-5fd371f53853", "savedPayload": { "position": { - "x": 38649.585369022054, + "x": 34482.91870235539, "y": 19027.645713530757 }, "targetPosition": { - "x": 38389.77774788672, + "x": 34223.11108122006, "y": 18877.645713530757 }, "floatingObject": { @@ -11524,11 +11316,11 @@ "id": "796dd30f-c90d-4b8d-a63d-89867347407b", "savedPayload": { "position": { - "x": 38389.77774788672, + "x": 34223.11108122006, "y": 18877.645713530757 }, "targetPosition": { - "x": 38100, + "x": 33933.333333333336, "y": 18800 }, "floatingObject": { @@ -11547,17 +11339,17 @@ "id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf", "savedPayload": { "position": { - "x": 38100, + "x": 33933.333333333336, "y": 18800 }, "targetPosition": { - "x": 37800, + "x": 33633.333333333336, "y": 18800 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11584,11 +11376,11 @@ "id": "23c23b71-1431-4cca-a80e-bb5c7242be9f", "savedPayload": { "position": { - "x": 38579.422863406, + "x": 34412.756196739334, "y": 19250 }, "targetPosition": { - "x": 38319.615242270665, + "x": 34152.948575604, "y": 19100 }, "floatingObject": { @@ -11607,11 +11399,11 @@ "id": "90659303-924d-4404-9b1d-ea3180add4ef", "savedPayload": { "position": { - "x": 38319.615242270665, + "x": 34152.948575604, "y": 19100 }, "targetPosition": { - "x": 38059.80762113533, + "x": 33893.14095446867, "y": 18950 }, "floatingObject": { @@ -11630,17 +11422,17 @@ "id": "ed112539-01ea-4937-85cf-69612ee6115d", "savedPayload": { "position": { - "x": 38059.80762113533, + "x": 33893.14095446867, "y": 18950 }, "targetPosition": { - "x": 37800, + "x": 33633.333333333336, "y": 18800 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11668,11 +11460,11 @@ "id": "5fd55dc1-69c8-473e-9d3d-b39b58818b07", "savedPayload": { "position": { - "x": 38529.55549577344, + "x": 34362.88882910678, "y": 19215.099048196847 }, "targetPosition": { - "x": 38239.77774788672, + "x": 34073.11108122006, "y": 19137.45333466609 }, "floatingObject": { @@ -11691,11 +11483,11 @@ "id": "a081e0a9-ee60-4a56-b5a6-aadb7bd8b052", "savedPayload": { "position": { - "x": 38239.77774788672, + "x": 34073.11108122006, "y": 19137.45333466609 }, "targetPosition": { - "x": 37950, + "x": 33783.333333333336, "y": 19059.807621135333 }, "floatingObject": { @@ -11723,11 +11515,11 @@ "id": "eab98bcc-39ee-411d-95e2-b5c6c33067cc", "savedPayload": { "position": { - "x": 38250, + "x": 34083.333333333336, "y": 19579.422863406 }, "targetPosition": { - "x": 38100, + "x": 33933.333333333336, "y": 19319.615242270665 }, "floatingObject": { @@ -11746,11 +11538,11 @@ "id": "68d6085b-3226-4842-b100-80a8c647e7ec", "savedPayload": { "position": { - "x": 38100, + "x": 33933.333333333336, "y": 19319.615242270665 }, "targetPosition": { - "x": 37950, + "x": 33783.333333333336, "y": 19059.807621135333 }, "floatingObject": { @@ -11778,11 +11570,11 @@ "id": "b66c668c-8411-4401-8aa7-10d8b2c4c233", "savedPayload": { "position": { - "x": 37794.708572938485, + "x": 33628.04190627182, "y": 19639.363116908775 }, "targetPosition": { - "x": 37872.35428646924, + "x": 33705.68761980258, "y": 19349.585369022054 }, "floatingObject": { @@ -11801,11 +11593,11 @@ "id": "8c213687-2520-41ff-8b89-f5abaf6f2f2e", "savedPayload": { "position": { - "x": 37872.35428646924, + "x": 33705.68761980258, "y": 19349.585369022054 }, "targetPosition": { - "x": 37950, + "x": 33783.333333333336, "y": 19059.807621135333 }, "floatingObject": { @@ -11825,17 +11617,17 @@ "id": "ba3bc469-3c94-444d-a5d0-8ed851aa3778", "savedPayload": { "position": { - "x": 37950, + "x": 33783.333333333336, "y": 19059.807621135333 }, "targetPosition": { - "x": 37800, + "x": 33633.333333333336, "y": 18800 }, "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11848,11 +11640,11 @@ "id": "f8182a9c-f830-4ec1-a238-ac3a5efd69e6", "savedPayload": { "position": { - "x": 37800, + "x": 33633.333333333336, "y": 18800 }, "targetPosition": { - "x": 37500, + "x": 33333.333333333336, "y": 18800 }, "floatingObject": { @@ -11875,11 +11667,11 @@ "id": "9870ca2a-cefc-484b-b7fc-206d62782ebc", "savedPayload": { "position": { - "x": 37350, + "x": 33183.333333333336, "y": 19059.807621135333 }, "targetPosition": { - "x": 37500, + "x": 33333.333333333336, "y": 18800 }, "floatingObject": { @@ -11913,11 +11705,11 @@ "id": "33df9686-6aa8-4d0d-90b6-d86b9be4f97f", "savedPayload": { "position": { - "x": 36755.13308317571, + "x": 32588.466416509047, "y": 18618.508094196695 }, "targetPosition": { - "x": 37052.566541587854, + "x": 32885.89987492119, "y": 18579.35023653068 }, "floatingObject": { @@ -11936,11 +11728,11 @@ "id": "d1fa780c-673a-442d-af85-6f1e03179a0e", "savedPayload": { "position": { - "x": 37052.566541587854, + "x": 32885.89987492119, "y": 18579.35023653068 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -11969,11 +11761,11 @@ "id": "da524b16-839a-40cd-b90f-4ed40e745594", "savedPayload": { "position": { - "x": 36770.44450422656, + "x": 32603.777837559894, "y": 18384.900951803153 }, "targetPosition": { - "x": 37060.22225211328, + "x": 32893.555585446615, "y": 18462.54666533391 }, "floatingObject": { @@ -11992,11 +11784,11 @@ "id": "d57afbcc-f711-4e92-9b5e-8fbf86c12acb", "savedPayload": { "position": { - "x": 37060.22225211328, + "x": 32893.555585446615, "y": 18462.54666533391 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -12025,11 +11817,11 @@ "id": "0609495c-0248-4f9b-9006-02f0e02c76aa", "savedPayload": { "position": { - "x": 36873.98799582526, + "x": 32707.321329158593, "y": 18174.935521459432 }, "targetPosition": { - "x": 37111.99399791263, + "x": 32945.327331245964, "y": 18357.56395016205 }, "floatingObject": { @@ -12048,11 +11840,11 @@ "id": "42cb9bd7-bfc6-47fe-98f5-f56670f53c5d", "savedPayload": { "position": { - "x": 37111.99399791263, + "x": 32945.327331245964, "y": 18357.56395016205 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -12081,11 +11873,11 @@ "id": "baa7d72c-b576-480f-b160-2cc46ce47815", "savedPayload": { "position": { - "x": 37050, + "x": 32883.333333333336, "y": 18020.577136594 }, "targetPosition": { - "x": 37200, + "x": 33033.333333333336, "y": 18280.384757729335 }, "floatingObject": { @@ -12104,11 +11896,11 @@ "id": "47f2db6d-7fe6-456d-aeb0-7128524aaa36", "savedPayload": { "position": { - "x": 37200, + "x": 33033.333333333336, "y": 18280.384757729335 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -12137,11 +11929,11 @@ "id": "7c917c18-f13f-41ca-a739-a440421c7bc4", "savedPayload": { "position": { - "x": 37271.684284667965, + "x": 33105.0176180013, "y": 17945.325462040382 }, "targetPosition": { - "x": 37310.84214233398, + "x": 33144.17547566732, "y": 18242.758920452525 }, "floatingObject": { @@ -12160,11 +11952,11 @@ "id": "2a499940-eb6f-4328-9f67-7c915b01b3db", "savedPayload": { "position": { - "x": 37310.84214233398, + "x": 33144.17547566732, "y": 18242.758920452525 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -12193,11 +11985,11 @@ "id": "b7b14ba1-da1a-4f8b-8fd0-0929bfb9afdf", "savedPayload": { "position": { - "x": 37505.291427061515, + "x": 33338.62476039485, "y": 17960.636883091225 }, "targetPosition": { - "x": 37427.64571353076, + "x": 33260.97904686409, "y": 18250.414630977946 }, "floatingObject": { @@ -12216,11 +12008,11 @@ "id": "93fcdc33-1f94-4a07-8838-50205e305a21", "savedPayload": { "position": { - "x": 37427.64571353076, + "x": 33260.97904686409, "y": 18250.414630977946 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -12249,11 +12041,11 @@ "id": "47a35fc3-5968-494b-89db-dcbc53d993ea", "savedPayload": { "position": { - "x": 37715.25685740523, + "x": 33548.59019073856, "y": 18064.180374689924 }, "targetPosition": { - "x": 37532.628428702614, + "x": 33365.96176203595, "y": 18302.186376777296 }, "floatingObject": { @@ -12272,11 +12064,11 @@ "id": "5322bfda-90ae-4f5d-9bd1-3cf2ba67b854", "savedPayload": { "position": { - "x": 37532.628428702614, + "x": 33365.96176203595, "y": 18302.186376777296 }, "targetPosition": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "floatingObject": { @@ -12296,11 +12088,11 @@ "id": "1aae1fa4-e5cf-48de-a25e-20001523da70", "savedPayload": { "position": { - "x": 37350, + "x": 33183.333333333336, "y": 18540.192378864667 }, "targetPosition": { - "x": 37500, + "x": 33333.333333333336, "y": 18800 }, "floatingObject": { @@ -12319,11 +12111,11 @@ "id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db", "savedPayload": { "position": { - "x": 37500, + "x": 33333.333333333336, "y": 18800 }, "targetPosition": { - "x": 37500, + "x": 33333.333333333336, "y": 18800 }, "floatingObject": { diff --git a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js index a8695673a..9261ad078 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js @@ -22,6 +22,7 @@ function newGovernanceReportsLiquidity() { let table = 'Liquidity' let programName = 'Liquidity Program' let programPropertyName = 'liquidityProgram' + let assets = ['BTCB', 'BNB', 'BUSD'] /* Setup Filters */ @@ -45,7 +46,15 @@ function newGovernanceReportsLiquidity() { "textAlign": "left" }, { - "name": "LiquidityPower", + "name": "market", + "label": "Market", + "type": "string", + "order": "asc", + "order": "ascending", + "textAlign": "center" + }, + { + "name": "liquidityPower", "label": "Liquidity Power", "type": "number", "order": "descending", @@ -53,7 +62,7 @@ function newGovernanceReportsLiquidity() { "format": "2 decimals" }, { - "name": "Percentage", + "name": "percentage", "label": "Percentage", "type": "number", "order": "descending", @@ -77,24 +86,28 @@ function newGovernanceReportsLiquidity() { /* Transform the result array into table records. */ + for (let j = 0; j < userProfiles.length; j++) { let userProfile = userProfiles[j] + for (let j = 0; j < assets.length; j++) { + let asset = assets[j] + if (userProfile.tokenPowerSwitch === undefined) { continue } + let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, programName, 'asset', asset) + if (program === undefined) { continue } + if (program.payload === undefined) { continue } + if (program.payload[programPropertyName] === undefined) { continue } - if (userProfile.tokenPowerSwitch === undefined) { continue } - let program = UI.projects.governance.utilities.validations.onlyOneProgram(userProfile, programName) - if (program === undefined) { continue } - if (program.payload === undefined) { continue } - if (program.payload[programPropertyName] === undefined) { continue } + let tableRecord = { + "name": userProfile.name, + "market": 'SA / ' + asset, + "liquidityPower": program.payload[programPropertyName].ownPower, + "percentage": program.payload[programPropertyName].awarded.percentage / 100, + "tokensAwarded": program.payload[programPropertyName].awarded.tokens | 0 + } - let tableRecord = { - "name": userProfile.name, - "LiquidityPower": program.payload[programPropertyName].ownPower, - "percentage": program.payload[programPropertyName].awarded.percentage, - "tokensAwarded": program.payload[programPropertyName].awarded.tokens | 0 - } - - if (UI.projects.governance.utilities.filters.applyFilters(filters, filtersObject, tableRecord) === true) { - tableRecords.push(tableRecord) + if (UI.projects.governance.utilities.filters.applyFilters(filters, filtersObject, tableRecord) === true) { + tableRecords.push(tableRecord) + } } } /* From e8809618d584abc5876c23b52568a48b7f0f668d Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 24 Oct 2021 10:25:46 +0200 Subject: [PATCH 11/15] Token Power Improved --- .../Governance/Plugins/Pools/Superalgos.json | 2 +- .../Plugins/Positions/Superalgos.json | 2 +- .../User-Profiles/Luis-Fernando-Molina.json | 566 +++++++++++++----- .../UI/Function-Libraries/TokenPower.js | 21 +- .../Spaces/User-Profile-Space/UserProfile.js | 10 +- 5 files changed, 440 insertions(+), 161 deletions(-) diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json index 30ed151de..89861b27c 100644 --- a/Projects/Governance/Plugins/Pools/Superalgos.json +++ b/Projects/Governance/Plugins/Pools/Superalgos.json @@ -1064,7 +1064,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 1, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/Plugins/Positions/Superalgos.json b/Projects/Governance/Plugins/Positions/Superalgos.json index e1a93b6f0..9ed80225a 100644 --- a/Projects/Governance/Plugins/Positions/Superalgos.json +++ b/Projects/Governance/Plugins/Positions/Superalgos.json @@ -4688,7 +4688,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "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 b5bcea0e3..9a85a4ee1 100644 --- a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json +++ b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json @@ -653,23 +653,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Referrals Program", - "Pool Class" + "Pool Class", + "Governance", + "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" ], [ "Referrals Rewards", - "Pool" + "Pool", + "Governance", + "2e9dff69-e407-4ccb-9a42-e4a476e28d7c" ] ] } @@ -708,23 +718,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Referrals Program", - "Pool Class" + "Pool Class", + "Governance", + "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" ], [ "Referrals Bonus", - "Pool" + "Pool", + "Governance", + "af1984a3-465b-48ed-9944-c101a8ed376c" ] ] } @@ -762,19 +782,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Referrals Program", - "Pool Class" + "Pool Class", + "Governance", + "9f94d0e0-ddf7-4e04-8a3c-9485c09e079d" ] ] } @@ -820,23 +848,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Support Program", - "Pool Class" + "Pool Class", + "Governance", + "174e7d3b-fe3c-4fb1-825c-4ea488d82171" ], [ "Support Rewards", - "Pool" + "Pool", + "Governance", + "c41497c5-7440-4ebd-aabb-fbc3d022136b" ] ] } @@ -875,23 +913,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Support Program", - "Pool Class" + "Pool Class", + "Governance", + "174e7d3b-fe3c-4fb1-825c-4ea488d82171" ], [ "Support Bonus", - "Pool" + "Pool", + "Governance", + "6625953a-6026-4686-9091-2796fd08b9a7" ] ] } @@ -929,19 +977,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Support Program", - "Pool Class" + "Pool Class", + "Governance", + "174e7d3b-fe3c-4fb1-825c-4ea488d82171" ] ] } @@ -987,23 +1043,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Mentorship Program", - "Pool Class" + "Pool Class", + "Governance", + "8b3714a0-3bf2-491e-8ffc-9c4286446382" ], [ "Mentorship Rewards", - "Pool" + "Pool", + "Governance", + "53ddcc36-f693-4193-8284-999a88f1c944" ] ] } @@ -1042,23 +1108,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Mentorship Program", - "Pool Class" + "Pool Class", + "Governance", + "8b3714a0-3bf2-491e-8ffc-9c4286446382" ], [ "Mentorship Bonus", - "Pool" + "Pool", + "Governance", + "ff1e4a84-3363-4348-ad15-31a34898fa82" ] ] } @@ -1096,19 +1172,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ], [ "Mentorship Program", - "Pool Class" + "Pool Class", + "Governance", + "8b3714a0-3bf2-491e-8ffc-9c4286446382" ] ] } @@ -1147,15 +1231,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Community Building Programs", - "Pool Class" + "Pool Class", + "Governance", + "ef1d7fc5-c776-4af7-8ae6-86a3445dca4b" ] ] } @@ -1207,23 +1297,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Airdrop Program", - "Pool Class" + "Pool Class", + "Governance", + "5332a29f-2139-4dd9-aa77-f87fcbf513df" ], [ "Airdrop Rewards", - "Pool" + "Pool", + "Governance", + "0e10c82f-94b3-4f39-b673-15eaf0551df4" ] ] } @@ -1261,19 +1361,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Airdrop Program", - "Pool Class" + "Pool Class", + "Governance", + "5332a29f-2139-4dd9-aa77-f87fcbf513df" ] ] } @@ -1319,23 +1427,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Github Prgoram", - "Pool Class" + "Pool Class", + "Governance", + "e4daed5d-1c83-4f64-a504-3aef7d73e688" ], [ "Github Rewards", - "Pool" + "Pool", + "Governance", + "8829c80f-028b-4315-85a1-82ad502f0687" ] ] } @@ -1373,19 +1491,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ], [ "Github Prgoram", - "Pool Class" + "Pool Class", + "Governance", + "e4daed5d-1c83-4f64-a504-3aef7d73e688" ] ] } @@ -1424,15 +1550,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Onboarding Programs", - "Pool Class" + "Pool Class", + "Governance", + "e6e1e943-9d14-40ea-9adf-b110a9309e3a" ] ] } @@ -1484,23 +1616,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Voting", - "Pool Class" + "Pool Class", + "Governance", + "1f9590c2-e166-482c-8400-ba64e39f0934" ], [ "Voting Program", - "Pool Class" + "Pool Class", + "Governance", + "80d4f08f-bb7f-48a2-9cef-be12befcac2e" ], [ "Voting Bonus", - "Pool" + "Pool", + "Governance", + "9eb846a4-effb-4380-9487-1a82011b0488" ] ] } @@ -1538,19 +1680,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Voting", - "Pool Class" + "Pool Class", + "Governance", + "1f9590c2-e166-482c-8400-ba64e39f0934" ], [ "Voting Program", - "Pool Class" + "Pool Class", + "Governance", + "80d4f08f-bb7f-48a2-9cef-be12befcac2e" ] ] } @@ -1589,15 +1739,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Voting", - "Pool Class" + "Pool Class", + "Governance", + "1f9590c2-e166-482c-8400-ba64e39f0934" ] ] } @@ -1649,23 +1805,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ], [ "Liquidity Rewards BTCB", - "Pool" + "Pool", + "Governance", + "a7651e92-ab96-49fc-af9c-f936682dd7a4" ] ] } @@ -1704,23 +1870,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ], [ "Liquidity Rewards BNB", - "Pool" + "Pool", + "Governance", + "e7c21a28-fea6-48cc-a97c-cc43470bb2fc" ] ] } @@ -1759,23 +1935,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ], [ "Liquidity Rewards BUSD", - "Pool" + "Pool", + "Governance", + "962d9bc1-4e54-463c-86ae-43aec1db0f0f" ] ] } @@ -1813,19 +1999,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ], [ "Liquidity Program", - "Pool Class" + "Pool Class", + "Governance", + "477faa7a-da4f-4949-9439-a2475ed683de" ] ] } @@ -1864,15 +2058,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Providing Liquidity to SA Markets", - "Pool Class" + "Pool Class", + "Governance", + "00bbb418-2315-4845-aa39-8362489a360b" ] ] } @@ -1924,23 +2124,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Staking Program", - "Pool Class" + "Pool Class", + "Governance", + "68e3f570-4156-4be6-8881-c526a06f85d0" ], [ "Staking Rewards", - "Pool" + "Pool", + "Governance", + "d2cf4c65-b4bd-4fa8-b0da-f73a38b8419a" ] ] } @@ -1978,19 +2188,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Staking Program", - "Pool Class" + "Pool Class", + "Governance", + "68e3f570-4156-4be6-8881-c526a06f85d0" ] ] } @@ -2036,23 +2254,33 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Delegation Program", - "Pool Class" + "Pool Class", + "Governance", + "f09429a2-3f6c-4210-bb73-0c8efd254c82" ], [ "Delegation Bonus", - "Pool" + "Pool", + "Governance", + "24e62dd3-4d7b-4eba-b401-493c155d85d0" ] ] } @@ -2090,19 +2318,27 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ], [ "Delegation Program", - "Pool Class" + "Pool Class", + "Governance", + "f09429a2-3f6c-4210-bb73-0c8efd254c82" ] ] } @@ -2141,15 +2377,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ], [ "Incentives for Staking & Delegating SA Tokens", - "Pool Class" + "Pool Class", + "Governance", + "64cda2cd-270e-4046-ac3f-5cf9188113c2" ] ] } @@ -2188,11 +2430,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Governance Programs", - "Pool Class" + "Pool Class", + "Governance", + "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848" ] ] } @@ -2238,15 +2484,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ], [ "Positions", - "Pool" + "Pool", + "Governance", + "a289d3a4-bd49-467b-b8d9-d0ba1152a131" ] ] } @@ -2285,15 +2537,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ], [ "Assets", - "Pool" + "Pool", + "Governance", + "16a7dd84-e3e8-4118-a17d-ac227e55ff92" ] ] } @@ -2332,15 +2590,21 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ], [ "Features", - "Pool" + "Pool", + "Governance", + "4b7384bc-93ba-454f-9de8-1add9c4d84ce" ] ] } @@ -2378,11 +2642,15 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Pools" + "Pools", + "Governance", + "6f0aed87-db13-4818-bfe6-68abc463ebec" ], [ "Positions, Assets & Features", - "Pool Class" + "Pool Class", + "Governance", + "b27df32a-70f3-470b-b8bb-471c156b0c30" ] ] } @@ -11236,27 +11504,39 @@ "referenceParentCombinedNodePath": [ [ "Superalgos", - "Positions" + "Positions", + "Governance", + "50c68665-5da2-48a4-b229-7a1563ae82d2" ], [ "Roles Played @ Beta-12", - "Position Class" + "Position Class", + "Governance", + "8b29fcb2-3b9a-444f-b3b0-05976da9a18f" ], [ "Software Projects", - "Position Class" + "Position Class", + "Governance", + "864ef810-2d34-4776-946d-2f4bd68b45c5" ], [ "Active Projects", - "Position Class" + "Position Class", + "Governance", + "75998134-fe6b-4dd0-9995-6beb613cd165" ], [ "Governance Project", - "Position Class" + "Position Class", + "Governance", + "68dd2990-457e-48df-b752-6e1fd02081a3" ], [ "Project Contributor", - "Position" + "Position", + "Governance", + "5a13709f-761a-410b-b0e9-1542e341f19e" ] ] } @@ -11349,7 +11629,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11432,7 +11712,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": false, + "isCollapsed": true, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 @@ -11627,7 +11907,7 @@ "floatingObject": { "isPinned": false, "isFrozen": false, - "isCollapsed": true, + "isCollapsed": false, "angleToParent": 2, "distanceToParent": 3, "arrangementStyle": 0 diff --git a/Projects/Governance/UI/Function-Libraries/TokenPower.js b/Projects/Governance/UI/Function-Libraries/TokenPower.js index 692aaee3e..030847af4 100644 --- a/Projects/Governance/UI/Function-Libraries/TokenPower.js +++ b/Projects/Governance/UI/Function-Libraries/TokenPower.js @@ -4,6 +4,7 @@ function newGovernanceFunctionLibraryTokenPower() { calculateDelegatedPower: calculateDelegatedPower } + const OPAQUE_NODES_TYPES = ['Tokens Mined', 'Signing Accounts', 'Onboarding Programs', 'Liquidity Programs'] return thisObject function calculateTokenPower( @@ -99,7 +100,7 @@ function newGovernanceFunctionLibraryTokenPower() { userProfile.payload.uiObject.setErrorMessage( "You need to have a Token Power Switch child node.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR - ) + ) return } distributeTokenPower( @@ -125,7 +126,7 @@ function newGovernanceFunctionLibraryTokenPower() { userProfile.payload.uiObject.setErrorMessage( "You need to have a Token Power Switch child node.", UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR - ) + ) return } distributeTokenPower( @@ -186,8 +187,7 @@ function newGovernanceFunctionLibraryTokenPower() { let childNode = node[property.name] if (childNode === undefined) { continue } if (childNode.type === "Delegation Program" && excludeDelegationProgram === true) { continue } - if (childNode.type === "Tokens Mined") { continue } - if (childNode.type === "Signing Accounts") { continue } + if (OPAQUE_NODES_TYPES.includes(childNode.type)) { continue } let percentage = getPercentage(childNode) @@ -205,8 +205,7 @@ function newGovernanceFunctionLibraryTokenPower() { let childNode = propertyArray[m] if (childNode === undefined) { continue } if (childNode.type === "Delegation Program" && excludeDelegationProgram === true) { continue } - if (childNode.type === "Tokens Mined") { continue } - if (childNode.type === "Signing Accounts") { continue } + if (OPAQUE_NODES_TYPES.includes(childNode.type)) { continue } let percentage = getPercentage(childNode) if (percentage !== undefined && isNaN(percentage) !== true) { @@ -224,7 +223,7 @@ function newGovernanceFunctionLibraryTokenPower() { node.payload.uiObject.setErrorMessage( 'Token Power Switching Error. Total Percentage of children nodes is grater that 100.', UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR - ) + ) return } let defaultPercentage = 0 @@ -242,8 +241,7 @@ function newGovernanceFunctionLibraryTokenPower() { let childNode = node[property.name] if (childNode === undefined) { continue } if (childNode.type === "Delegation Program" && excludeDelegationProgram === true) { continue } - if (childNode.type === "Tokens Mined") { continue } - if (childNode.type === "Signing Accounts") { continue } + if (OPAQUE_NODES_TYPES.includes(childNode.type)) { continue } let percentage = getPercentage(childNode) if (percentage === undefined || isNaN(percentage) === true) { @@ -264,8 +262,7 @@ function newGovernanceFunctionLibraryTokenPower() { let childNode = propertyArray[m] if (childNode === undefined) { continue } if (childNode.type === "Delegation Program" && excludeDelegationProgram === true) { continue } - if (childNode.type === "Tokens Mined") { continue } - if (childNode.type === "Signing Accounts") { continue } + if (OPAQUE_NODES_TYPES.includes(childNode.type)) { continue } let percentage = getPercentage(childNode) if (percentage === undefined || isNaN(percentage) === true) { @@ -316,7 +313,7 @@ function newGovernanceFunctionLibraryTokenPower() { node.payload.uiObject.percentageAngleOffset = 180 node.payload.uiObject.percentageAtAngle = true node.payload.uiObject.setPercentage(percentage.toFixed(2), - UI.projects.governance.globals.designer.SET_PERCENTAGE_COUNTER + UI.projects.governance.globals.designer.SET_PERCENTAGE_COUNTER ) } } diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index 2489310a1..6d130f1e6 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -378,7 +378,9 @@ function newGovernanceUserProfileSpace() { } if (userProfile.payload.blockchainTokens === undefined) { - userProfile.payload.bloackchainBalancesLoading = true + userProfile.payload.bloackchainBalancesLoading = true + UI.projects.foundations.spaces.cockpitSpace.setStatus('Loading blockchain balances for User Profile # ' + (i + 1) + ' / ' + userProfiles.length, 1500, UI.projects.foundations.spaces.cockpitSpace.statusTypes.ALL_GOOD) + getBlockchainAccount(userProfile) return } @@ -428,7 +430,7 @@ function newGovernanceUserProfileSpace() { blockchainAccount !== "" && userProfile.payload.blockchainTokens === undefined ) { - + userProfile.payload.liquidityTokens = { BTCB: 0, BNB: 0, @@ -460,7 +462,7 @@ function newGovernanceUserProfileSpace() { }).then(function (data) { userProfile.payload.bloackchainBalancesLoading = false if (data.result === "Max rate limit reached, please use API Key for higher rate limit") { - userProfile.payload.blockchainTokens = undefined + userProfile.payload.blockchainTokens = undefined } else { userProfile.payload.uiObject.setInfoMessage('Blockchan Balance Succesfully Loaded.', UI.projects.governance.globals.designer.SET_INFO_COUNTER_FACTOR @@ -493,7 +495,7 @@ function newGovernanceUserProfileSpace() { //console.log(data) if (data.result === "Max rate limit reached, please use API Key for higher rate limit") { console.log('[WARN] Rate Limit Reached fetching liquidity tokens for asset ' + asset + ' of user profile ' + userProfile.name) - userProfile.payload.blockchainTokens = undefined + userProfile.payload.blockchainTokens = undefined } else { userProfile.payload.uiObject.setInfoMessage('Pancake Balance Succesfully Loaded for asset ' + asset, UI.projects.governance.globals.designer.SET_INFO_COUNTER_FACTOR From 7dab35886311514b9b8ddf85d39fab5cfab608ec Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 24 Oct 2021 10:43:39 +0200 Subject: [PATCH 12/15] Tokens Mined Fixed --- .../UI/Function-Libraries/TokenMining.js | 14 +++++++++++++- Projects/Governance/UI/Globals/SaToken.js | 3 ++- .../UI/Spaces/Reports-Space/Liquidity.js | 5 ++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Projects/Governance/UI/Function-Libraries/TokenMining.js b/Projects/Governance/UI/Function-Libraries/TokenMining.js index 4ad90ec87..aca8df41b 100644 --- a/Projects/Governance/UI/Function-Libraries/TokenMining.js +++ b/Projects/Governance/UI/Function-Libraries/TokenMining.js @@ -113,6 +113,18 @@ function newGovernanceFunctionLibraryTokenMining() { calculateProgram(userProfile, program, "airdropProgram") } + for (let i = 0; i < userProfiles.length; i++) { + let userProfile = userProfiles[i] + for (let j = 0; j < UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_ASSETS.length; j++) { + let asset = UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_ASSETS[j] + if (userProfile.tokenPowerSwitch === undefined) { continue } + let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, "Liquidity Program", 'asset', asset) + if (program === undefined) { continue } + if (program.payload === undefined) { continue } + + calculateProgram(userProfile, program, "liquidityProgram") + } + } for (let i = 0; i < userProfiles.length; i++) { let userProfile = userProfiles[i] @@ -149,7 +161,7 @@ function newGovernanceFunctionLibraryTokenMining() { if (userProfile.payload === undefined) { return } if (userProfile.tokensMined === undefined) { return } if (userProfile.tokensMined.payload === undefined) { return } - + if (programNode.payload === undefined) { return } if (programNode.payload[programPropertyName] === undefined) { return } diff --git a/Projects/Governance/UI/Globals/SaToken.js b/Projects/Governance/UI/Globals/SaToken.js index 411dbd67f..49128b01a 100644 --- a/Projects/Governance/UI/Globals/SaToken.js +++ b/Projects/Governance/UI/Globals/SaToken.js @@ -6,7 +6,8 @@ function newGovernanceGlobalsSaToken() { SA_TOKEN_BSC_DECIMAL_FACTOR: 1000000000000000000, SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BTCB_CONTRACT_ADDRESS: '0x7164b91db59c50156b63d0e31da08cd47b031711', SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BNB_CONTRACT_ADDRESS: '0xd4a05523839d0d175289054022ee4e01e3dae854', - SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BUSD_CONTRACT_ADDRESS: '0xf9e8ce74058d872f7688665885826c3d5e1d0a27' + SA_TOKEN_BSC_PANCAKE_LIQUIDITY_POOL_BUSD_CONTRACT_ADDRESS: '0xf9e8ce74058d872f7688665885826c3d5e1d0a27', + SA_TOKEN_BSC_PANCAKE_LIQUIDITY_ASSETS: ['BTCB', 'BNB', 'BUSD'] } return thisObject } \ No newline at end of file diff --git a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js index 9261ad078..cdf7b6757 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js @@ -22,7 +22,6 @@ function newGovernanceReportsLiquidity() { let table = 'Liquidity' let programName = 'Liquidity Program' let programPropertyName = 'liquidityProgram' - let assets = ['BTCB', 'BNB', 'BUSD'] /* Setup Filters */ @@ -89,8 +88,8 @@ function newGovernanceReportsLiquidity() { for (let j = 0; j < userProfiles.length; j++) { let userProfile = userProfiles[j] - for (let j = 0; j < assets.length; j++) { - let asset = assets[j] + for (let j = 0; j < UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_ASSETS.length; j++) { + let asset = UI.projects.governance.globals.saToken.SA_TOKEN_BSC_PANCAKE_LIQUIDITY_ASSETS[j] if (userProfile.tokenPowerSwitch === undefined) { continue } let program = UI.projects.governance.utilities.validations.onlyOneProgramBasedOnConfigProperty(userProfile, programName, 'asset', asset) if (program === undefined) { continue } From d02ee2d8da7cc562559a18e77c01770aa5c55f5e Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 24 Oct 2021 10:45:19 +0200 Subject: [PATCH 13/15] Update tokens-awarded.json --- Projects/Governance/Schemas/App-Schema/tokens-awarded.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects/Governance/Schemas/App-Schema/tokens-awarded.json b/Projects/Governance/Schemas/App-Schema/tokens-awarded.json index 94edfca8e..2f7f67841 100644 --- a/Projects/Governance/Schemas/App-Schema/tokens-awarded.json +++ b/Projects/Governance/Schemas/App-Schema/tokens-awarded.json @@ -15,7 +15,7 @@ "addLeftIcons": true, "level": 2, "attachingRules": { - "compatibleTypes": "->Referral Program->Mentorship Program->Support Program->Claims Program->Staking Program->Github Program->Airdrop Program->Influencer Program->" + "compatibleTypes": "->Referral Program->Mentorship Program->Support Program->Claims Program->Staking Program->Github Program->Airdrop Program->Influencer Program->Liquidity Program->" }, "propertyNameAtParent": "tokensAwarded" } \ No newline at end of file From 8870c95a08687c5818989e14531068ab1e51b43c Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 24 Oct 2021 10:48:57 +0200 Subject: [PATCH 14/15] Update Validations.js --- Projects/Governance/UI/Utilities/Validations.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Projects/Governance/UI/Utilities/Validations.js b/Projects/Governance/UI/Utilities/Validations.js index 515e6ca79..6e3595ffe 100644 --- a/Projects/Governance/UI/Utilities/Validations.js +++ b/Projects/Governance/UI/Utilities/Validations.js @@ -38,11 +38,6 @@ function newGovernanceUtilitiesValidations() { return program } } - - userProfile.payload.uiObject.setErrorMessage( - 'Only one ' + programNodeType + ' is allowed. No program had a configProperty called ' + configProperetyName + ' with a value of ' + configProperetyValue, - UI.projects.governance.globals.designer.SET_ERROR_COUNTER_FACTOR - ) } } } \ No newline at end of file From 03b104924163fdf008fb96232d8b2391ad533819 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 24 Oct 2021 10:56:29 +0200 Subject: [PATCH 15/15] deepScan bug fixed --- Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js | 1 - 1 file changed, 1 deletion(-) diff --git a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js index cdf7b6757..3aa0c0d1d 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js @@ -48,7 +48,6 @@ function newGovernanceReportsLiquidity() { "name": "market", "label": "Market", "type": "string", - "order": "asc", "order": "ascending", "textAlign": "center" },