diff --git a/Desktop/DesktopApp.js b/Desktop/DesktopApp.js
index 4235ab1b5..02e44aa7a 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)
@@ -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/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/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 7f77d2c67..efd66849b 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.DATA_PATH) {
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/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json b/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json
index b9d759073..f83acf444 100644
--- a/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json
+++ b/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json
@@ -7,10 +7,14 @@
"updated": 1634909540261
},
"paragraphs": [
+ {
+ "style": "Important",
+ "text": "For all Mac Users please substitute Cmd in place of Ctrl.",
+ "updated": 1634998306538
+ },
{
"style": "Text",
- "text": "Here is the current list of all implemented shortcuts and options for customazation:",
- "updated": 1634909619221
+ "text": "Here is the current list of all implemented shortcuts and options for customazation:"
},
{
"style": "Subtitle",
@@ -29,15 +33,17 @@
{
"style": "List",
"text": "Display Parent Connections: Ctrl + Shift + Alt + Key-C",
- "updated": 1634908495968
+ "updated": 1634998435755
},
{
"style": "List",
- "text": "Adjust Chart Aspect Ratio: Ctrl + Shift + Alt + Key-A"
+ "text": "Adjust Chart Aspect Ratio: Ctrl + Shift + Alt + Key-A",
+ "updated": 1634998443465
},
{
"style": "List",
- "text": "Toggle Map Mode: Ctrl + Shift + Key-M"
+ "text": "Toggle Map Mode: Ctrl + Shift + Alt + Key-M",
+ "updated": 1634998451423
},
{
"style": "Success",
@@ -51,18 +57,18 @@
},
{
"style": "List",
- "text": "While hovering over a node: Select a Node to move Ctrl + Shift + Key-Z",
- "updated": 1634910777397
+ "text": "While hovering over a node: Select a Node to move Ctrl + Shift + Alt + Key-Z",
+ "updated": 1634998486627
},
{
"style": "List",
- "text": "While hovering over nothing: Clears the selected node Ctrl + Shift + Key-Z",
- "updated": 1634910711538
+ "text": "While hovering over nothing: Clears the selected node Ctrl + Shift + Alt + Key-Z",
+ "updated": 1634998497705
},
{
"style": "List",
- "text": "Move Selected node to current position of Mouse Pointer: Ctrl + Shift + Key-X",
- "updated": 1634910953347
+ "text": "Move Selected node to current position of Mouse Pointer: Ctrl + Shift + Alt + Key-X",
+ "updated": 1634998509998
},
{
"style": "Note",
@@ -71,7 +77,8 @@
},
{
"style": "List",
- "text": "Retrieve a lost/out of bounds node: Ctrl + Shift + Key-K"
+ "text": "Retrieve a lost/out of bounds node: Ctrl + Shift + Alt + Key-K",
+ "updated": 1634998846702
},
{
"style": "Subtitle",
@@ -131,6 +138,29 @@
"style": "Text",
"text": "You can find additional descriptions of how to use your mouse and keybord to navigate the Charting Space and Design Space at the Basic Navigation page.",
"updated": 1634912820206
+ },
+ {
+ "style": "Subtitle",
+ "text": "Shortcut Troubleshooting and Optimization"
+ },
+ {
+ "style": "Important",
+ "text": "If any of these keyboard shortucts do not function as expected, please disable any installed browser extentions while using Superalgos as they can override expected functionality.",
+ "updated": 1634999290105
+ },
+ {
+ "style": "Success",
+ "text": "In addtion to this, many shortcuts will work without using the Alt key. For example Ctrl + Shift + Key-S. ",
+ "updated": 1634999389000
+ },
+ {
+ "style": "Warning",
+ "text": "However, on certain operating systems or browsers omitting the Alt key may cause a conflict with preset system shortcuts. Therefore, the shortcuts guaranteed to work are those using Alt. But feel free to optimize as you see fit!",
+ "updated": 1634999581536
+ },
+ {
+ "style": "Text",
+ "text": ""
}
]
}
\ No newline at end of file
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/0x.svg b/Projects/Foundations/Icons-SVG-Sources/assets/0x.svg
new file mode 100644
index 000000000..c7c5e7cba
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/0x.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/aelf.svg b/Projects/Foundations/Icons-SVG-Sources/assets/aelf.svg
new file mode 100644
index 000000000..c6526e501
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/aelf.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/aeon.svg b/Projects/Foundations/Icons-SVG-Sources/assets/aeon.svg
new file mode 100644
index 000000000..85fe8b756
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/aeon.svg
@@ -0,0 +1,39 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/amp.svg b/Projects/Foundations/Icons-SVG-Sources/assets/amp.svg
new file mode 100644
index 000000000..301d6e53c
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/amp.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ankr.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ankr.svg
new file mode 100644
index 000000000..66286d57a
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ankr.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ardor.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ardor.svg
new file mode 100644
index 000000000..a03dc91ee
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ardor.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ark.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ark.svg
new file mode 100644
index 000000000..6fe844f14
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ark.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/augur.svg b/Projects/Foundations/Icons-SVG-Sources/assets/augur.svg
new file mode 100644
index 000000000..fed35bddd
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/augur.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/bancor.svg b/Projects/Foundations/Icons-SVG-Sources/assets/bancor.svg
new file mode 100644
index 000000000..2c88987cf
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/bancor.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/celsius.svg b/Projects/Foundations/Icons-SVG-Sources/assets/celsius.svg
new file mode 100644
index 000000000..7c6446fb1
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/celsius.svg
@@ -0,0 +1,45 @@
+
+
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/civic.svg b/Projects/Foundations/Icons-SVG-Sources/assets/civic.svg
new file mode 100644
index 000000000..7a4b0de05
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/civic.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/compound.svg b/Projects/Foundations/Icons-SVG-Sources/assets/compound.svg
new file mode 100644
index 000000000..a3c5a9624
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/compound.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/decentraland.svg b/Projects/Foundations/Icons-SVG-Sources/assets/decentraland.svg
new file mode 100644
index 000000000..1ff4f1dab
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/decentraland.svg
@@ -0,0 +1,46 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/decred.svg b/Projects/Foundations/Icons-SVG-Sources/assets/decred.svg
new file mode 100644
index 000000000..0c46f7d0a
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/decred.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/digibyte.svg b/Projects/Foundations/Icons-SVG-Sources/assets/digibyte.svg
new file mode 100644
index 000000000..f7f80e130
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/digibyte.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ecash.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ecash.svg
new file mode 100644
index 000000000..1d18061b3
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ecash.svg
@@ -0,0 +1,53 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/elrond.svg b/Projects/Foundations/Icons-SVG-Sources/assets/elrond.svg
new file mode 100644
index 000000000..bc2a332d8
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/elrond.svg
@@ -0,0 +1,156 @@
+
+
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/enjin-coin.svg b/Projects/Foundations/Icons-SVG-Sources/assets/enjin-coin.svg
new file mode 100644
index 000000000..82bdaf5cb
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/enjin-coin.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/gnosis.svg b/Projects/Foundations/Icons-SVG-Sources/assets/gnosis.svg
new file mode 100644
index 000000000..50ce304c9
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/gnosis.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/hedera-hashgraph.svg b/Projects/Foundations/Icons-SVG-Sources/assets/hedera-hashgraph.svg
new file mode 100644
index 000000000..5e4a1975e
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/hedera-hashgraph.svg
@@ -0,0 +1,48 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/horizen.svg b/Projects/Foundations/Icons-SVG-Sources/assets/horizen.svg
new file mode 100644
index 000000000..fba7a91eb
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/horizen.svg
@@ -0,0 +1,36 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/husd.svg b/Projects/Foundations/Icons-SVG-Sources/assets/husd.svg
new file mode 100644
index 000000000..d1a848713
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/husd.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/iexec-rlc.svg b/Projects/Foundations/Icons-SVG-Sources/assets/iexec-rlc.svg
new file mode 100644
index 000000000..93be7fc1b
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/iexec-rlc.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/iost.svg b/Projects/Foundations/Icons-SVG-Sources/assets/iost.svg
new file mode 100644
index 000000000..e595651b0
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/iost.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/iotex.svg b/Projects/Foundations/Icons-SVG-Sources/assets/iotex.svg
new file mode 100644
index 000000000..f24dc1b22
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/iotex.svg
@@ -0,0 +1,115 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/klaytn.svg b/Projects/Foundations/Icons-SVG-Sources/assets/klaytn.svg
new file mode 100644
index 000000000..438a98021
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/klaytn.svg
@@ -0,0 +1,41 @@
+
+
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/kusama.svg b/Projects/Foundations/Icons-SVG-Sources/assets/kusama.svg
new file mode 100644
index 000000000..e1eb93e5b
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/kusama.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/lisk.svg b/Projects/Foundations/Icons-SVG-Sources/assets/lisk.svg
new file mode 100644
index 000000000..73ca7c18e
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/lisk.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/livepeer.svg b/Projects/Foundations/Icons-SVG-Sources/assets/livepeer.svg
new file mode 100644
index 000000000..79f603446
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/livepeer.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/loopring.svg b/Projects/Foundations/Icons-SVG-Sources/assets/loopring.svg
new file mode 100644
index 000000000..0db63db87
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/loopring.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/maker.svg b/Projects/Foundations/Icons-SVG-Sources/assets/maker.svg
new file mode 100644
index 000000000..3c5dcee57
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/maker.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/medibloc.svg b/Projects/Foundations/Icons-SVG-Sources/assets/medibloc.svg
new file mode 100644
index 000000000..c4e436f72
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/medibloc.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/near-protocol.svg b/Projects/Foundations/Icons-SVG-Sources/assets/near-protocol.svg
new file mode 100644
index 000000000..8271a4787
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/near-protocol.svg
@@ -0,0 +1,20 @@
+
+
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/nem.svg b/Projects/Foundations/Icons-SVG-Sources/assets/nem.svg
new file mode 100644
index 000000000..ca61ed066
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/nem.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/nexo.svg b/Projects/Foundations/Icons-SVG-Sources/assets/nexo.svg
new file mode 100644
index 000000000..abebacd80
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/nexo.svg
@@ -0,0 +1,50 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/nkn.svg b/Projects/Foundations/Icons-SVG-Sources/assets/nkn.svg
new file mode 100644
index 000000000..f11be3647
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/nkn.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/numeraire.svg b/Projects/Foundations/Icons-SVG-Sources/assets/numeraire.svg
new file mode 100644
index 000000000..1be055a4c
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/numeraire.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/okb.svg b/Projects/Foundations/Icons-SVG-Sources/assets/okb.svg
new file mode 100644
index 000000000..35906d377
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/okb.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/omni.svg b/Projects/Foundations/Icons-SVG-Sources/assets/omni.svg
new file mode 100644
index 000000000..a8236f9d2
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/omni.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ontology-gas.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ontology-gas.svg
new file mode 100644
index 000000000..5716094ef
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ontology-gas.svg
@@ -0,0 +1,41 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ontology.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ontology.svg
new file mode 100644
index 000000000..0dffea0e0
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ontology.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/pax-gold.svg b/Projects/Foundations/Icons-SVG-Sources/assets/pax-gold.svg
new file mode 100644
index 000000000..a28efe393
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/pax-gold.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/quant.svg b/Projects/Foundations/Icons-SVG-Sources/assets/quant.svg
new file mode 100644
index 000000000..2415602b4
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/quant.svg
@@ -0,0 +1,36 @@
+
+
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/ren.svg b/Projects/Foundations/Icons-SVG-Sources/assets/ren.svg
new file mode 100644
index 000000000..a788dceae
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/ren.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/revain.svg b/Projects/Foundations/Icons-SVG-Sources/assets/revain.svg
new file mode 100644
index 000000000..4e61a4167
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/revain.svg
@@ -0,0 +1,51 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/safemoon.svg b/Projects/Foundations/Icons-SVG-Sources/assets/safemoon.svg
new file mode 100644
index 000000000..0240339f4
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/safemoon.svg
@@ -0,0 +1,33 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/skale-network.svg b/Projects/Foundations/Icons-SVG-Sources/assets/skale-network.svg
new file mode 100644
index 000000000..93b7f128e
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/skale-network.svg
@@ -0,0 +1,33 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/stacks.svg b/Projects/Foundations/Icons-SVG-Sources/assets/stacks.svg
new file mode 100644
index 000000000..0b95a479a
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/stacks.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/status.svg b/Projects/Foundations/Icons-SVG-Sources/assets/status.svg
new file mode 100644
index 000000000..9cf81d57b
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/status.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/storj.svg b/Projects/Foundations/Icons-SVG-Sources/assets/storj.svg
new file mode 100644
index 000000000..9c4a338f9
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/storj.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/superalgos.svg b/Projects/Foundations/Icons-SVG-Sources/assets/superalgos.svg
new file mode 100644
index 000000000..5ab331be3
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/superalgos.svg
@@ -0,0 +1,90 @@
+
+
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/swissborg.svg b/Projects/Foundations/Icons-SVG-Sources/assets/swissborg.svg
new file mode 100644
index 000000000..baf440e75
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/swissborg.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/synthetix.svg b/Projects/Foundations/Icons-SVG-Sources/assets/synthetix.svg
new file mode 100644
index 000000000..487896282
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/synthetix.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/telcoin.svg b/Projects/Foundations/Icons-SVG-Sources/assets/telcoin.svg
new file mode 100644
index 000000000..33a2ece50
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/telcoin.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/the-sandbox.svg b/Projects/Foundations/Icons-SVG-Sources/assets/the-sandbox.svg
new file mode 100644
index 000000000..6dc92d460
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/the-sandbox.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/uma.svg b/Projects/Foundations/Icons-SVG-Sources/assets/uma.svg
new file mode 100644
index 000000000..2b5af64e6
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/uma.svg
@@ -0,0 +1,33 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/unus-sed-leo.svg b/Projects/Foundations/Icons-SVG-Sources/assets/unus-sed-leo.svg
new file mode 100644
index 000000000..0a09b6a1f
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/unus-sed-leo.svg
@@ -0,0 +1,39 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/verge.svg b/Projects/Foundations/Icons-SVG-Sources/assets/verge.svg
new file mode 100644
index 000000000..b5e2be565
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/verge.svg
@@ -0,0 +1,32 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/vethor-token.svg b/Projects/Foundations/Icons-SVG-Sources/assets/vethor-token.svg
new file mode 100644
index 000000000..cea91f081
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/vethor-token.svg
@@ -0,0 +1,34 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/assets/xtz.svg b/Projects/Foundations/Icons-SVG-Sources/assets/xtz.svg
new file mode 100644
index 000000000..f47ffe1ae
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/assets/xtz.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/bitflyer.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/bitflyer.svg
new file mode 100644
index 000000000..7192741ab
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/bitflyer.svg
@@ -0,0 +1,41 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/bithumb.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/bithumb.svg
new file mode 100644
index 000000000..4a5a1faa4
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/bithumb.svg
@@ -0,0 +1,57 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/bitmart.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/bitmart.svg
new file mode 100644
index 000000000..c8612f039
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/bitmart.svg
@@ -0,0 +1,80 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/bitstamp.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/bitstamp.svg
new file mode 100644
index 000000000..f8e4aea6e
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/bitstamp.svg
@@ -0,0 +1,38 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/bybit.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/bybit.svg
new file mode 100644
index 000000000..75bd5926a
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/bybit.svg
@@ -0,0 +1,66 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/coinbaseprime.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/coinbaseprime.svg
new file mode 100644
index 000000000..df43c45d5
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/coinbaseprime.svg
@@ -0,0 +1,33 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/coinone.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/coinone.svg
new file mode 100644
index 000000000..72a64b227
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/coinone.svg
@@ -0,0 +1,63 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/gateio.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/gateio.svg
new file mode 100644
index 000000000..aed9488a9
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/gateio.svg
@@ -0,0 +1,46 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/huobi.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/huobi.svg
new file mode 100644
index 000000000..49e4a8b8b
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/huobi.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/idex.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/idex.svg
new file mode 100644
index 000000000..79620165b
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/idex.svg
@@ -0,0 +1,30 @@
+
+
diff --git a/Projects/Foundations/Icons-SVG-Sources/exchanges/zb.svg b/Projects/Foundations/Icons-SVG-Sources/exchanges/zb.svg
new file mode 100644
index 000000000..16f20c88f
--- /dev/null
+++ b/Projects/Foundations/Icons-SVG-Sources/exchanges/zb.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/Projects/Foundations/Icons/Crypto-Assets/0x.png b/Projects/Foundations/Icons/Crypto-Assets/0x.png
new file mode 100644
index 000000000..6bffbe894
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/0x.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/aelf.png b/Projects/Foundations/Icons/Crypto-Assets/aelf.png
new file mode 100644
index 000000000..dd2024771
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/aelf.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/aeon.png b/Projects/Foundations/Icons/Crypto-Assets/aeon.png
new file mode 100644
index 000000000..59411ba0a
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/aeon.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/amp.png b/Projects/Foundations/Icons/Crypto-Assets/amp.png
new file mode 100644
index 000000000..663ea1956
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/amp.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ankr.png b/Projects/Foundations/Icons/Crypto-Assets/ankr.png
new file mode 100644
index 000000000..d514170f4
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ankr.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ardor.png b/Projects/Foundations/Icons/Crypto-Assets/ardor.png
new file mode 100644
index 000000000..e278ae3fd
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ardor.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ark.png b/Projects/Foundations/Icons/Crypto-Assets/ark.png
new file mode 100644
index 000000000..041dc5a12
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ark.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/augur.png b/Projects/Foundations/Icons/Crypto-Assets/augur.png
new file mode 100644
index 000000000..dd2d1f079
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/augur.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/bancor.png b/Projects/Foundations/Icons/Crypto-Assets/bancor.png
new file mode 100644
index 000000000..8f22f8237
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/bancor.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/celsius.png b/Projects/Foundations/Icons/Crypto-Assets/celsius.png
new file mode 100644
index 000000000..b86ead99a
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/celsius.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/civic.png b/Projects/Foundations/Icons/Crypto-Assets/civic.png
new file mode 100644
index 000000000..71b4013c2
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/civic.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/compound.png b/Projects/Foundations/Icons/Crypto-Assets/compound.png
new file mode 100644
index 000000000..47f67fd07
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/compound.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/decentraland.png b/Projects/Foundations/Icons/Crypto-Assets/decentraland.png
new file mode 100644
index 000000000..15e4ec28d
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/decentraland.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/decred.png b/Projects/Foundations/Icons/Crypto-Assets/decred.png
new file mode 100644
index 000000000..edf5fe408
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/decred.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/digibyte.png b/Projects/Foundations/Icons/Crypto-Assets/digibyte.png
new file mode 100644
index 000000000..5e15c38e9
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/digibyte.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ecash.png b/Projects/Foundations/Icons/Crypto-Assets/ecash.png
new file mode 100644
index 000000000..685311ba9
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ecash.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/elrond.png b/Projects/Foundations/Icons/Crypto-Assets/elrond.png
new file mode 100644
index 000000000..92d905eb2
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/elrond.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/enjin-coin.png b/Projects/Foundations/Icons/Crypto-Assets/enjin-coin.png
new file mode 100644
index 000000000..dd4c11fa6
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/enjin-coin.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/gnosis.png b/Projects/Foundations/Icons/Crypto-Assets/gnosis.png
new file mode 100644
index 000000000..3ed40a664
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/gnosis.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/hedera-hashgraph.png b/Projects/Foundations/Icons/Crypto-Assets/hedera-hashgraph.png
new file mode 100644
index 000000000..a020dd224
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/hedera-hashgraph.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/horizen.png b/Projects/Foundations/Icons/Crypto-Assets/horizen.png
new file mode 100644
index 000000000..ce53212b8
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/horizen.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/husd.png b/Projects/Foundations/Icons/Crypto-Assets/husd.png
new file mode 100644
index 000000000..c5f090393
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/husd.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/iexec-rlc.png b/Projects/Foundations/Icons/Crypto-Assets/iexec-rlc.png
new file mode 100644
index 000000000..068f03d3d
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/iexec-rlc.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/iost.png b/Projects/Foundations/Icons/Crypto-Assets/iost.png
new file mode 100644
index 000000000..cf5463cd6
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/iost.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/iotex.png b/Projects/Foundations/Icons/Crypto-Assets/iotex.png
new file mode 100644
index 000000000..f9dca8632
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/iotex.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/klaytn.png b/Projects/Foundations/Icons/Crypto-Assets/klaytn.png
new file mode 100644
index 000000000..c5e026d0d
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/klaytn.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/kusama.png b/Projects/Foundations/Icons/Crypto-Assets/kusama.png
new file mode 100644
index 000000000..279196387
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/kusama.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/lisk.png b/Projects/Foundations/Icons/Crypto-Assets/lisk.png
new file mode 100644
index 000000000..f6fdc6798
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/lisk.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/livepeer.png b/Projects/Foundations/Icons/Crypto-Assets/livepeer.png
new file mode 100644
index 000000000..b9f537707
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/livepeer.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/loopring.png b/Projects/Foundations/Icons/Crypto-Assets/loopring.png
new file mode 100644
index 000000000..a067f6703
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/loopring.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/maker.png b/Projects/Foundations/Icons/Crypto-Assets/maker.png
new file mode 100644
index 000000000..8468ddce6
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/maker.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/medibloc.png b/Projects/Foundations/Icons/Crypto-Assets/medibloc.png
new file mode 100644
index 000000000..c9a8b0532
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/medibloc.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/near-protocol.png b/Projects/Foundations/Icons/Crypto-Assets/near-protocol.png
new file mode 100644
index 000000000..808faf698
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/near-protocol.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/nem.png b/Projects/Foundations/Icons/Crypto-Assets/nem.png
new file mode 100644
index 000000000..5e73dcb8e
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/nem.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/nexo.png b/Projects/Foundations/Icons/Crypto-Assets/nexo.png
new file mode 100644
index 000000000..af7402abd
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/nexo.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/nkn.png b/Projects/Foundations/Icons/Crypto-Assets/nkn.png
new file mode 100644
index 000000000..02a9e1a76
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/nkn.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/numeraire.png b/Projects/Foundations/Icons/Crypto-Assets/numeraire.png
new file mode 100644
index 000000000..7808b1363
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/numeraire.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/okb.png b/Projects/Foundations/Icons/Crypto-Assets/okb.png
new file mode 100644
index 000000000..c3b4af52a
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/okb.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/omni.png b/Projects/Foundations/Icons/Crypto-Assets/omni.png
new file mode 100644
index 000000000..1658f2a13
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/omni.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ontology-gas.png b/Projects/Foundations/Icons/Crypto-Assets/ontology-gas.png
new file mode 100644
index 000000000..2e08a0a0c
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ontology-gas.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ontology.png b/Projects/Foundations/Icons/Crypto-Assets/ontology.png
new file mode 100644
index 000000000..0d7573d27
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ontology.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/pax-gold.png b/Projects/Foundations/Icons/Crypto-Assets/pax-gold.png
new file mode 100644
index 000000000..7c1bde2f5
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/pax-gold.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/quant.png b/Projects/Foundations/Icons/Crypto-Assets/quant.png
new file mode 100644
index 000000000..33cb27552
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/quant.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/ren.png b/Projects/Foundations/Icons/Crypto-Assets/ren.png
new file mode 100644
index 000000000..d7358663b
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/ren.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/revain.png b/Projects/Foundations/Icons/Crypto-Assets/revain.png
new file mode 100644
index 000000000..40f935664
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/revain.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/safemoon.png b/Projects/Foundations/Icons/Crypto-Assets/safemoon.png
new file mode 100644
index 000000000..55dfec758
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/safemoon.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/skale-network.png b/Projects/Foundations/Icons/Crypto-Assets/skale-network.png
new file mode 100644
index 000000000..ee3800c7b
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/skale-network.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/stacks.png b/Projects/Foundations/Icons/Crypto-Assets/stacks.png
new file mode 100644
index 000000000..a1b5232d3
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/stacks.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/status.png b/Projects/Foundations/Icons/Crypto-Assets/status.png
new file mode 100644
index 000000000..a8d030f69
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/status.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/storj.png b/Projects/Foundations/Icons/Crypto-Assets/storj.png
new file mode 100644
index 000000000..e68622365
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/storj.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/superalgos.png b/Projects/Foundations/Icons/Crypto-Assets/superalgos.png
new file mode 100644
index 000000000..09f10cc42
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/superalgos.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/swissborg.png b/Projects/Foundations/Icons/Crypto-Assets/swissborg.png
new file mode 100644
index 000000000..cb9724260
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/swissborg.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/synthetix.png b/Projects/Foundations/Icons/Crypto-Assets/synthetix.png
new file mode 100644
index 000000000..5803da4c4
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/synthetix.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/telcoin.png b/Projects/Foundations/Icons/Crypto-Assets/telcoin.png
new file mode 100644
index 000000000..b2df9c57e
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/telcoin.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/the-sandbox.png b/Projects/Foundations/Icons/Crypto-Assets/the-sandbox.png
new file mode 100644
index 000000000..0371ea831
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/the-sandbox.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/uma.png b/Projects/Foundations/Icons/Crypto-Assets/uma.png
new file mode 100644
index 000000000..7f306c4dc
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/uma.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/unus-sed-leo.png b/Projects/Foundations/Icons/Crypto-Assets/unus-sed-leo.png
new file mode 100644
index 000000000..ebffe93da
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/unus-sed-leo.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/verge.png b/Projects/Foundations/Icons/Crypto-Assets/verge.png
new file mode 100644
index 000000000..530e337b5
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/verge.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/vethor-token.png b/Projects/Foundations/Icons/Crypto-Assets/vethor-token.png
new file mode 100644
index 000000000..d34f9d6aa
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/vethor-token.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Assets/xtz.png b/Projects/Foundations/Icons/Crypto-Assets/xtz.png
new file mode 100644
index 000000000..71d763452
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Assets/xtz.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/bitflyer.png b/Projects/Foundations/Icons/Crypto-Exchanges/bitflyer.png
new file mode 100644
index 000000000..28d8af228
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/bitflyer.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/bithumb.png b/Projects/Foundations/Icons/Crypto-Exchanges/bithumb.png
new file mode 100644
index 000000000..4061b415f
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/bithumb.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/bitmart.png b/Projects/Foundations/Icons/Crypto-Exchanges/bitmart.png
new file mode 100644
index 000000000..37b5be550
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/bitmart.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/bitstamp.png b/Projects/Foundations/Icons/Crypto-Exchanges/bitstamp.png
new file mode 100644
index 000000000..3b3cf426e
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/bitstamp.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/bybit.png b/Projects/Foundations/Icons/Crypto-Exchanges/bybit.png
new file mode 100644
index 000000000..a29d9e84f
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/bybit.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/coinbaseprime.png b/Projects/Foundations/Icons/Crypto-Exchanges/coinbaseprime.png
new file mode 100644
index 000000000..cc0c43ba2
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/coinbaseprime.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/coinone.png b/Projects/Foundations/Icons/Crypto-Exchanges/coinone.png
new file mode 100644
index 000000000..16ea74345
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/coinone.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/gateio.png b/Projects/Foundations/Icons/Crypto-Exchanges/gateio.png
new file mode 100644
index 000000000..14d156652
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/gateio.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/huobi.png b/Projects/Foundations/Icons/Crypto-Exchanges/huobi.png
new file mode 100644
index 000000000..6255da97a
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/huobi.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/idex.png b/Projects/Foundations/Icons/Crypto-Exchanges/idex.png
new file mode 100644
index 000000000..a871d1561
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/idex.png differ
diff --git a/Projects/Foundations/Icons/Crypto-Exchanges/zb.png b/Projects/Foundations/Icons/Crypto-Exchanges/zb.png
new file mode 100644
index 000000000..15aed8cf4
Binary files /dev/null and b/Projects/Foundations/Icons/Crypto-Exchanges/zb.png differ
diff --git a/Projects/Foundations/Schemas/App-Schema/asset.json b/Projects/Foundations/Schemas/App-Schema/asset.json
index a7f38300c..4b1b1c1f9 100644
--- a/Projects/Foundations/Schemas/App-Schema/asset.json
+++ b/Projects/Foundations/Schemas/App-Schema/asset.json
@@ -1,161 +1,589 @@
-{
- "type": "Asset",
- "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"
- }
- ],
- "isTitleAllwaysVisible": true,
- "addLeftIcons": true,
- "level": 4,
- "editors": {
- "config": true
- },
- "initialValues": {
- "config": "{ \n\"codeName\": \"Type_the_code_name_of_the_asset\"\n}"
- },
- "attachingRules": {
- "compatibleTypes": "->Exchange Assets->"
- },
- "propertyNameAtParent": "assets",
- "alternativeIcons": [
- {
- "codeName": "ADA",
- "iconName": "cardano"
- },
- {
- "codeName": "BCH",
- "iconName": "bitcoin-cash"
- },
- {
- "codeName": "BNB",
- "iconName": "binance-coin"
- },
- {
- "codeName": "BTC",
- "iconName": "bitcoin"
- },
- {
- "codeName": "BUSD",
- "iconName": "binance-usd"
- },
- {
- "codeName": "CAKE",
- "iconName": "cake"
- },
- {
- "codeName": "DAI",
- "iconName": "dai"
- },
- {
- "codeName": "DASH",
- "iconName": "dash"
- },
- {
- "codeName": "DOGE",
- "iconName": "dogecoin"
- },
- {
- "codeName": "DOT",
- "iconName": "polkadot"
- },
- {
- "codeName": "EOS",
- "iconName": "eos"
- },
- {
- "codeName": "ETC",
- "iconName": "ethereum-classic"
- },
- {
- "codeName": "ETH",
- "iconName": "ethereum"
- },
- {
- "codeName": "EUR",
- "iconName": "euro"
- },
- {
- "codeName": "LINK",
- "iconName": "chainlink"
- },
- {
- "codeName": "LTC",
- "iconName": "litecoin"
- },
- {
- "codeName": "NANO",
- "iconName": "nano"
- },
- {
- "codeName": "NEO",
- "iconName": "neo"
- },
- {
- "codeName": "QTUM",
- "iconName": "qtum"
- },
- {
- "codeName": "SOL",
- "iconName": "solana"
- },
- {
- "codeName": "SXP",
- "iconName": "swipe"
- },
- {
- "codeName": "TRX",
- "iconName": "tron"
- },
- {
- "codeName": "XMR",
- "iconName": "monero"
- },
- {
- "codeName": "UNI",
- "iconName": "uniswap"
- },
- {
- "codeName": "USD",
- "iconName": "us-dollar"
- },
- {
- "codeName": "USDC",
- "iconName": "usdc"
- },
- {
- "codeName": "USDT",
- "iconName": "tether"
- },
- {
- "codeName": "VET",
- "iconName": "vechain"
- },
- {
- "codeName": "XLM",
- "iconName": "stellar"
- },
- {
- "codeName": "XRP",
- "iconName": "xrp"
- },
- {
- "codeName": "ZAR",
- "iconName": "zar"
- }
- ]
-}
+{
+ "type": "Asset",
+ "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"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "addLeftIcons": true,
+ "level": 4,
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{ \n\"codeName\": \"Type_the_code_name_of_the_asset\"\n}"
+ },
+ "attachingRules": {
+ "compatibleTypes": "->Exchange Assets->"
+ },
+ "propertyNameAtParent": "assets",
+ "alternativeIcons": [
+ {
+ "codeName": "ADA",
+ "iconName": "cardano"
+ },
+ {
+ "codeName": "BCH",
+ "iconName": "bitcoin-cash"
+ },
+ {
+ "codeName": "BNB",
+ "iconName": "binance-coin"
+ },
+ {
+ "codeName": "BTC",
+ "iconName": "bitcoin"
+ },
+ {
+ "codeName": "BUSD",
+ "iconName": "binance-usd"
+ },
+ {
+ "codeName": "CAKE",
+ "iconName": "cake"
+ },
+ {
+ "codeName": "DAI",
+ "iconName": "dai"
+ },
+ {
+ "codeName": "DASH",
+ "iconName": "dash"
+ },
+ {
+ "codeName": "DOGE",
+ "iconName": "dogecoin"
+ },
+ {
+ "codeName": "DOT",
+ "iconName": "polkadot"
+ },
+ {
+ "codeName": "EOS",
+ "iconName": "eos"
+ },
+ {
+ "codeName": "ETC",
+ "iconName": "ethereum-classic"
+ },
+ {
+ "codeName": "ETH",
+ "iconName": "ethereum"
+ },
+ {
+ "codeName": "EUR",
+ "iconName": "euro"
+ },
+ {
+ "codeName": "LINK",
+ "iconName": "chainlink"
+ },
+ {
+ "codeName": "LTC",
+ "iconName": "litecoin"
+ },
+ {
+ "codeName": "NANO",
+ "iconName": "nano"
+ },
+ {
+ "codeName": "NEO",
+ "iconName": "neo"
+ },
+ {
+ "codeName": "QTUM",
+ "iconName": "qtum"
+ },
+ {
+ "codeName": "SOL",
+ "iconName": "solana"
+ },
+ {
+ "codeName": "SXP",
+ "iconName": "swipe"
+ },
+ {
+ "codeName": "TRX",
+ "iconName": "tron"
+ },
+ {
+ "codeName": "XMR",
+ "iconName": "monero"
+ },
+ {
+ "codeName": "UNI",
+ "iconName": "uniswap"
+ },
+ {
+ "codeName": "USD",
+ "iconName": "us-dollar"
+ },
+ {
+ "codeName": "USDC",
+ "iconName": "usdc"
+ },
+ {
+ "codeName": "USDT",
+ "iconName": "tether"
+ },
+ {
+ "codeName": "VET",
+ "iconName": "vechain"
+ },
+ {
+ "codeName": "XLM",
+ "iconName": "stellar"
+ },
+ {
+ "codeName": "XRP",
+ "iconName": "xrp"
+ },
+ {
+ "codeName": "ZAR",
+ "iconName": "zar"
+ },
+ {
+ "codeName": "SA",
+ "iconName": "superalgos"
+ },
+ {
+ "codeName": "AAVE",
+ "iconName": "aave"
+ },
+ {
+ "codeName": "ALGO",
+ "iconName": "algorand"
+ },
+ {
+ "codeName": "AVAX",
+ "iconName": "avalanche"
+ },
+ {
+ "codeName": "AXS",
+ "iconName": "axie-infinity"
+ },
+ {
+ "codeName": "BAND",
+ "iconName": "band-protocol"
+ },
+ {
+ "codeName": "BAT",
+ "iconName": "basic-attention-token"
+ },
+ {
+ "codeName": "BCD",
+ "iconName": "bitcoin-diamond"
+ },
+ {
+ "codeName": "BTG",
+ "iconName": "bitcoin-gold"
+ },
+ {
+ "codeName": "BTCP",
+ "iconName": "bitcoin-private"
+ },
+ {
+ "codeName": "BSV" ,
+ "iconName": "bitcoin-sv"
+ },
+ {
+ "codeName": "BTCZ",
+ "iconName": "bitcoinz"
+ },
+ {
+ "codeName": "BTT",
+ "iconName": "bittorrent"
+ },
+ {
+ "codeName": "ATOM",
+ "iconName": "cosmos"
+ },
+ {
+ "codeName": "CEL",
+ "iconName": "celsius"
+ },
+ {
+ "codeName": "CRV",
+ "iconName": "curve-dao-token"
+ },
+ {
+ "codeName": "DAI",
+ "iconName": "dai"
+ },
+ {
+ "codeName": "DENT",
+ "iconName": "dent"
+ },
+ {
+ "codeName": "XEC",
+ "iconName": "ecash"
+ },
+ {
+ "codeName": "EGLD",
+ "iconName": "elrond"
+ },
+ {
+ "codeName": "FTM",
+ "iconName": "fantom"
+ },
+ {
+ "codeName": "FIL",
+ "iconName": "filecoin"
+ },
+ {
+ "codeName": "FTT",
+ "iconName": "ftx-token"
+ },
+ {
+ "codeName": "GBP",
+ "iconName": "gbp"
+ },
+ {
+ "codeName": "ONE",
+ "iconName": "harmony"
+ },
+ {
+ "codeName": "HBAR",
+ "iconName": "hedera-hashgraph"
+ },
+ {
+ "codeName": "HOT",
+ "iconName": "holo"
+ },
+ {
+ "codeName": "HT",
+ "iconName": "huobi-token"
+ },
+ {
+ "codeName": "ICX",
+ "iconName": "icon"
+ },
+ {
+ "codeName": "ICP",
+ "iconName": "internet-computer"
+ },
+ {
+ "codeName": "MIOTA",
+ "iconName": "iota"
+ },
+ {
+ "codeName": "KLAY",
+ "iconName": "klaytn"
+ },
+ {
+ "codeName": "KCS",
+ "iconName": "kucoin-token"
+ },
+ {
+ "codeName": "OMG",
+ "iconName": "omg-network"
+ },
+ {
+ "codeName": "OXT",
+ "iconName": "orchid"
+ },
+ {
+ "codeName": "CAKE",
+ "iconName": "pancakeswap"
+ },
+ {
+ "codeName": "MATIC",
+ "iconName": "polygon"
+ },
+ {
+ "codeName": "QNT",
+ "iconName": "quant"
+ },
+ {
+ "codeName": "REV",
+ "iconName": "revain"
+ },
+ {
+ "codeName": "RVN",
+ "iconName": "ravencoin"
+ },
+ {
+ "codeName": "SHIB",
+ "iconName": "shiba-inu"
+ },
+ {
+ "codeName": "SC",
+ "iconName": "siacoin"
+ },
+ {
+ "codeName": "SUSHI",
+ "iconName": "sushiswap"
+ },
+ {
+ "codeName": "LUNA",
+ "iconName": "terra"
+ },
+ {
+ "codeName": "XTZ",
+ "iconName": "tezos"
+ },
+ {
+ "codeName": "GRT",
+ "iconName": "the-graph"
+ },
+ {
+ "codeName": "THETA",
+ "iconName": "theta"
+ },
+ {
+ "codeName": "TUSD",
+ "iconName": "true-usd"
+ },
+ {
+ "codeName": "UNI",
+ "iconName": "uniswap"
+ },
+ {
+ "codeName": "USDC",
+ "iconName": "usd-coin"
+ },
+ {
+ "codeName": "VET",
+ "iconName": "vechain"
+ },
+ {
+ "codeName": "WAVES",
+ "iconName": "waves"
+ },
+ {
+ "codeName": "WBTC",
+ "iconName": "wrapped-bitcoin"
+ },
+ {
+ "codeName": "YFI",
+ "iconName": "yearn-finance"
+ },
+ {
+ "codeName": "ZEC",
+ "iconName": "zcash"
+ },
+ {
+ "codeName": "ZIL",
+ "iconName": "zilliqa"
+ },
+ {
+ "codeName": "ZRX",
+ "iconName": "0x"
+ },
+ {
+ "codeName": "ELF",
+ "iconName": "aelf"
+ },
+ {
+ "codeName": "AEON",
+ "iconName": "aeon"
+ },
+ {
+ "codeName": "AMP",
+ "iconName": "amp"
+ },
+ {
+ "codeName": "ANKR",
+ "iconName": "ankr"
+ },
+ {
+ "codeName": "DEX",
+ "iconName": "ardor"
+ },
+ {
+ "codeName": "ARK",
+ "iconName": "ark"
+ },
+ {
+ "codeName": "REP",
+ "iconName": "augur"
+ },
+ {
+ "codeName": "BNT",
+ "iconName": "bancor"
+ },
+ {
+ "codeName": "CVC",
+ "iconName": "civic"
+ },
+ {
+ "codeName": "COMP",
+ "iconName": "compound"
+ },
+ {
+ "codeName": "MANA",
+ "iconName": "decentraland"
+ },
+ {
+ "codeName": "DCR",
+ "iconName": "decred"
+ },
+ {
+ "codeName": "DGB",
+ "iconName": "digibyte"
+ },
+ {
+ "codeName": "ENJ",
+ "iconName": "enjin-coin"
+ },
+ {
+ "codeName": "GNO",
+ "iconName": "gnosis"
+ },
+ {
+ "codeName": "ZEN",
+ "iconName": "horizen"
+ },
+ {
+ "codeName": "HUSD",
+ "iconName": "husd"
+ },
+ {
+ "codeName": "RLC",
+ "iconName": "iexec-rlc"
+ },
+ {
+ "codeName": "IOST",
+ "iconName": "iost"
+ },
+ {
+ "codeName": "IOTX",
+ "iconName": "iotex"
+ },
+ {
+ "codeName": "KSM",
+ "iconName": "kusama"
+ },
+ {
+ "codeName": "LSK",
+ "iconName": "lisk"
+ },
+ {
+ "codeName": "LPT",
+ "iconName": "livepeer"
+ },
+ {
+ "codeName": "LRC",
+ "iconName": "loopring"
+ },
+ {
+ "codeName": "MKR",
+ "iconName": "maker"
+ },
+ {
+ "codeName": "MED",
+ "iconName": "medibloc"
+ },
+ {
+ "codeName": "XEM",
+ "iconName": "nem"
+ },
+ {
+ "codeName": "NEXO",
+ "iconName": "nexo"
+ },
+ {
+ "codeName": "NKN",
+ "iconName": "nkn"
+ },
+ {
+ "codeName": "NMR",
+ "iconName": "numeraire"
+ },
+ {
+ "codeName": "OKB",
+ "iconName": "okb"
+ },
+ {
+ "codeName": "OMNI",
+ "iconName": "omni"
+ },
+ {
+ "codeName": "ONG",
+ "iconName": "ontology-gas"
+ },
+ {
+ "codeName": "ONT",
+ "iconName": "ontology"
+ },
+ {
+ "codeName": "NEAR",
+ "iconName": "near-protocol"
+ },
+ {
+ "codeName": "PAXG",
+ "iconName": "pax-gold"
+ },
+ {
+ "codeName": "REN",
+ "iconName": "ren"
+ },
+ {
+ "codeName": "SAFEMOON",
+ "iconName": "safemoon"
+ },
+ {
+ "codeName": "SKL",
+ "iconName": "skale-network"
+ },
+ {
+ "codeName": "STX",
+ "iconName": "stacks"
+ },
+ {
+ "codeName": "SNT",
+ "iconName": "status"
+ },
+ {
+ "codeName": "STORJ",
+ "iconName": "storj"
+ },
+ {
+ "codeName": "CHSB",
+ "iconName": "swissborg"
+ },
+ {
+ "codeName": "SNX",
+ "iconName": "synthetix"
+ },
+ {
+ "codeName": "TEL",
+ "iconName": "telcoin"
+ },
+ {
+ "codeName": "SAND",
+ "iconName": "the-sandbox"
+ },
+ {
+ "codeName": "UMA",
+ "iconName": "uma"
+ },
+ {
+ "codeName": "LEO",
+ "iconName": "unus-sed-leo"
+ },
+ {
+ "codeName": "XVG",
+ "iconName": "verge"
+ },
+ {
+ "codeName": "VTHO",
+ "iconName": "vethor-token"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json b/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json
index eafe79111..9a86efdde 100644
--- a/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json
+++ b/Projects/Foundations/Schemas/App-Schema/crypto-exchange.json
@@ -1,155 +1,211 @@
-{
- "type": "Crypto Exchange",
- "menuItems": [
- {
- "action": "Configure Thise",
- "actionFunction": "uiObject.configEditor.activate",
- "label": "Configure",
- "iconPathOn": "configuration",
- "iconPathOff": "configuration"
- },
- {
- "action": "Add UI Object",
- "disableIfPropertyIsDefined": true,
- "propertyToCheckFor": "exchangeAssets",
- "label": "Add Exchange Assets",
- "relatedUiObject": "Exchange Assets",
- "actionFunction": "payload.executeAction",
- "actionProject": "Visual-Scripting",
- "relatedUiObjectProject": "Foundations"
- },
- {
- "action": "Add UI Object",
- "disableIfPropertyIsDefined": true,
- "propertyToCheckFor": "exchangeMarkets",
- "label": "Add Exchange Markets",
- "relatedUiObject": "Exchange Markets",
- "actionFunction": "payload.executeAction",
- "actionProject": "Visual-Scripting",
- "relatedUiObjectProject": "Foundations"
- },
- {
- "action": "Add UI Object",
- "disableIfPropertyIsDefined": true,
- "propertyToCheckFor": "exchangeAccounts",
- "label": "Add Exchange Accounts",
- "relatedUiObject": "Exchange Accounts",
- "actionFunction": "payload.executeAction",
- "actionProject": "Visual-Scripting",
- "relatedUiObjectProject": "Foundations"
- },
- {
- "action": "Delete UI Object",
- "actionProject": "Visual-Scripting",
- "askConfirmation": true,
- "confirmationLabel": "Confirm to Delete",
- "label": "Delete",
- "iconPathOn": "delete-entity",
- "iconPathOff": "delete-entity",
- "actionFunction": "payload.executeAction"
- }
- ],
- "isTitleAllwaysVisible": true,
- "addLeftIcons": true,
- "level": 2,
- "editors": {
- "config": true
- },
- "initialValues": {
- "config": "{ \n\"codeName\": \"Type the name of the exchange\",\n \n\"sandBox\": \"false\"\n}"
- },
- "attachingRules": {
- "compatibleTypes": "->Crypto Exchanges->"
- },
- "propertyNameAtParent": "exchanges",
- "childrenNodesProperties": [
- {
- "name": "exchangeAssets",
- "type": "node",
- "childType": "Exchange Assets",
- "autoAdd": true
- },
- {
- "name": "exchangeMarkets",
- "type": "node",
- "childType": "Exchange Markets",
- "autoAdd": true
- },
- {
- "name": "exchangeAccounts",
- "type": "node",
- "childType": "Exchange Accounts",
- "autoAdd": true
- }
- ],
- "alternativeIcons": [
- {
- "codeName": "binance",
- "iconName": "binance"
- },
- {
- "codeName": "binanceus",
- "iconName": "binanceus"
- },
- {
- "codeName": "bitfinex",
- "iconName": "bitfinex"
- },
- {
- "codeName": "bitmex",
- "iconName": "bitmex"
- },
- {
- "codeName": "bittrex",
- "iconName": "bittrex"
- },
- {
- "codeName": "coinbasepro",
- "iconName": "coinbasepro"
- },
- {
- "codeName": "ftx",
- "iconName": "ftx"
- },
- {
- "codeName": "hitbtc",
- "iconName": "hitbtc"
- },
- {
- "codeName": "kraken",
- "iconName": "kraken"
- },
- {
- "codeName": "kucoin",
- "iconName": "kucoin"
- },
- {
- "codeName": "liquid",
- "iconName": "liquid"
- },
- {
- "codeName": "luno",
- "iconName": "luno"
- },
- {
- "codeName": "lykke",
- "iconName": "lykke"
- },
- {
- "codeName": "okex",
- "iconName": "okex"
- },
- {
- "codeName": "okex5",
- "iconName": "okex"
- },
- {
- "codeName": "poloniex",
- "iconName": "poloniex"
- },
- {
- "codeName": "upbit",
- "iconName": "upbit"
- }
- ]
+{
+ "type": "Crypto Exchange",
+ "menuItems": [
+ {
+ "action": "Configure Thise",
+ "actionFunction": "uiObject.configEditor.activate",
+ "label": "Configure",
+ "iconPathOn": "configuration",
+ "iconPathOff": "configuration"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "exchangeAssets",
+ "label": "Add Exchange Assets",
+ "relatedUiObject": "Exchange Assets",
+ "actionFunction": "payload.executeAction",
+ "actionProject": "Visual-Scripting",
+ "relatedUiObjectProject": "Foundations"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "exchangeMarkets",
+ "label": "Add Exchange Markets",
+ "relatedUiObject": "Exchange Markets",
+ "actionFunction": "payload.executeAction",
+ "actionProject": "Visual-Scripting",
+ "relatedUiObjectProject": "Foundations"
+ },
+ {
+ "action": "Add UI Object",
+ "disableIfPropertyIsDefined": true,
+ "propertyToCheckFor": "exchangeAccounts",
+ "label": "Add Exchange Accounts",
+ "relatedUiObject": "Exchange Accounts",
+ "actionFunction": "payload.executeAction",
+ "actionProject": "Visual-Scripting",
+ "relatedUiObjectProject": "Foundations"
+ },
+ {
+ "action": "Delete UI Object",
+ "actionProject": "Visual-Scripting",
+ "askConfirmation": true,
+ "confirmationLabel": "Confirm to Delete",
+ "label": "Delete",
+ "iconPathOn": "delete-entity",
+ "iconPathOff": "delete-entity",
+ "actionFunction": "payload.executeAction"
+ }
+ ],
+ "isTitleAllwaysVisible": true,
+ "addLeftIcons": true,
+ "level": 2,
+ "editors": {
+ "config": true
+ },
+ "initialValues": {
+ "config": "{ \n\"codeName\": \"Type the name of the exchange\",\n \n\"sandBox\": \"false\"\n}"
+ },
+ "attachingRules": {
+ "compatibleTypes": "->Crypto Exchanges->"
+ },
+ "propertyNameAtParent": "exchanges",
+ "childrenNodesProperties": [
+ {
+ "name": "exchangeAssets",
+ "type": "node",
+ "childType": "Exchange Assets",
+ "autoAdd": true
+ },
+ {
+ "name": "exchangeMarkets",
+ "type": "node",
+ "childType": "Exchange Markets",
+ "autoAdd": true
+ },
+ {
+ "name": "exchangeAccounts",
+ "type": "node",
+ "childType": "Exchange Accounts",
+ "autoAdd": true
+ }
+ ],
+ "alternativeIcons": [
+ {
+ "codeName": "binance",
+ "iconName": "binance"
+ },
+ {
+ "codeName": "binanceus",
+ "iconName": "binanceus"
+ },
+ {
+ "codeName": "binanceusdm",
+ "iconName": "binance"
+ },
+ {
+ "codeName": "binancecoinm",
+ "iconName": "binance"
+ },
+ {
+ "codeName": "bitfinex",
+ "iconName": "bitfinex"
+ },
+ {
+ "codeName": "bitflyer",
+ "iconName": "bitflyer"
+ },
+ {
+ "codeName": "bithumb",
+ "iconName": "bithumb"
+ },
+ {
+ "codeName": "bitmart",
+ "iconName": "bitmart"
+ },
+ {
+ "codeName": "bittrex",
+ "iconName": "bittrex"
+ },
+ {
+ "codeName": "bitstamp",
+ "iconName": "bitstamp"
+ },
+ {
+ "codeName": "bybit",
+ "iconName": "bybit"
+ },
+ {
+ "codeName": "coinbasepro",
+ "iconName": "coinbasepro"
+ },
+ {
+ "codeName": "coinbaseprime",
+ "iconName": "coinbaseprime"
+ },
+ {
+ "codeName": "coinone",
+ "iconName": "coinone"
+ },
+ {
+ "codeName": "ftx",
+ "iconName": "ftx"
+ },
+ {
+ "codeName": "gateio",
+ "iconName": "gateio"
+ },
+ {
+ "codeName": "hitbtc",
+ "iconName": "hitbtc"
+ },
+ {
+ "codeName": "huobi",
+ "iconName": "huobi"
+ },
+ {
+ "codeName": "huobijp",
+ "iconName": "huobi"
+ },
+ {
+ "codeName": "huobipro",
+ "iconName": "huobi"
+ },
+ {
+ "codeName": "idex",
+ "iconName": "idex"
+ },
+ {
+ "codeName": "kraken",
+ "iconName": "kraken"
+ },
+ {
+ "codeName": "kucoin",
+ "iconName": "kucoin"
+ },
+ {
+ "codeName": "liquid",
+ "iconName": "liquid"
+ },
+ {
+ "codeName": "luno",
+ "iconName": "luno"
+ },
+ {
+ "codeName": "lykke",
+ "iconName": "lykke"
+ },
+ {
+ "codeName": "okex",
+ "iconName": "okex"
+ },
+ {
+ "codeName": "okex5",
+ "iconName": "okex"
+ },
+ {
+ "codeName": "poloniex",
+ "iconName": "poloniex"
+ },
+ {
+ "codeName": "upbit",
+ "iconName": "upbit"
+ },
+ {
+ "codeName": "zp",
+ "iconName": "zp"
+ }
+ ]
}
\ No newline at end of file
diff --git a/Projects/Governance/Icons/Programs/liquidity-programs.png b/Projects/Governance/Icons/Programs/liquidity-programs.png
new file mode 100644
index 000000000..c4998af5e
Binary files /dev/null and b/Projects/Governance/Icons/Programs/liquidity-programs.png differ
diff --git a/Projects/Governance/Plugins/Pools/Superalgos.json b/Projects/Governance/Plugins/Pools/Superalgos.json
index 4d9dfa541..89861b27c 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
diff --git a/Projects/Governance/Plugins/Positions/Superalgos.json b/Projects/Governance/Plugins/Positions/Superalgos.json
index 09f4a02a8..9ed80225a 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": 21874.39317393575,
- "y": 44873.02143806756
+ "x": 21375.89602631704,
+ "y": 44553.435431794605
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "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": 21989.756643291705,
- "y": 44892.844507611066
+ "x": 21450.745042800678,
+ "y": 44463.439271435396
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "x": 21639.54116011563,
+ "y": 44696.583059872486
},
"floatingObject": {
"isPinned": false,
@@ -368,12 +368,12 @@
"id": "ffe4621a-a216-412f-a9be-354f30f6d102",
"savedPayload": {
"position": {
- "x": 22088.752631136238,
- "y": 44955.30632425654
+ "x": 21554.336556704453,
+ "y": 44408.93713941203
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "x": 21639.54116011563,
+ "y": 44696.583059872486
},
"floatingObject": {
"isPinned": false,
@@ -489,12 +489,12 @@
"id": "96e5c443-f932-47e4-9e5d-48e986dcc637",
"savedPayload": {
"position": {
- "x": 22156.309895720893,
- "y": 45050.89764263749
+ "x": 21670.899699095928,
+ "y": 44398.226491262
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "x": 21639.54116011563,
+ "y": 44696.583059872486
},
"floatingObject": {
"isPinned": false,
@@ -610,12 +610,12 @@
"id": "a0f8d421-8864-44ac-8922-5d13176abb54",
"savedPayload": {
"position": {
- "x": 22182.14345592078,
- "y": 45165.06555106787
+ "x": 21782.688788193514,
+ "y": 44432.93792607389
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "x": 21639.54116011563,
+ "y": 44696.583059872486
},
"floatingObject": {
"isPinned": false,
@@ -731,12 +731,12 @@
"id": "39e7f6fd-1faa-47e9-862d-45a8482a558a",
"savedPayload": {
"position": {
- "x": 22162.320386377272,
- "y": 45280.42902042382
+ "x": 21872.68494855272,
+ "y": 44507.78694255753
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "x": 21639.54116011563,
+ "y": 44696.583059872486
},
"floatingObject": {
"isPinned": false,
@@ -852,12 +852,12 @@
"id": "0a5a7864-efff-4715-a435-f4bf35d1517e",
"savedPayload": {
"position": {
- "x": 22099.858569731798,
- "y": 45379.42500826836
+ "x": 21927.18708057609,
+ "y": 44611.37845646131
},
"targetPosition": {
- "x": 21882.246258428113,
- "y": 45172.91863556023
+ "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
@@ -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,
@@ -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,
@@ -1550,17 +1550,17 @@
"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,
"isFrozen": false,
- "isCollapsed": true,
+ "isCollapsed": false,
"angleToParent": 2,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -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,
@@ -1729,7 +1729,7 @@
"floatingObject": {
"isPinned": false,
"isFrozen": false,
- "isCollapsed": true,
+ "isCollapsed": false,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -2911,7 +2911,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..9a85a4ee1 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": 37976.33557568774,
- "y": 18557.294901687517
+ "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": 38085.31695488855,
- "y": 18707.294901687517
+ "x": 33893.14095446867,
+ "y": 18650
},
"targetPosition": {
- "x": 37800,
+ "x": 33633.333333333336,
"y": 18800
},
"floatingObject": {
@@ -565,12 +565,12 @@
"id": "2571cea1-2b6d-40f5-9331-8786bf57c184",
"savedPayload": {
"position": {
- "x": 38901.29354317829,
- "y": 18645.29319603238
+ "x": 34632.91870235539,
+ "y": 18312.54666533391
},
"targetPosition": {
- "x": 38678.35009553507,
- "y": 18846.03237794004
+ "x": 34482.91870235539,
+ "y": 18572.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -624,15 +624,15 @@
"name": "Referrals Rewards Pool",
"config": "{}",
"project": "Governance",
- "id": "e282a967-cfe8-49c3-abaa-26ca24204d68",
+ "id": "01022de6-da20-4520-a905-1d20e7c27d37",
"savedPayload": {
"position": {
- "x": 39009.69942836366,
- "y": 18060.387380717464
+ "x": 34463.17082771728,
+ "y": 17902.739044198577
},
"targetPosition": {
- "x": 39295.01638325221,
- "y": 18153.092479029947
+ "x": 34752.948575604,
+ "y": 17825.09333066782
},
"floatingObject": {
"isPinned": false,
@@ -689,15 +689,15 @@
"name": "Referrals Bonus Pool",
"config": "{}",
"project": "Governance",
- "id": "a4566415-80fe-49f4-a7dc-4aac4bd8410a",
+ "id": "24ec355d-10dd-495c-841b-2dd0e419a419",
"savedPayload": {
"position": {
- "x": 39232.64287600688,
- "y": 17859.648198809806
+ "x": 34540.81654124804,
+ "y": 17612.961296311856
},
"targetPosition": {
- "x": 39295.01638325221,
- "y": 18153.092479029947
+ "x": 34752.948575604,
+ "y": 17825.09333066782
},
"floatingObject": {
"isPinned": false,
@@ -753,15 +753,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "8da6770a-27ec-4b6b-93af-0dc7d0667fc4",
+ "id": "86e93255-4991-4533-a0bf-44bcd8734175",
"savedPayload": {
"position": {
- "x": 39295.01638325221,
- "y": 18153.092479029947
+ "x": 34752.948575604,
+ "y": 17825.09333066782
},
"targetPosition": {
- "x": 39495.75556515987,
- "y": 18376.035926673165
+ "x": 35042.72632349072,
+ "y": 17902.739044198577
},
"floatingObject": {
"isPinned": false,
@@ -819,15 +819,15 @@
"name": "Support Rewards Pool",
"config": "{}",
"project": "Governance",
- "id": "ab430be0-696d-4325-9dc9-bbe166d2193c",
+ "id": "8d25ea13-8256-4d27-a03a-6bf9d78a5025",
"savedPayload": {
"position": {
- "x": 39375.25920211089,
- "y": 17809.145108990284
+ "x": 34632.91870235539,
+ "y": 17492.931423063244
},
"targetPosition": {
- "x": 39511.45635203275,
- "y": 18076.447066246794
+ "x": 34892.72632349072,
+ "y": 17642.931423063244
},
"floatingObject": {
"isPinned": false,
@@ -884,15 +884,15 @@
"name": "Support Bonus Pool",
"config": "{}",
"project": "Governance",
- "id": "4fe57296-a7c3-47d2-a6b1-721495aea6dd",
+ "id": "722f1936-8bb9-4c37-b96f-1826f7fab2d8",
"savedPayload": {
"position": {
- "x": 39674.84806253726,
- "y": 17824.845895863167
+ "x": 34892.72632349072,
+ "y": 17342.931423063244
},
"targetPosition": {
- "x": 39511.45635203275,
- "y": 18076.447066246794
+ "x": 34892.72632349072,
+ "y": 17642.931423063244
},
"floatingObject": {
"isPinned": false,
@@ -948,15 +948,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "23feb1dc-3a4a-49a2-9392-d9ba84abd3fd",
+ "id": "9d3fea6d-482e-412a-aa56-9f0b12eb9625",
"savedPayload": {
"position": {
- "x": 39511.45635203275,
- "y": 18076.447066246794
+ "x": 34892.72632349072,
+ "y": 17642.931423063244
},
"targetPosition": {
- "x": 39495.75556515987,
- "y": 18376.035926673165
+ "x": 35042.72632349072,
+ "y": 17902.739044198577
},
"floatingObject": {
"isPinned": false,
@@ -1014,15 +1014,15 @@
"name": "Mentorship Rewards Pool",
"config": "{}",
"project": "Governance",
- "id": "37005931-aa7b-460e-9aed-5fcf0152b01e",
+ "id": "71d3c245-791f-4a6d-9773-eab5f4f16bab",
"savedPayload": {
"position": {
- "x": 39811.404111115575,
- "y": 17889.97978987696
+ "x": 35042.72632349072,
+ "y": 17323.183548425135
},
"targetPosition": {
- "x": 39718.69901280309,
- "y": 18175.296744765506
+ "x": 35120.37203702148,
+ "y": 17612.961296311856
},
"floatingObject": {
"isPinned": false,
@@ -1079,15 +1079,15 @@
"name": "Mentorship Bonus Pool",
"config": "{}",
"project": "Governance",
- "id": "25967c06-52be-435d-b10e-39ad71a72a47",
+ "id": "56912512-d7d2-4d80-ae87-dfc19ee568a4",
"savedPayload": {
"position": {
- "x": 40012.14329302323,
- "y": 18112.92323752018
+ "x": 35332.50407137744,
+ "y": 17400.829261955892
},
"targetPosition": {
- "x": 39718.69901280309,
- "y": 18175.296744765506
+ "x": 35120.37203702148,
+ "y": 17612.961296311856
},
"floatingObject": {
"isPinned": false,
@@ -1143,15 +1143,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "bbc2c486-eda3-483d-82c9-fac2f983592e",
+ "id": "f1621688-3b49-4ff9-8de5-56e82e1506ba",
"savedPayload": {
"position": {
- "x": 39718.69901280309,
- "y": 18175.296744765506
+ "x": 35120.37203702148,
+ "y": 17612.961296311856
},
"targetPosition": {
- "x": 39495.75556515987,
- "y": 18376.035926673165
+ "x": 35042.72632349072,
+ "y": 17902.739044198577
},
"floatingObject": {
"isPinned": false,
@@ -1202,15 +1202,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "8bcc99aa-7700-4f67-abc3-c9a52692878f",
+ "id": "88d90110-fe77-4bb9-a2d1-88ab86ca7a27",
"savedPayload": {
"position": {
- "x": 39495.75556515987,
- "y": 18376.035926673165
+ "x": 35042.72632349072,
+ "y": 17902.739044198577
},
"targetPosition": {
- "x": 39480.05477828698,
- "y": 18675.624787099536
+ "x": 35192.72632349072,
+ "y": 18162.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -1268,15 +1268,15 @@
"name": "Airdrop Rewards Pool",
"config": "{}",
"project": "Governance",
- "id": "07f5166e-a2b2-45dc-89b7-1850f09be2e1",
+ "id": "4fda5f11-2d53-4ef4-9828-3458cfa62d06",
"savedPayload": {
"position": {
- "x": 39888.40842255518,
- "y": 17904.251695414787
+ "x": 34892.72632349072,
+ "y": 17342.931423063244
},
"targetPosition": {
- "x": 39795.70332424269,
- "y": 18189.568650303332
+ "x": 35042.72632349072,
+ "y": 17602.739044198577
},
"floatingObject": {
"isPinned": false,
@@ -1332,15 +1332,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "884c3559-1bcf-441d-bc10-477919f38cf3",
+ "id": "1269d66b-fb70-4401-87a0-88c285edc0c6",
"savedPayload": {
"position": {
- "x": 39795.70332424269,
- "y": 18189.568650303332
+ "x": 35042.72632349072,
+ "y": 17602.739044198577
},
"targetPosition": {
- "x": 39702.998225930205,
- "y": 18474.885605191877
+ "x": 35192.72632349072,
+ "y": 17862.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -1398,15 +1398,15 @@
"name": "Github Rewards Pool",
"config": "{}",
"project": "Governance",
- "id": "8d43c1b9-0855-4fd9-9508-55b94175e264",
+ "id": "f3ddb474-39ba-4972-a0bb-da40d30ac5e0",
"savedPayload": {
"position": {
- "x": 40289.886786370495,
- "y": 18350.138590701223
+ "x": 35492.72632349072,
+ "y": 17342.931423063244
},
"targetPosition": {
- "x": 39996.44250615035,
- "y": 18412.51209794655
+ "x": 35342.72632349072,
+ "y": 17602.739044198577
},
"floatingObject": {
"isPinned": false,
@@ -1462,15 +1462,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "790046f1-e146-4d95-8e03-b15667281565",
+ "id": "7d0d57b2-f903-48f4-b66d-d5b7a32e2d2d",
"savedPayload": {
"position": {
- "x": 39996.44250615035,
- "y": 18412.51209794655
+ "x": 35342.72632349072,
+ "y": 17602.739044198577
},
"targetPosition": {
- "x": 39702.998225930205,
- "y": 18474.885605191877
+ "x": 35192.72632349072,
+ "y": 17862.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -1521,15 +1521,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "ea55b1a3-4bae-440b-ba59-3422d06dccd0",
+ "id": "5bde6126-a3d1-4683-ae57-08837a27fd71",
"savedPayload": {
"position": {
- "x": 39702.998225930205,
- "y": 18474.885605191877
+ "x": 35192.72632349072,
+ "y": 17862.54666533391
},
"targetPosition": {
- "x": 39480.05477828698,
- "y": 18675.624787099536
+ "x": 35192.72632349072,
+ "y": 18162.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -1571,74 +1571,10 @@
},
{
"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": 39943.03534921787,
- "y": 18439.724403588792
- },
- "targetPosition": {
- "x": 39779.64363871336,
- "y": 18691.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 +1587,15 @@
"name": "Voting Bonus Pool",
"config": "{}",
"project": "Governance",
- "id": "c122965e-2b37-46c4-9ddd-f605c0890ef0",
+ "id": "b259ed9e-b56d-4c7c-b68e-b2128a74be0e",
"savedPayload": {
"position": {
- "x": 40314.24755322638,
- "y": 18418.931274128692
+ "x": 35642.72632349072,
+ "y": 17383.12380192791
},
"targetPosition": {
- "x": 40046.94559596987,
- "y": 18555.128424050556
+ "x": 35492.72632349072,
+ "y": 17642.931423063244
},
"floatingObject": {
"isPinned": false,
@@ -1691,10 +1627,10 @@
"4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
],
[
- "Other Programs",
+ "Incentives for Voting",
"Pool Class",
"Governance",
- "64cda2cd-270e-4046-ac3f-5cf9188113c2"
+ "1f9590c2-e166-482c-8400-ba64e39f0934"
],
[
"Voting Program",
@@ -1715,15 +1651,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "fa38cfba-ad3c-49aa-9e37-c4aa56bf9f37",
+ "id": "42df1056-2063-4319-a437-ed9dabedd8e0",
"savedPayload": {
"position": {
- "x": 40046.94559596987,
- "y": 18555.128424050556
+ "x": 35492.72632349072,
+ "y": 17642.931423063244
},
"targetPosition": {
- "x": 39779.64363871336,
- "y": 18691.32557397242
+ "x": 35342.72632349072,
+ "y": 17902.739044198577
},
"floatingObject": {
"isPinned": false,
@@ -1755,10 +1691,10 @@
"4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
],
[
- "Other Programs",
+ "Incentives for Voting",
"Pool Class",
"Governance",
- "64cda2cd-270e-4046-ac3f-5cf9188113c2"
+ "1f9590c2-e166-482c-8400-ba64e39f0934"
],
[
"Voting Program",
@@ -1768,267 +1704,66 @@
]
]
}
+ }
+ ],
+ "poolWeightVotes": [],
+ "assetWeightVotes": [],
+ "featureWeightVotes": [],
+ "positionWeightVotes": [],
+ "id": "43cd7132-6a4d-4336-84fa-910e0763f7fd",
+ "savedPayload": {
+ "position": {
+ "x": 35342.72632349072,
+ "y": 17902.739044198577
},
- {
- "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": 40378.82135956611,
- "y": 18722.727147718186
- },
- "targetPosition": {
- "x": 40079.23249913973,
- "y": 18707.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": 35192.72632349072,
+ "y": 18162.54666533391
+ },
+ "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",
+ "Governance",
+ "6f0aed87-db13-4818-bfe6-68abc463ebec"
],
- "assetWeightVotes": [],
- "featureWeightVotes": [],
- "positionWeightVotes": [],
- "id": "6a758dd3-74cf-48af-a4cd-f080d0058d41",
- "savedPayload": {
- "position": {
- "x": 40079.23249913973,
- "y": 18707.026360845302
- },
- "targetPosition": {
- "x": 39779.64363871336,
- "y": 18691.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": 40282.84597948061,
- "y": 19018.108994981434
- },
- "targetPosition": {
- "x": 40031.244809096985,
- "y": 18854.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",
+ "Governance",
+ "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
],
- "assetWeightVotes": [],
- "featureWeightVotes": [],
- "positionWeightVotes": [],
- "id": "d1e0560b-80a2-407a-85c7-e84b0e2b164c",
- "savedPayload": {
- "position": {
- "x": 40031.244809096985,
- "y": 18854.717284476927
- },
- "targetPosition": {
- "x": 39779.64363871336,
- "y": 18691.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",
+ "Governance",
+ "1f9590c2-e166-482c-8400-ba64e39f0934"
+ ]
+ ]
+ }
+ },
+ {
+ "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 +1773,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": "50f24aa6-eaae-4cdb-a533-8d59fb32d078",
"savedPayload": {
"position": {
- "x": 40052.037938557085,
- "y": 19225.92948848544
+ "x": 35789.987279292145,
+ "y": 17572.76891744719
},
"targetPosition": {
- "x": 39915.84078863522,
- "y": 18958.62753122893
+ "x": 35712.34156576139,
+ "y": 17862.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -2064,7 +1799,7 @@
},
"referenceParent": {
"type": "Pool",
- "name": "Liquidity Rewards",
+ "name": "Liquidity Rewards BTCB",
"id": "a7651e92-ab96-49fc-af9c-f936682dd7a4"
},
"referenceParentCombinedNodePath": [
@@ -2081,10 +1816,10 @@
"4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
],
[
- "Other Programs",
+ "Incentives for Providing Liquidity to SA Markets",
"Pool Class",
"Governance",
- "64cda2cd-270e-4046-ac3f-5cf9188113c2"
+ "00bbb418-2315-4845-aa39-8362489a360b"
],
[
"Liquidity Program",
@@ -2093,27 +1828,157 @@
"477faa7a-da4f-4949-9439-a2475ed683de"
],
[
- "Liquidity Rewards",
+ "Liquidity Rewards BTCB",
"Pool",
"Governance",
"a7651e92-ab96-49fc-af9c-f936682dd7a4"
]
]
}
+ },
+ {
+ "type": "Pool Weight Vote",
+ "name": "Liquidity Rewards BNB Pool",
+ "config": "{}",
+ "project": "Governance",
+ "id": "e3171da9-e065-4fae-a556-0ad5aa6ae326",
+ "savedPayload": {
+ "position": {
+ "x": 35972.14918689672,
+ "y": 17712.54666533391
+ },
+ "targetPosition": {
+ "x": 35712.34156576139,
+ "y": 17862.54666533391
+ },
+ "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",
+ "6f0aed87-db13-4818-bfe6-68abc463ebec"
+ ],
+ [
+ "Governance Programs",
+ "Pool Class",
+ "Governance",
+ "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
+ ],
+ [
+ "Incentives for Providing Liquidity to SA Markets",
+ "Pool Class",
+ "Governance",
+ "00bbb418-2315-4845-aa39-8362489a360b"
+ ],
+ [
+ "Liquidity Program",
+ "Pool Class",
+ "Governance",
+ "477faa7a-da4f-4949-9439-a2475ed683de"
+ ],
+ [
+ "Liquidity Rewards BNB",
+ "Pool",
+ "Governance",
+ "e7c21a28-fea6-48cc-a97c-cc43470bb2fc"
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Pool Weight Vote",
+ "name": "Liquidity Rewards BUSD Pool",
+ "config": "{}",
+ "project": "Governance",
+ "id": "93248092-3b9b-4f2d-a931-a6812a03590e",
+ "savedPayload": {
+ "position": {
+ "x": 36002.11931364811,
+ "y": 17940.192378864667
+ },
+ "targetPosition": {
+ "x": 35712.34156576139,
+ "y": 17862.54666533391
+ },
+ "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",
+ "6f0aed87-db13-4818-bfe6-68abc463ebec"
+ ],
+ [
+ "Governance Programs",
+ "Pool Class",
+ "Governance",
+ "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
+ ],
+ [
+ "Incentives for Providing Liquidity to SA Markets",
+ "Pool Class",
+ "Governance",
+ "00bbb418-2315-4845-aa39-8362489a360b"
+ ],
+ [
+ "Liquidity Program",
+ "Pool Class",
+ "Governance",
+ "477faa7a-da4f-4949-9439-a2475ed683de"
+ ],
+ [
+ "Liquidity Rewards BUSD",
+ "Pool",
+ "Governance",
+ "962d9bc1-4e54-463c-86ae-43aec1db0f0f"
+ ]
+ ]
+ }
}
],
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "8b903501-ece3-4da3-9124-c15a9f0a1085",
+ "id": "6e8611bf-e0ac-47d5-a80e-d6093bca0b72",
"savedPayload": {
"position": {
- "x": 39915.84078863522,
- "y": 18958.62753122893
+ "x": 35712.34156576139,
+ "y": 17862.54666533391
},
"targetPosition": {
- "x": 39779.64363871336,
- "y": 18691.32557397242
+ "x": 35452.533944626055,
+ "y": 18012.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -2145,10 +2010,10 @@
"4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
],
[
- "Other Programs",
+ "Incentives for Providing Liquidity to SA Markets",
"Pool Class",
"Governance",
- "64cda2cd-270e-4046-ac3f-5cf9188113c2"
+ "00bbb418-2315-4845-aa39-8362489a360b"
],
[
"Liquidity Program",
@@ -2164,15 +2029,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "36d0b2a7-7f20-4164-897f-e6bd3d348975",
+ "id": "6111117f-9b50-49d5-b25f-441e21297d46",
"savedPayload": {
"position": {
- "x": 39779.64363871336,
- "y": 18691.32557397242
+ "x": 35452.533944626055,
+ "y": 18012.54666533391
},
"targetPosition": {
- "x": 39480.05477828698,
- "y": 18675.624787099536
+ "x": 35192.72632349072,
+ "y": 18162.54666533391
},
"floatingObject": {
"isPinned": false,
@@ -2187,7 +2052,326 @@
},
"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",
+ "6f0aed87-db13-4818-bfe6-68abc463ebec"
+ ],
+ [
+ "Governance Programs",
+ "Pool Class",
+ "Governance",
+ "4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
+ ],
+ [
+ "Incentives for Providing Liquidity to SA Markets",
+ "Pool Class",
+ "Governance",
+ "00bbb418-2315-4845-aa39-8362489a360b"
+ ]
+ ]
+ }
+ },
+ {
+ "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": "1ec2248d-3288-462b-967f-c4c58e679cf1",
+ "savedPayload": {
+ "position": {
+ "x": 36012.34156576139,
+ "y": 17862.54666533391
+ },
+ "targetPosition": {
+ "x": 35752.533944626055,
+ "y": 18012.54666533391
+ },
+ "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"
+ ],
+ [
+ "Incentives for Staking & Delegating SA Tokens",
+ "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"
+ ]
+ ]
+ }
+ }
+ ],
+ "assetWeightVotes": [],
+ "featureWeightVotes": [],
+ "positionWeightVotes": [],
+ "id": "60ef427f-5aa7-4b8a-b335-c521ad87e536",
+ "savedPayload": {
+ "position": {
+ "x": 35752.533944626055,
+ "y": 18012.54666533391
+ },
+ "targetPosition": {
+ "x": 35492.72632349072,
+ "y": 18162.54666533391
+ },
+ "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"
+ ],
+ [
+ "Incentives for Staking & Delegating SA Tokens",
+ "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": "903b9765-2a96-471e-a8df-06d1068af3d2",
+ "savedPayload": {
+ "position": {
+ "x": 36012.34156576139,
+ "y": 18462.54666533391
+ },
+ "targetPosition": {
+ "x": 35752.533944626055,
+ "y": 18312.54666533391
+ },
+ "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"
+ ],
+ [
+ "Incentives for Staking & Delegating SA Tokens",
+ "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"
+ ]
+ ]
+ }
+ }
+ ],
+ "assetWeightVotes": [],
+ "featureWeightVotes": [],
+ "positionWeightVotes": [],
+ "id": "85a7a2ae-94ad-44f1-a5e6-c402aa6ec6df",
+ "savedPayload": {
+ "position": {
+ "x": 35752.533944626055,
+ "y": 18312.54666533391
+ },
+ "targetPosition": {
+ "x": 35492.72632349072,
+ "y": 18162.54666533391
+ },
+ "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"
+ ],
+ [
+ "Incentives for Staking & Delegating SA Tokens",
+ "Pool Class",
+ "Governance",
+ "64cda2cd-270e-4046-ac3f-5cf9188113c2"
+ ],
+ [
+ "Delegation Program",
+ "Pool Class",
+ "Governance",
+ "f09429a2-3f6c-4210-bb73-0c8efd254c82"
+ ]
+ ]
+ }
+ }
+ ],
+ "poolWeightVotes": [],
+ "assetWeightVotes": [],
+ "featureWeightVotes": [],
+ "positionWeightVotes": [],
+ "id": "665f11d7-dcd7-415a-bb82-b9f3db0e56a7",
+ "savedPayload": {
+ "position": {
+ "x": 35492.72632349072,
+ "y": 18162.54666533391
+ },
+ "targetPosition": {
+ "x": 35192.72632349072,
+ "y": 18162.54666533391
+ },
+ "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": [
@@ -2204,7 +2388,7 @@
"4fbb05ee-d7a0-43a7-9983-9fae7a7e4848"
],
[
- "Other Programs",
+ "Incentives for Staking & Delegating SA Tokens",
"Pool Class",
"Governance",
"64cda2cd-270e-4046-ac3f-5cf9188113c2"
@@ -2217,15 +2401,15 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "d928e0c2-5408-443b-9849-f015a6a97485",
+ "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,
@@ -2262,29 +2446,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": "673afb27-d299-4168-89bf-a3c415cb9a3e",
"savedPayload": {
"position": {
- "x": 39735.486318117684,
- "y": 18388.599683061537
+ "x": 35554.858357846686,
+ "y": 18210.22225211328
},
"targetPosition": {
- "x": 39512.54287047446,
- "y": 18589.338864969195
+ "x": 35342.72632349072,
+ "y": 18422.354286469243
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
- "isCollapsed": true,
+ "isCollapsed": false,
"angleToParent": 2,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -2324,15 +2508,15 @@
"name": "Assets Pool",
"config": "{}",
"project": "Governance",
- "id": "2340d520-d787-4291-a809-d89c247ebcbf",
+ "id": "a2137812-e2a8-4a33-a930-4d95c6345d5d",
"savedPayload": {
"position": {
- "x": 39812.13173090084,
- "y": 18605.03965184208
+ "x": 35642.72632349072,
+ "y": 18422.354286469243
},
"targetPosition": {
- "x": 39512.54287047446,
- "y": 18589.338864969195
+ "x": 35342.72632349072,
+ "y": 18422.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -2377,15 +2561,15 @@
"name": "Features Pool",
"config": "{}",
"project": "Governance",
- "id": "6f616ad7-276f-425b-89ef-c84ee2c1cf2c",
+ "id": "e10b784e-76ad-4283-b257-aa3e8900b228",
"savedPayload": {
"position": {
- "x": 39713.28205238212,
- "y": 18812.282312612413
+ "x": 35554.858357846686,
+ "y": 18634.486320825206
},
"targetPosition": {
- "x": 39512.54287047446,
- "y": 18589.338864969195
+ "x": 35342.72632349072,
+ "y": 18422.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -2429,20 +2613,20 @@
"assetWeightVotes": [],
"featureWeightVotes": [],
"positionWeightVotes": [],
- "id": "61be79f5-5d3c-4667-9e7a-f4c13b958037",
+ "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,
"isFrozen": false,
- "isCollapsed": true,
+ "isCollapsed": false,
"angleToParent": 2,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -2479,12 +2663,12 @@
"id": "800e3388-1ea6-40ee-ace5-1811a3373e39",
"savedPayload": {
"position": {
- "x": 39257.11133064376,
- "y": 18876.363969007194
+ "x": 35042.72632349072,
+ "y": 18422.354286469243
},
"targetPosition": {
- "x": 38963.66705042362,
- "y": 18938.73747625252
+ "x": 34782.91870235539,
+ "y": 18572.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -2555,12 +2739,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 +2810,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 +2881,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 +2948,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 +3023,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 +3094,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 +3165,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 +3232,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 +3307,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 +3378,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 +3449,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 +3516,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 +3591,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 +3662,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 +3733,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 +3800,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 +3875,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 +3946,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 +4017,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 +4084,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 +4159,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 +4230,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 +4301,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 +4368,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 +4443,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 +4514,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 +4585,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 +4652,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 +4717,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 +4792,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 +4863,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 +4934,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 +5001,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 +5076,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 +5147,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 +5218,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 +5285,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 +5360,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 +5431,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 +5502,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 +5569,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 +5634,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 +5709,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 +5780,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 +5851,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 +5918,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 +5983,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 +6058,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 +6129,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 +6200,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 +6267,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 +6342,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 +6413,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 +6484,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 +6551,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 +6616,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 +6675,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 +6750,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,
@@ -6603,13 +6787,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"
@@ -6637,12 +6821,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,
@@ -6674,13 +6858,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"
@@ -6708,12 +6892,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,
@@ -6745,13 +6929,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"
@@ -6775,12 +6959,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,
@@ -6812,13 +6996,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"
@@ -6850,12 +7034,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,
@@ -6887,13 +7071,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"
@@ -6921,12 +7105,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,
@@ -6958,13 +7142,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"
@@ -6992,12 +7176,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,
@@ -7029,13 +7213,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"
@@ -7059,12 +7243,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,
@@ -7096,13 +7280,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"
@@ -7134,12 +7318,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,
@@ -7171,13 +7355,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"
@@ -7205,12 +7389,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,
@@ -7242,13 +7426,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"
@@ -7276,12 +7460,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,
@@ -7313,13 +7497,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"
@@ -7343,12 +7527,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,
@@ -7380,13 +7564,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"
@@ -7418,12 +7602,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,
@@ -7455,13 +7639,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"
@@ -7489,12 +7673,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,
@@ -7526,13 +7710,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"
@@ -7560,12 +7744,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,
@@ -7597,13 +7781,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"
@@ -7627,12 +7811,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,
@@ -7664,13 +7848,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"
@@ -7692,12 +7876,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,
@@ -7712,7 +7896,7 @@
},
"referenceParent": {
"type": "Position Class",
- "name": "Social Networks Teams",
+ "name": "Social Network Teams",
"id": "6235a447-4974-4e79-aa5e-b98115c560d7"
},
"referenceParentCombinedNodePath": [
@@ -7729,13 +7913,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"
@@ -7767,12 +7951,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,
@@ -7804,7 +7988,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -7838,12 +8022,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,
@@ -7875,7 +8059,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -7909,12 +8093,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,
@@ -7946,7 +8130,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -7976,12 +8160,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,
@@ -8013,7 +8197,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8051,12 +8235,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,
@@ -8088,7 +8272,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8122,12 +8306,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,
@@ -8159,7 +8343,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8193,12 +8377,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,
@@ -8230,7 +8414,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8260,12 +8444,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,
@@ -8297,7 +8481,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8325,12 +8509,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,
@@ -8362,7 +8546,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8400,12 +8584,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,
@@ -8437,7 +8621,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8471,12 +8655,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,
@@ -8508,7 +8692,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8542,12 +8726,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,
@@ -8579,7 +8763,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8609,12 +8793,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,
@@ -8646,7 +8830,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8674,12 +8858,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,
@@ -8711,7 +8895,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -8749,12 +8933,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,
@@ -8785,12 +8969,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -8820,12 +8998,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,
@@ -8856,12 +9034,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -8891,12 +9063,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,
@@ -8927,12 +9099,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -8958,12 +9124,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,
@@ -8994,12 +9160,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9033,12 +9193,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,
@@ -9069,12 +9229,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9104,12 +9258,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,
@@ -9140,12 +9294,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9175,12 +9323,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,
@@ -9211,12 +9359,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9242,12 +9384,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,
@@ -9278,12 +9420,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9317,12 +9453,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,
@@ -9353,12 +9489,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9388,12 +9518,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,
@@ -9424,12 +9554,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9459,12 +9583,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,
@@ -9495,12 +9619,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9526,12 +9644,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,
@@ -9562,12 +9680,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9601,12 +9713,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,
@@ -9637,12 +9749,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9672,12 +9778,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,
@@ -9708,12 +9814,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9743,12 +9843,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,
@@ -9779,12 +9879,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9810,12 +9904,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,
@@ -9846,12 +9940,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9875,12 +9963,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,
@@ -9911,12 +9999,6 @@
"Governance",
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
- [
- "Teams",
- "Position Class",
- "Governance",
- "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
- ],
[
"Tech Teams",
"Position Class",
@@ -9950,12 +10032,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,
@@ -9987,13 +10069,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"
@@ -10021,12 +10103,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,
@@ -10058,13 +10140,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"
@@ -10092,12 +10174,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,
@@ -10129,13 +10211,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"
@@ -10159,12 +10241,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,
@@ -10196,13 +10278,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"
@@ -10234,12 +10316,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,
@@ -10271,13 +10353,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"
@@ -10305,12 +10387,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,
@@ -10342,13 +10424,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"
@@ -10376,12 +10458,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,
@@ -10413,13 +10495,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"
@@ -10443,12 +10525,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,
@@ -10480,13 +10562,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"
@@ -10518,12 +10600,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,
@@ -10555,13 +10637,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"
@@ -10589,12 +10671,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,
@@ -10626,13 +10708,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"
@@ -10660,12 +10742,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,
@@ -10697,13 +10779,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"
@@ -10727,12 +10809,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,
@@ -10764,13 +10846,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"
@@ -10802,12 +10884,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,
@@ -10839,13 +10921,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"
@@ -10873,12 +10955,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,
@@ -10910,13 +10992,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"
@@ -10944,12 +11026,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,
@@ -10981,13 +11063,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"
@@ -11011,12 +11093,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,
@@ -11048,13 +11130,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"
@@ -11076,12 +11158,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,
@@ -11096,7 +11178,7 @@
},
"referenceParent": {
"type": "Position Class",
- "name": "Content Creators Teams",
+ "name": "Content Creation Teams",
"id": "6304827a-8366-48a8-ae11-35881c14e135"
},
"referenceParentCombinedNodePath": [
@@ -11113,13 +11195,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"
@@ -11135,12 +11217,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,
@@ -11155,7 +11237,7 @@
},
"referenceParent": {
"type": "Position Class",
- "name": "Teams",
+ "name": "Other Teams",
"id": "eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
},
"referenceParentCombinedNodePath": [
@@ -11172,7 +11254,7 @@
"8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
],
[
- "Teams",
+ "Other Teams",
"Position Class",
"Governance",
"eab89bf2-76b7-4d03-ada9-9a5eb5f3cfb4"
@@ -11188,12 +11270,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,
@@ -11235,12 +11317,12 @@
"id": "aa848510-1260-46ed-a855-6c0fb9dca9eb",
"savedPayload": {
"position": {
- "x": 39164.406232331276,
- "y": 19161.68092389574
+ "x": 35042.72632349072,
+ "y": 18722.354286469243
},
"targetPosition": {
- "x": 38963.66705042362,
- "y": 18938.73747625252
+ "x": 34782.91870235539,
+ "y": 18572.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -11276,12 +11358,12 @@
"id": "1d398124-3f36-40a1-8b3b-6c77ad489b92",
"savedPayload": {
"position": {
- "x": 38963.66705042362,
- "y": 18938.73747625252
+ "x": 34782.91870235539,
+ "y": 18572.354286469243
},
"targetPosition": {
- "x": 38678.35009553507,
- "y": 18846.03237794004
+ "x": 34482.91870235539,
+ "y": 18572.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -11302,12 +11384,12 @@
"id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f",
"savedPayload": {
"position": {
- "x": 38678.35009553507,
- "y": 18846.03237794004
+ "x": 34482.91870235539,
+ "y": 18572.354286469243
},
"targetPosition": {
- "x": 38384.90581531492,
- "y": 18908.405885185366
+ "x": 34223.11108122006,
+ "y": 18722.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -11330,12 +11412,12 @@
"id": "e9c0e495-7985-4381-bf75-865d87289038",
"savedPayload": {
"position": {
- "x": 38670.22277020347,
- "y": 19001.11098349785
+ "x": 34523.11108122006,
+ "y": 18722.354286469243
},
"targetPosition": {
- "x": 38384.90581531492,
- "y": 18908.405885185366
+ "x": 34223.11108122006,
+ "y": 18722.354286469243
},
"floatingObject": {
"isPinned": false,
@@ -11353,12 +11435,12 @@
"id": "d5ed432e-78bf-432e-be3b-8649932f7a65",
"savedPayload": {
"position": {
- "x": 38384.90581531492,
- "y": 18908.405885185366
+ "x": 34223.11108122006,
+ "y": 18722.354286469243
},
"targetPosition": {
- "x": 38085.31695488855,
- "y": 18892.705098312483
+ "x": 33933.333333333336,
+ "y": 18800
},
"floatingObject": {
"isPinned": false,
@@ -11387,16 +11469,88 @@
"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",
+ "Governance",
+ "50c68665-5da2-48a4-b229-7a1563ae82d2"
+ ],
+ [
+ "Roles Played @ Beta-12",
+ "Position Class",
+ "Governance",
+ "8b29fcb2-3b9a-444f-b3b0-05976da9a18f"
+ ],
+ [
+ "Software Projects",
+ "Position Class",
+ "Governance",
+ "864ef810-2d34-4776-946d-2f4bd68b45c5"
+ ],
+ [
+ "Active Projects",
+ "Position Class",
+ "Governance",
+ "75998134-fe6b-4dd0-9995-6beb613cd165"
+ ],
+ [
+ "Governance Project",
+ "Position Class",
+ "Governance",
+ "68dd2990-457e-48df-b752-6e1fd02081a3"
+ ],
+ [
+ "Project Contributor",
+ "Position",
+ "Governance",
+ "5a13709f-761a-410b-b0e9-1542e341f19e"
+ ]
+ ]
+ }
+ }
+ ],
"id": "b09bc246-6593-4061-ac8a-b52670694e8e",
"savedPayload": {
"position": {
- "x": 38622.235080160724,
- "y": 19148.801907129473
+ "x": 34523.11108122006,
+ "y": 18877.645713530757
},
"targetPosition": {
- "x": 38336.918125272176,
- "y": 19056.09680881699
+ "x": 34223.11108122006,
+ "y": 18877.645713530757
},
"floatingObject": {
"isPinned": false,
@@ -11419,12 +11573,12 @@
"id": "5011109c-3f87-471a-b786-5fd371f53853",
"savedPayload": {
"position": {
- "x": 38537.657307179834,
- "y": 19279.04025646021
+ "x": 34482.91870235539,
+ "y": 19027.645713530757
},
"targetPosition": {
- "x": 38336.918125272176,
- "y": 19056.09680881699
+ "x": 34223.11108122006,
+ "y": 18877.645713530757
},
"floatingObject": {
"isPinned": false,
@@ -11442,12 +11596,12 @@
"id": "796dd30f-c90d-4b8d-a63d-89867347407b",
"savedPayload": {
"position": {
- "x": 38336.918125272176,
- "y": 19056.09680881699
+ "x": 34223.11108122006,
+ "y": 18877.645713530757
},
"targetPosition": {
- "x": 38085.31695488855,
- "y": 18892.705098312483
+ "x": 33933.333333333336,
+ "y": 18800
},
"floatingObject": {
"isPinned": false,
@@ -11465,17 +11619,17 @@
"id": "bb390957-b8a2-4a8a-9fbf-963ea20f6eaf",
"savedPayload": {
"position": {
- "x": 38085.31695488855,
- "y": 18892.705098312483
+ "x": 33933.333333333336,
+ "y": 18800
},
"targetPosition": {
- "x": 37800,
+ "x": 33633.333333333336,
"y": 18800
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
- "isCollapsed": false,
+ "isCollapsed": true,
"angleToParent": 2,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -11502,12 +11656,12 @@
"id": "23c23b71-1431-4cca-a80e-bb5c7242be9f",
"savedPayload": {
"position": {
- "x": 38442.62315256192,
- "y": 19420.297332942388
+ "x": 34412.756196739334,
+ "y": 19250
},
"targetPosition": {
- "x": 38209.47936412483,
- "y": 19231.501215627435
+ "x": 34152.948575604,
+ "y": 19100
},
"floatingObject": {
"isPinned": false,
@@ -11525,67 +11679,12 @@
"id": "90659303-924d-4404-9b1d-ea3180add4ef",
"savedPayload": {
"position": {
- "x": 38209.47936412483,
- "y": 19231.501215627435
+ "x": 34152.948575604,
+ "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": 33893.14095446867,
+ "y": 18950
},
"floatingObject": {
"isPinned": false,
@@ -11603,11 +11702,206 @@
"id": "ed112539-01ea-4937-85cf-69612ee6115d",
"savedPayload": {
"position": {
- "x": 37976.33557568774,
- "y": 19042.705098312483
+ "x": 33893.14095446867,
+ "y": 18950
},
"targetPosition": {
- "x": 37800,
+ "x": 33633.333333333336,
+ "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": "{\n \"percentage\": 0\n}",
+ "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": 34362.88882910678,
+ "y": 19215.099048196847
+ },
+ "targetPosition": {
+ "x": 34073.11108122006,
+ "y": 19137.45333466609
+ },
+ "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": 34073.11108122006,
+ "y": 19137.45333466609
+ },
+ "targetPosition": {
+ "x": 33783.333333333336,
+ "y": 19059.807621135333
+ },
+ "floatingObject": {
+ "isPinned": false,
+ "isFrozen": false,
+ "isCollapsed": false,
+ "angleToParent": 2,
+ "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": 34083.333333333336,
+ "y": 19579.422863406
+ },
+ "targetPosition": {
+ "x": 33933.333333333336,
+ "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": 33933.333333333336,
+ "y": 19319.615242270665
+ },
+ "targetPosition": {
+ "x": 33783.333333333336,
+ "y": 19059.807621135333
+ },
+ "floatingObject": {
+ "isPinned": false,
+ "isFrozen": false,
+ "isCollapsed": false,
+ "angleToParent": 2,
+ "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": 33628.04190627182,
+ "y": 19639.363116908775
+ },
+ "targetPosition": {
+ "x": 33705.68761980258,
+ "y": 19349.585369022054
+ },
+ "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": 33705.68761980258,
+ "y": 19349.585369022054
+ },
+ "targetPosition": {
+ "x": 33783.333333333336,
+ "y": 19059.807621135333
+ },
+ "floatingObject": {
+ "isPinned": false,
+ "isFrozen": false,
+ "isCollapsed": false,
+ "angleToParent": 2,
+ "distanceToParent": 3,
+ "arrangementStyle": 0
+ },
+ "uiObject": {
+ "isRunning": false
+ }
+ }
+ }
+ ],
+ "id": "ba3bc469-3c94-444d-a5d0-8ed851aa3778",
+ "savedPayload": {
+ "position": {
+ "x": 33783.333333333336,
+ "y": 19059.807621135333
+ },
+ "targetPosition": {
+ "x": 33633.333333333336,
"y": 18800
},
"floatingObject": {
@@ -11626,11 +11920,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": {
@@ -11653,11 +11947,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": {
@@ -11680,29 +11974,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": 32588.466416509047,
+ "y": 18618.508094196695
},
"targetPosition": {
- "x": 1590.816326530612,
- "y": 20991.192378864667
+ "x": 32885.89987492119,
+ "y": 18579.35023653068
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": false,
- "angleToParent": 2,
+ "angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
},
@@ -11711,15 +12005,15 @@
}
}
},
- "id": "30858b11-5b8d-46c6-97f8-765e3676fc2f",
+ "id": "d1fa780c-673a-442d-af85-6f1e03179a0e",
"savedPayload": {
"position": {
- "x": 1590.816326530612,
- "y": 20991.192378864667
+ "x": 32885.89987492119,
+ "y": 18579.35023653068
},
"targetPosition": {
- "x": 1890.816326530612,
- "y": 20991.192378864667
+ "x": 33183.333333333336,
+ "y": 18540.192378864667
},
"floatingObject": {
"isPinned": false,
@@ -11736,85 +12030,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": 32603.777837559894,
+ "y": 18384.900951803153
},
"targetPosition": {
- "x": 1740.8163265306118,
- "y": 20731.384757729335
+ "x": 32893.555585446615,
+ "y": 18462.54666533391
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": false,
- "angleToParent": 2,
+ "angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
},
@@ -11823,15 +12061,15 @@
}
}
},
- "id": "5828093e-65e1-4b18-9cbc-9ff33c98acc1",
+ "id": "d57afbcc-f711-4e92-9b5e-8fbf86c12acb",
"savedPayload": {
"position": {
- "x": 1740.8163265306118,
- "y": 20731.384757729335
+ "x": 32893.555585446615,
+ "y": 18462.54666533391
},
"targetPosition": {
- "x": 1890.816326530612,
- "y": 20991.192378864667
+ "x": 33183.333333333336,
+ "y": 18540.192378864667
},
"floatingObject": {
"isPinned": false,
@@ -11848,23 +12086,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": 32707.321329158593,
+ "y": 18174.935521459432
+ },
+ "targetPosition": {
+ "x": 32945.327331245964,
+ "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": 32945.327331245964,
+ "y": 18357.56395016205
+ },
+ "targetPosition": {
+ "x": 33183.333333333336,
+ "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": 32883.333333333336,
+ "y": 18020.577136594
},
"targetPosition": {
- "x": 1890.816326530612,
- "y": 20691.192378864667
+ "x": 33033.333333333336,
+ "y": 18280.384757729335
},
"floatingObject": {
"isPinned": false,
@@ -11879,15 +12173,15 @@
}
}
},
- "id": "fa5647f8-42bc-4d7b-8137-401ac8b5433c",
+ "id": "47f2db6d-7fe6-456d-aeb0-7128524aaa36",
"savedPayload": {
"position": {
- "x": 1890.816326530612,
- "y": 20691.192378864667
+ "x": 33033.333333333336,
+ "y": 18280.384757729335
},
"targetPosition": {
- "x": 1890.816326530612,
- "y": 20991.192378864667
+ "x": 33183.333333333336,
+ "y": 18540.192378864667
},
"floatingObject": {
"isPinned": false,
@@ -11904,23 +12198,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": 33105.0176180013,
+ "y": 17945.325462040382
},
"targetPosition": {
- "x": 2040.816326530612,
- "y": 20731.384757729335
+ "x": 33144.17547566732,
+ "y": 18242.758920452525
},
"floatingObject": {
"isPinned": false,
@@ -11935,15 +12229,127 @@
}
}
},
- "id": "e7066d66-9e36-4f38-963e-76b915b38c43",
+ "id": "2a499940-eb6f-4328-9f67-7c915b01b3db",
"savedPayload": {
"position": {
- "x": 2040.816326530612,
- "y": 20731.384757729335
+ "x": 33144.17547566732,
+ "y": 18242.758920452525
},
"targetPosition": {
- "x": 1890.816326530612,
- "y": 20991.192378864667
+ "x": 33183.333333333336,
+ "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": 33338.62476039485,
+ "y": 17960.636883091225
+ },
+ "targetPosition": {
+ "x": 33260.97904686409,
+ "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": 33260.97904686409,
+ "y": 18250.414630977946
+ },
+ "targetPosition": {
+ "x": 33183.333333333336,
+ "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": 33548.59019073856,
+ "y": 18064.180374689924
+ },
+ "targetPosition": {
+ "x": 33365.96176203595,
+ "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": 33365.96176203595,
+ "y": 18302.186376777296
+ },
+ "targetPosition": {
+ "x": 33183.333333333336,
+ "y": 18540.192378864667
},
"floatingObject": {
"isPinned": false,
@@ -11962,17 +12368,17 @@
"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": {
"isPinned": false,
"isFrozen": false,
- "isCollapsed": true,
+ "isCollapsed": false,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -11995,7 +12401,7 @@
"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/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..5ac8606a3 100644
--- a/Projects/Governance/Schemas/App-Schema/liquidity-program.json
+++ b/Projects/Governance/Schemas/App-Schema/liquidity-program.json
@@ -33,10 +33,9 @@
"config": true
},
"initialValues": {
- "config": "{}"
- },
+ "config": "{\n\"asset\": \"BTCB\"\n}" },
"attachingRules": {
- "compatibleTypes": "->Financial Programs->"
+ "compatibleTypes": "->Liquidity Programs->"
},
"addLeftIcons": true,
"level": 1,
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/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/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/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
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/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/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/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 62de5ac9c..6818275e3 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 }
@@ -107,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
@@ -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/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/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/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/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/Globals/SaToken.js b/Projects/Governance/UI/Globals/SaToken.js
index c26ccdae8..49128b01a 100644
--- a/Projects/Governance/UI/Globals/SaToken.js
+++ b/Projects/Governance/UI/Globals/SaToken.js
@@ -4,7 +4,10 @@ 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',
+ 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 a8695673a..3aa0c0d1d 100644
--- a/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js
+++ b/Projects/Governance/UI/Spaces/Reports-Space/Liquidity.js
@@ -45,7 +45,14 @@ function newGovernanceReportsLiquidity() {
"textAlign": "left"
},
{
- "name": "LiquidityPower",
+ "name": "market",
+ "label": "Market",
+ "type": "string",
+ "order": "ascending",
+ "textAlign": "center"
+ },
+ {
+ "name": "liquidityPower",
"label": "Liquidity Power",
"type": "number",
"order": "descending",
@@ -53,7 +60,7 @@ function newGovernanceReportsLiquidity() {
"format": "2 decimals"
},
{
- "name": "Percentage",
+ "name": "percentage",
"label": "Percentage",
"type": "number",
"order": "descending",
@@ -77,24 +84,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 < 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 }
+ 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)
+ }
}
}
/*
diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js
index 510bfb0bb..6d130f1e6 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 * 5
let reputationByAddress = new Map()
return thisObject
@@ -373,7 +373,14 @@ 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
+ 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
}
@@ -394,6 +401,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,12 +430,25 @@ function newGovernanceUserProfileSpace() {
blockchainAccount !== "" &&
userProfile.payload.blockchainTokens === undefined
) {
+
+ userProfile.payload.liquidityTokens = {
+ BTCB: 0,
+ BNB: 0,
+ BUSD: 0
+ }
+
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)
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)
+ 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)
+
+ /*
+ Now we get the SA Tokens Balance.
+ */
+ waitingForResponses++
+ setTimeout(getBlockchainTokens, BSC_SCAN_RATE_LIMIT_DELAY / 4 * 4, userProfile, blockchainAccount)
}
}
}
@@ -439,16 +460,17 @@ 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('Reputation of ' + userProfile.name + ' is ', userProfile.payload.reputation)
+ console.log('[INFO] Reputation of ' + userProfile.name + ' is ', userProfile.payload.reputation)
}
waitingForResponses--
}).catch(function (err) {
@@ -463,22 +485,23 @@ 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"
+ function getBPancakeTokens(userProfile, blockchainAccount, asset, marketContract) {
+ 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) {
return response.json();
}).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 = 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/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
diff --git a/Projects/Governance/UI/Utilities/Validations.js b/Projects/Governance/UI/Utilities/Validations.js
index 05e6cd299..6e3595ffe 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,20 @@ 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
+ }
+ }
+ }
+ }
}
\ No newline at end of file
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 32d00fd18..ebad1b2cc 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',
@@ -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 = {
@@ -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
new file mode 100644
index 000000000..89742008c
--- /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(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle,
+ 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(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
+ }
+ /*
+ 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(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).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/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/Social-Trading/NT/Modules/Bootstrap.js b/Projects/Network/SA/Modules/UserProfiles.js
similarity index 66%
rename from Projects/Social-Trading/NT/Modules/Bootstrap.js
rename to Projects/Network/SA/Modules/UserProfiles.js
index d0b5fb2a6..346b0b604 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 */
@@ -48,7 +43,7 @@ exports.newBootstrap = function newBootstrap() {
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,
@@ -56,9 +51,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 +65,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/Network/SA/Modules/WebSocketsClient.js b/Projects/Network/SA/Modules/WebSocketsAppClient.js
similarity index 97%
rename from Projects/Network/SA/Modules/WebSocketsClient.js
rename to Projects/Network/SA/Modules/WebSocketsAppClient.js
index 3518d86fd..2fe199596 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()
@@ -87,7 +86,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
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'
}
@@ -148,7 +147,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
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
@@ -178,7 +177,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
*/
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/Network/SA/Utilities/AppClientNetworkNodePicker.js b/Projects/Network/SA/Utilities/AppClientNetworkNodePicker.js
new file mode 100644
index 000000000..6fa659579
--- /dev/null
+++ b/Projects/Network/SA/Utilities/AppClientNetworkNodePicker.js
@@ -0,0 +1,12 @@
+exports.newAppClientNetworkNetworkNodePicker = function newAppClientNetworkNetworkNodePicker () {
+ 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 c1d5710cf..f016a2013 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,42 +1351,68 @@
"name": "Network",
"propertyName": "network",
"NT": {
- "globals": [],
+ "globals": [
+ {
+ "name": "Memory",
+ "propertyName": "memory",
+ "functionName": "newNetworkGlobalsMemory",
+ "fileName": "Memory.js"
+ }
+ ],
"modules": [
{
"name": "Web Sockets Interface",
"propertyName": "webSocketsInterface",
"functionName": "newNetworkModulesWebSocketsInterface",
"fileName": "WebSocketsInterface.js"
+ },
+ {
+ "name": "Web Sockets Network Client",
+ "propertyName": "webSocketsNetworkClient",
+ "functionName": "newNetworkModulesWebSocketsNetworkClient",
+ "fileName": "WebSocketsNetworkClient.js"
}
],
"utilities": []
},
"SA": {
- "globals": [],
- "modules": [
+ "globals": [
{
- "name": "Web Sockets Client",
- "propertyName": "webSocketsClient",
- "functionName": "newNetworkModulesWebSocketsClient",
- "fileName": "WebSocketsClient.js"
+ "name": "Memory",
+ "propertyName": "memory",
+ "functionName": "newNetworkGlobalsMemory",
+ "fileName": "Memory.js"
}
],
- "utilities": []
+ "modules": [
+ {
+ "name": "Web Sockets App Client",
+ "propertyName": "webSocketsAppClient",
+ "functionName": "newNetworkModulesWebSocketsAppClient",
+ "fileName": "WebSocketsAppClient.js"
+ },
+ {
+ "name": "User Profiles",
+ "propertyName": "userProfiles",
+ "functionName": "newNetworkModulesUserProfiles",
+ "fileName": "UserProfiles.js"
+ }
+ ],
+ "utilities": [
+ {
+ "name": "App Client Network Node Picker",
+ "propertyName": "appClientNetworkNodePicker",
+ "functionName": "newAppClientNetworkNetworkNodePicker",
+ "fileName": "AppClientNetworkNodePicker.js"
+ }
+ ]
}
},
{
"name": "Social-Trading",
"propertyName": "socialTrading",
"NT": {
- "globals": [
- {
- "name": "Memory",
- "propertyName": "memory",
- "functionName": "newSocialTradingGlobalsMemory",
- "fileName": "Memory.js"
- }
- ],
+ "globals": [],
"modules": [
{
"name": "User Profiles",
@@ -1441,36 +1468,12 @@
"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",
"functionName": "newSocialTradingModulesSocialGraph",
"fileName": "SocialGraph.js"
},
- {
- "name": "Bootstrap",
- "propertyName": "bootstrap",
- "functionName": "newSocialTradingModulesBootstrap",
- "fileName": "Bootstrap.js"
- },
{
"name": "Query",
"propertyName": "query",
@@ -1512,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",
@@ -1567,9 +1590,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/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/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 = {
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/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/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
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.')
}
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 96%
rename from Projects/Social-Trading/NT/Modules/Social-Graph/Post.js
rename to Projects/Social-Trading/SA/Modules/Social-Graph/Post.js
index d462cab83..4975b2c50 100644
--- a/Projects/Social-Trading/NT/Modules/Social-Graph/Post.js
+++ b/Projects/Social-Trading/SA/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/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,
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,