diff --git a/Platform/Client/githubServer.js b/Platform/Client/githubServer.js index eff3ebc8d..cdf879457 100644 --- a/Platform/Client/githubServer.js +++ b/Platform/Client/githubServer.js @@ -323,6 +323,11 @@ exports.newGithubServer = function newGithubServer() { if (await validateUserProfileBlockchainAccountDoesNotBelongtoAnotherUserProfile() === false) { continue } if (await validateUserProfileSigningAccountsDoesNotBelongtoAnotherUserProfile() === false) { continue } + /* + TODO: We need to check before merging a User Profile that none of id of the node of the profile hierearchy exists at any other + User Profile already at the repository, to avoid atacts of users highjacking references of other user profiles. + */ + if (await mergePullRequest() === false) { console.log('[WARN] Github Server -> mergeGithubPullRequests -> Merge Failed -> Pull Request "' + pullRequest.title + '" not merged because Github could not merge it. -> mergeResponse.message = ' + mergeResponse.data.message) } else { diff --git a/Projects/Governance/Icons/trading-bot.png b/Projects/Governance/Icons/trading-bot.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/trading-bot.png differ diff --git a/Projects/Governance/Icons/trading-bots.png b/Projects/Governance/Icons/trading-bots.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/trading-bots.png differ diff --git a/Projects/Governance/Icons/user-bots.png b/Projects/Governance/Icons/user-bots.png new file mode 100644 index 000000000..a4ee2a209 Binary files /dev/null and b/Projects/Governance/Icons/user-bots.png differ diff --git a/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json b/Projects/Governance/Plugins/User-Profiles/Luis-Fernando-Molina.json index a60755b4f..3317c12a2 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": 33783.333333333336, + "x": 37950, "y": 18540.192378864667 }, "targetPosition": { - "x": 33633.333333333336, + "x": 37800, "y": 18800 }, "floatingObject": { @@ -516,11 +516,11 @@ "id": "b6e3c87d-a11b-4b2a-b6a6-edc96375f5da", "savedPayload": { "position": { - "x": 33893.14095446867, + "x": 38059.80762113533, "y": 18650 }, "targetPosition": { - "x": 33633.333333333336, + "x": 37800, "y": 18800 }, "floatingObject": { @@ -565,11 +565,11 @@ "id": "2571cea1-2b6d-40f5-9331-8786bf57c184", "savedPayload": { "position": { - "x": 34560.56441588615, + "x": 38727.23108255281, "y": 18282.57653858252 }, "targetPosition": { - "x": 34482.91870235539, + "x": 38649.585369022054, "y": 18572.354286469243 }, "floatingObject": { @@ -5592,11 +5592,11 @@ "id": "75487f1d-1ec0-4431-8693-ce9653018e81", "savedPayload": { "position": { - "x": 34742.72632349072, + "x": 38909.39299015739, "y": 18422.354286469243 }, "targetPosition": { - "x": 34482.91870235539, + "x": 38649.585369022054, "y": 18572.354286469243 }, "floatingObject": { @@ -7689,11 +7689,11 @@ "id": "800e3388-1ea6-40ee-ace5-1811a3373e39", "savedPayload": { "position": { - "x": 34968.38267362554, - "y": 18422.608483056363 + "x": 39121.99154561139, + "y": 18411.99399791263 }, "targetPosition": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "floatingObject": { @@ -14945,11 +14945,11 @@ "id": "aa848510-1260-46ed-a855-6c0fb9dca9eb", "savedPayload": { "position": { - "x": 35047.66512700311, - "y": 18530.032392704077 + "x": 39199.17073804411, + "y": 18500 }, "targetPosition": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "floatingObject": { @@ -15252,11 +15252,11 @@ "id": "12a12abf-c6f9-4a62-a21e-4442b2fbbada", "savedPayload": { "position": { - "x": 35072.48666167863, - "y": 18661.2173582829 + "x": 39236.79657532092, + "y": 18610.842142333986 }, "targetPosition": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "floatingObject": { @@ -15370,11 +15370,11 @@ "id": "f1ef36d6-3284-408b-9601-aa1bf4875c0a", "savedPayload": { "position": { - "x": 35037.931068293496, - "y": 18790.18058848192 + "x": 39229.140864795496, + "y": 18727.645713530757 }, "targetPosition": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "floatingObject": { @@ -15939,11 +15939,11 @@ "id": "4ece8c41-7a25-4514-9ff5-de3f609c7a00", "savedPayload": { "position": { - "x": 34950.84250591416, - "y": 18891.37933393 + "x": 39177.36911899615, + "y": 18832.628428702617 }, "targetPosition": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "floatingObject": { @@ -16103,11 +16103,11 @@ "id": "37988155-ac7c-4eb2-937b-6d3b64842a3a", "savedPayload": { "position": { - "x": 34828.46993239099, - "y": 18944.769941969986 + "x": 39089.363116908775, + "y": 18909.807621135333 }, "targetPosition": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "floatingObject": { @@ -16158,15 +16158,44 @@ "poolWeightVotes": [], "assetWeightVotes": [], "featureWeightVotes": [], - "positionWeightVotes": [], + "positionWeightVotes": [ + { + "type": "Position Weight Vote", + "name": "", + "config": "{}", + "project": "Governance", + "id": "2d9f36e1-d393-4d2d-a8fd-23a3f69ed439", + "savedPayload": { + "position": { + "x": 38978.52097457479, + "y": 18947.433458412142 + }, + "targetPosition": { + "x": 38939.363116908775, + "y": 18650 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], "id": "1d398124-3f36-40a1-8b3b-6c77ad489b92", "savedPayload": { "position": { - "x": 34772.69645024211, + "x": 38939.363116908775, "y": 18650 }, "targetPosition": { - "x": 34482.91870235539, + "x": 38649.585369022054, "y": 18572.354286469243 }, "floatingObject": { @@ -16188,11 +16217,11 @@ "id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f", "savedPayload": { "position": { - "x": 34482.91870235539, + "x": 38649.585369022054, "y": 18572.354286469243 }, "targetPosition": { - "x": 34223.11108122006, + "x": 38389.77774788672, "y": 18722.354286469243 }, "floatingObject": { @@ -16216,11 +16245,11 @@ "id": "e9c0e495-7985-4381-bf75-865d87289038", "savedPayload": { "position": { - "x": 34523.11108122006, + "x": 38689.77774788672, "y": 18722.354286469243 }, "targetPosition": { - "x": 34223.11108122006, + "x": 38389.77774788672, "y": 18722.354286469243 }, "floatingObject": { @@ -16239,11 +16268,11 @@ "id": "d5ed432e-78bf-432e-be3b-8649932f7a65", "savedPayload": { "position": { - "x": 34223.11108122006, + "x": 38389.77774788672, "y": 18722.354286469243 }, "targetPosition": { - "x": 33933.333333333336, + "x": 38100, "y": 18800 }, "floatingObject": { @@ -16400,11 +16429,11 @@ "id": "796dd30f-c90d-4b8d-a63d-89867347407b", "savedPayload": { "position": { - "x": 34223.11108122006, + "x": 38389.77774788672, "y": 18877.645713530757 }, "targetPosition": { - "x": 33933.333333333336, + "x": 38100, "y": 18800 }, "floatingObject": { @@ -16423,11 +16452,11 @@ "id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf", "savedPayload": { "position": { - "x": 33933.333333333336, + "x": 38100, "y": 18800 }, "targetPosition": { - "x": 33633.333333333336, + "x": 37800, "y": 18800 }, "floatingObject": { @@ -16711,11 +16740,11 @@ "id": "4246052a-0eab-43a6-bdc4-d9a42a9bd694", "savedPayload": { "position": { - "x": 34152.948575604, + "x": 38319.615242270665, "y": 19100 }, "targetPosition": { - "x": 33893.14095446867, + "x": 38059.80762113533, "y": 18950 }, "floatingObject": { @@ -16734,11 +16763,11 @@ "id": "ed112539-01ea-4937-85cf-69612ee6115d", "savedPayload": { "position": { - "x": 33893.14095446867, + "x": 38059.80762113533, "y": 18950 }, "targetPosition": { - "x": 33633.333333333336, + "x": 37800, "y": 18800 }, "floatingObject": { @@ -16929,11 +16958,11 @@ "id": "ba3bc469-3c94-444d-a5d0-8ed851aa3778", "savedPayload": { "position": { - "x": 33783.333333333336, + "x": 37950, "y": 19059.807621135333 }, "targetPosition": { - "x": 33633.333333333336, + "x": 37800, "y": 18800 }, "floatingObject": { @@ -16952,11 +16981,11 @@ "id": "f8182a9c-f830-4ec1-a238-ac3a5efd69e6", "savedPayload": { "position": { - "x": 33633.333333333336, + "x": 37800, "y": 18800 }, "targetPosition": { - "x": 33333.333333333336, + "x": 37500, "y": 18800 }, "floatingObject": { @@ -16979,11 +17008,11 @@ "id": "9870ca2a-cefc-484b-b7fc-206d62782ebc", "savedPayload": { "position": { - "x": 33183.333333333336, - "y": 19059.807621135333 + "x": 37500, + "y": 19100 }, "targetPosition": { - "x": 33333.333333333336, + "x": 37500, "y": 18800 }, "floatingObject": { @@ -17017,12 +17046,12 @@ "id": "012c74dd-1a61-4784-bc8a-e18555b4974e", "savedPayload": { "position": { - "x": 32596.44477289305, - "y": 18664.939393355322 + "x": 37014.58980337503, + "y": 19370.63390977709 }, "targetPosition": { - "x": 32889.88905311319, - "y": 18602.565886109995 + "x": 37107.29490168751, + "y": 19085.316954888545 }, "floatingObject": { "isPinned": false, @@ -17040,12 +17069,12 @@ "id": "3863ebb9-c69f-40b2-8bbd-eb8f2b60a49c", "savedPayload": { "position": { - "x": 32889.88905311319, - "y": 18602.565886109995 + "x": 37107.29490168751, + "y": 19085.316954888545 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17073,12 +17102,12 @@ "id": "2d03d11f-b553-4b01-9291-9e13da15dd54", "savedPayload": { "position": { - "x": 32586.62019611237, - "y": 18477.475300904072 + "x": 36847.328848624515, + "y": 19285.410196624965 }, "targetPosition": { - "x": 32884.97676472285, - "y": 18508.83383988437 + "x": 37023.66442431226, + "y": 19042.705098312483 }, "floatingObject": { "isPinned": false, @@ -17096,12 +17125,12 @@ "id": "c84e9e64-7527-4dec-ac58-93696e19a756", "savedPayload": { "position": { - "x": 32884.97676472285, - "y": 18508.83383988437 + "x": 37023.66442431226, + "y": 19042.705098312483 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17129,12 +17158,12 @@ "id": "c3d218ee-119f-4bd9-9349-8a194844ecd9", "savedPayload": { "position": { - "x": 32635.20605874777, - "y": 18296.15039301919 + "x": 36714.58980337503, + "y": 19152.671151375485 }, "targetPosition": { - "x": 32909.26969604055, - "y": 18418.17138594193 + "x": 36957.29490168751, + "y": 18976.335575687743 }, "floatingObject": { "isPinned": false, @@ -17152,12 +17181,12 @@ "id": "75f17a55-bf33-4e69-b842-b424a6f517e8", "savedPayload": { "position": { - "x": 32909.26969604055, - "y": 18418.17138594193 + "x": 36957.29490168751, + "y": 18976.335575687743 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17185,12 +17214,12 @@ "id": "bcffb701-754d-4685-ad09-8bf3f09265d9", "savedPayload": { "position": { - "x": 32737.446438046896, - "y": 18138.71401504935 + "x": 36629.3660902229, + "y": 18985.410196624965 }, "targetPosition": { - "x": 32960.389885690114, - "y": 18339.45319695701 + "x": 36914.68304511145, + "y": 18892.705098312483 }, "floatingObject": { "isPinned": false, @@ -17208,12 +17237,12 @@ "id": "377ee3ed-49e4-415d-87b3-946024f0a1ef", "savedPayload": { "position": { - "x": 32960.389885690114, - "y": 18339.45319695701 + "x": 36914.68304511145, + "y": 18892.705098312483 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17241,12 +17270,12 @@ "id": "bb0f0417-9dfb-47a3-941f-dcfa82fbaea1", "savedPayload": { "position": { - "x": 32883.333333333336, - "y": 18020.577136594 + "x": 36600, + "y": 18800 }, "targetPosition": { - "x": 33033.333333333336, - "y": 18280.384757729335 + "x": 36900, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17264,12 +17293,12 @@ "id": "7c5f14f9-63c2-42fa-98ee-1d4a36590cf4", "savedPayload": { "position": { - "x": 33033.333333333336, - "y": 18280.384757729335 + "x": 36900, + "y": 18800 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17297,12 +17326,12 @@ "id": "76fa8a24-9ab4-4eaf-82f2-458ba557b204", "savedPayload": { "position": { - "x": 33058.58631884268, - "y": 17953.303818424385 + "x": 36629.3660902229, + "y": 18614.589803375035 }, "targetPosition": { - "x": 33120.95982608801, - "y": 18246.748098644526 + "x": 36914.68304511145, + "y": 18707.294901687517 }, "floatingObject": { "isPinned": false, @@ -17320,12 +17349,12 @@ "id": "48544424-5b62-417b-897d-9164b26fcd56", "savedPayload": { "position": { - "x": 33120.95982608801, - "y": 18246.748098644526 + "x": 36914.68304511145, + "y": 18707.294901687517 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17353,12 +17382,12 @@ "id": "297e57c2-3c1a-4170-b710-d2705804205b", "savedPayload": { "position": { - "x": 33246.05041129393, - "y": 17943.479241643705 + "x": 36714.58980337503, + "y": 18447.328848624515 }, "targetPosition": { - "x": 33214.69187231363, - "y": 18241.835810254186 + "x": 36957.29490168751, + "y": 18623.664424312257 }, "floatingObject": { "isPinned": false, @@ -17376,12 +17405,12 @@ "id": "b39e1c4d-4170-4134-ae85-fc9fa7f3eb47", "savedPayload": { "position": { - "x": 33214.69187231363, - "y": 18241.835810254186 + "x": 36957.29490168751, + "y": 18623.664424312257 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17409,12 +17438,12 @@ "id": "e6f2b6f6-5e40-42d2-92d8-fdd17680a1c7", "savedPayload": { "position": { - "x": 33427.37531917882, - "y": 17992.065104279107 + "x": 36847.328848624515, + "y": 18314.589803375035 }, "targetPosition": { - "x": 33305.35432625608, - "y": 18266.128741571887 + "x": 37023.66442431226, + "y": 18557.294901687517 }, "floatingObject": { "isPinned": false, @@ -17432,12 +17461,12 @@ "id": "530b3376-a820-4710-a7a0-bab877e4c4be", "savedPayload": { "position": { - "x": 33305.35432625608, - "y": 18266.128741571887 + "x": 37023.66442431226, + "y": 18557.294901687517 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17465,12 +17494,12 @@ "id": "00ca860e-bb19-42b4-8bce-b67f9a1f9af7", "savedPayload": { "position": { - "x": 33584.81169714865, - "y": 18094.30548357823 + "x": 37014.58980337503, + "y": 18229.36609022291 }, "targetPosition": { - "x": 33384.072515240994, - "y": 18317.24893122145 + "x": 37107.29490168751, + "y": 18514.683045111455 }, "floatingObject": { "isPinned": false, @@ -17488,12 +17517,12 @@ "id": "72de2a17-d6f1-491b-847b-4e110a122cf6", "savedPayload": { "position": { - "x": 33384.072515240994, - "y": 18317.24893122145 + "x": 37107.29490168751, + "y": 18514.683045111455 }, "targetPosition": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "floatingObject": { "isPinned": false, @@ -17512,11 +17541,125 @@ "id": "ecf6aa0a-bf05-48e4-a7ee-7a714fbdbce2", "savedPayload": { "position": { - "x": 33183.333333333336, - "y": 18540.192378864667 + "x": 37200, + "y": 18800 }, "targetPosition": { - "x": 33333.333333333336, + "x": 37500, + "y": 18800 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "userBots": { + "type": "User Bots", + "name": "New User Bots", + "config": "{}", + "project": "Governance", + "tradingBots": { + "type": "Trading Bots", + "name": "New Trading Bots", + "config": "{}", + "project": "Governance", + "tradingBots": [ + { + "type": "Trading Bot", + "name": "New Trading Bot", + "config": "{}", + "project": "Governance", + "id": "d9a29f23-5aa6-46ea-8275-aaa95492d333", + "savedPayload": { + "position": { + "x": 37240.19237886467, + "y": 18050 + }, + "targetPosition": { + "x": 37500, + "y": 18200 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Trading Bot", + "name": "New Trading Bot", + "config": "{}", + "project": "Governance", + "id": "3a131692-8cc9-49bf-a017-ac240b5d3ed7", + "savedPayload": { + "position": { + "x": 37759.80762113533, + "y": 18050 + }, + "targetPosition": { + "x": 37500, + "y": 18200 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2036b0ba-f560-4985-b90b-5f3c764b5ed4", + "savedPayload": { + "position": { + "x": 37500, + "y": 18200 + }, + "targetPosition": { + "x": 37500, + "y": 18500 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "54ced611-b518-435f-a284-935666ef47db", + "savedPayload": { + "position": { + "x": 37500, + "y": 18500 + }, + "targetPosition": { + "x": 37500, "y": 18800 }, "floatingObject": { @@ -17535,11 +17678,11 @@ "id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db", "savedPayload": { "position": { - "x": 33333.333333333336, + "x": 37500, "y": 18800 }, "targetPosition": { - "x": 33333.333333333336, + "x": 37500, "y": 18800 }, "floatingObject": { diff --git a/Projects/Governance/Schemas/App-Schema/trading-bot.json b/Projects/Governance/Schemas/App-Schema/trading-bot.json new file mode 100644 index 000000000..5c6e5f96d --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/trading-bot.json @@ -0,0 +1,36 @@ +{ + "type": "Trading Bot", + "menuItems": [ + { + "action": "Configure", + "actionFunction": "uiObject.configEditor.activate", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration" + }, + { + "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": "->Trading Bots->" + }, + "propertyNameAtParent": "tradingBots", + "childrenNodesProperties": [ + ] +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/trading-bots.json b/Projects/Governance/Schemas/App-Schema/trading-bots.json new file mode 100644 index 000000000..621ac26b3 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/trading-bots.json @@ -0,0 +1,50 @@ +{ + "type": "Trading Bots", + "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 Trading Bot", + "relatedUiObject": "Trading Bot", + "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": "->User Bots->" + }, + "propertyNameAtParent": "tradingBots", + "childrenNodesProperties": [ + { + "name": "tradingBots", + "type": "array", + "childType": "Trading Bot", + "autoAdd": false + } + ] +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/user-bots.json b/Projects/Governance/Schemas/App-Schema/user-bots.json new file mode 100644 index 000000000..b6a263642 --- /dev/null +++ b/Projects/Governance/Schemas/App-Schema/user-bots.json @@ -0,0 +1,52 @@ +{ + "type": "User Bots", + "menuItems": [ + { + "action": "Configure", + "actionFunction": "uiObject.configEditor.activate", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration" + }, + { + "action": "Add UI Object", + "actionProject": "Visual-Scripting", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "tradingBots", + "actionFunction": "payload.executeAction", + "label": "Add Trading Bots", + "relatedUiObject": "Trading Bots", + "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": "->User Profile->" + }, + "propertyNameAtParent": "userBots", + "childrenNodesProperties": [ + { + "name": "tradingBots", + "type": "node", + "childType": "Trading Bots", + "autoAdd": false + } + ] +} \ No newline at end of file diff --git a/Projects/Governance/Schemas/App-Schema/user-profile.json b/Projects/Governance/Schemas/App-Schema/user-profile.json index adec94dd9..e7f61696c 100644 --- a/Projects/Governance/Schemas/App-Schema/user-profile.json +++ b/Projects/Governance/Schemas/App-Schema/user-profile.json @@ -28,6 +28,16 @@ "relatedUiObject": "Tokens Mined", "relatedUiObjectProject": "Governance" }, + { + "action": "Add UI Object", + "actionProject": "Visual-Scripting", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "userBots", + "actionFunction": "payload.executeAction", + "label": "Add User Bots", + "relatedUiObject": "User Bots", + "relatedUiObjectProject": "Governance" + }, { "action": "Install as Plugin", "actionProject": "Community-Plugins", @@ -77,6 +87,12 @@ "type": "node", "childType": "Signing Accounts", "autoAdd": false + }, + { + "name": "userBots", + "type": "node", + "childType": "User Bots", + "autoAdd": false } ], "inMapMode": {