merge with master
Merge branch 'develop' of https://github.com/quantum8/Superalgos into develop
This commit is contained in:
commit
a0dc92a115
114 files changed
+12026
-7071
No files matched your search
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos\\Platform"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Superalgos\\Projects"
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos\\TaskServer"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Superalgos\\Projects"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
+127
-100
@@ -16,7 +16,8 @@ function newWebApp() {
|
||||
setupRootObject(UI, 'UI')
|
||||
setupRootObject(SA, 'SA')
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.initialize()
|
||||
setupHomePage()
|
||||
loadWUserProfileTimeline()
|
||||
loadWhoToFollow()
|
||||
setupEventHandlers()
|
||||
} catch (err) {
|
||||
console.log('[ERROR] initialize -> err.stack = ' + err.stack)
|
||||
@@ -94,21 +95,16 @@ function newWebApp() {
|
||||
}
|
||||
}
|
||||
|
||||
async function setupHomePage() {
|
||||
let queryMessage
|
||||
let query
|
||||
/*
|
||||
Test Query User Profiles.
|
||||
*/
|
||||
queryMessage = {
|
||||
queryType: SA.projects.socialTrading.globals.queryTypes.UNFOLLOWED_USER_PROFILES,
|
||||
async function loadWUserProfileTimeline() {
|
||||
let queryMessage = {
|
||||
queryType: SA.projects.socialTrading.globals.queryTypes.EVENTS,
|
||||
emitterUserProfileId: undefined,
|
||||
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_FIRST,
|
||||
amountRequested: 3,
|
||||
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_UP
|
||||
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_LAST,
|
||||
amountRequested: 100,
|
||||
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_PAST
|
||||
}
|
||||
|
||||
query = {
|
||||
let query = {
|
||||
requestType: 'Query',
|
||||
queryMessage: JSON.stringify(queryMessage)
|
||||
}
|
||||
@@ -116,23 +112,121 @@ function newWebApp() {
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.sendMessage(
|
||||
JSON.stringify(query)
|
||||
)
|
||||
.then(showProfiles)
|
||||
.then(addToContentDiv)
|
||||
.catch(onError)
|
||||
|
||||
async function showProfiles(profiles) {
|
||||
console.log(profiles)
|
||||
document.getElementById('context-cell')
|
||||
|
||||
addWhoToFollowTable(profiles)
|
||||
}
|
||||
|
||||
/*
|
||||
Error Handling
|
||||
*/
|
||||
function onError(errorMessage) {
|
||||
console.log('[ERROR] Query not executed. ' + errorMessage)
|
||||
console.log('[ERROR] query = ' + JSON.stringify(query))
|
||||
}
|
||||
|
||||
function addToContentDiv(events) {
|
||||
|
||||
let contentDiv = document.getElementById('content-div')
|
||||
|
||||
for (let i = 0; i < events.length; i++) {
|
||||
let event = events[i]
|
||||
|
||||
let postDiv = document.createElement("div")
|
||||
postDiv.setAttribute("class", "post-div")
|
||||
let textNode = document.createTextNode('POST #' + i)
|
||||
postDiv.appendChild(textNode)
|
||||
contentDiv.appendChild(postDiv)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function loadWhoToFollow() {
|
||||
let queryMessage = {
|
||||
queryType: SA.projects.socialTrading.globals.queryTypes.UNFOLLOWED_USER_PROFILES,
|
||||
emitterUserProfileId: undefined,
|
||||
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_FIRST,
|
||||
amountRequested: 3,
|
||||
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_UP
|
||||
}
|
||||
|
||||
let query = {
|
||||
requestType: 'Query',
|
||||
queryMessage: JSON.stringify(queryMessage)
|
||||
}
|
||||
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.sendMessage(
|
||||
JSON.stringify(query)
|
||||
)
|
||||
.then(addWhoToFollowTable)
|
||||
.catch(onError)
|
||||
|
||||
function onError(errorMessage) {
|
||||
console.log('[ERROR] Query not executed. ' + errorMessage)
|
||||
console.log('[ERROR] query = ' + JSON.stringify(query))
|
||||
}
|
||||
|
||||
function addWhoToFollowTable(profiles) {
|
||||
|
||||
let contextCell = document.getElementById('who-to-follow-cell')
|
||||
let table = document.createElement("table")
|
||||
let tblBody = document.createElement("tbody")
|
||||
|
||||
for (let i = 0; i < profiles.length; i++) {
|
||||
let profile = profiles[i]
|
||||
let row = document.createElement("tr")
|
||||
|
||||
let cell = document.createElement("td")
|
||||
addProfileToFollowTable(cell, profile)
|
||||
row.appendChild(cell)
|
||||
|
||||
tblBody.appendChild(row)
|
||||
}
|
||||
|
||||
table.appendChild(tblBody)
|
||||
contextCell.appendChild(table)
|
||||
table.setAttribute("class", "who-to-follow-table")
|
||||
|
||||
function addProfileToFollowTable(htmlElement, profile) {
|
||||
let table = document.createElement("table")
|
||||
let tblBody = document.createElement("tbody")
|
||||
|
||||
let row = document.createElement("tr")
|
||||
|
||||
{
|
||||
let cell = document.createElement("td")
|
||||
let textNode = document.createTextNode('Profile Picture')
|
||||
cell.appendChild(textNode)
|
||||
row.appendChild(cell)
|
||||
}
|
||||
{
|
||||
let cell = document.createElement("td")
|
||||
let textNode = document.createTextNode(profile.userProfileHandle)
|
||||
cell.appendChild(textNode)
|
||||
row.appendChild(cell)
|
||||
}
|
||||
{
|
||||
let cell = document.createElement("td")
|
||||
let span = document.createElement("span")
|
||||
let button = document.createElement("button")
|
||||
let text = document.createTextNode('Follow')
|
||||
|
||||
span.setAttribute("id", "profile-to-follow-span-" + profile.userProfileId)
|
||||
button.setAttribute("id", "profile-to-follow-button-" + profile.userProfileId)
|
||||
button.name = 'Follow Profile'
|
||||
button.userProfileId = profile.userProfileId
|
||||
|
||||
span.setAttribute("class", "profile-to-follow-span")
|
||||
button.setAttribute("class", "profile-to-follow-button")
|
||||
|
||||
button.appendChild(text)
|
||||
span.appendChild(button)
|
||||
cell.appendChild(span)
|
||||
row.appendChild(cell)
|
||||
}
|
||||
|
||||
tblBody.appendChild(row)
|
||||
|
||||
table.appendChild(tblBody)
|
||||
htmlElement.appendChild(table)
|
||||
table.setAttribute("class", "profile-to-follow-table")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setupEventHandlers() {
|
||||
@@ -150,7 +244,7 @@ function newWebApp() {
|
||||
let textArea = document.getElementById("new-post-text-area")
|
||||
await sendNewPostEvent(
|
||||
textArea.value
|
||||
)
|
||||
)
|
||||
.then(updateTextArea)
|
||||
.catch(onError)
|
||||
|
||||
@@ -163,7 +257,7 @@ function newWebApp() {
|
||||
await sendTargetUserProfileEvent(
|
||||
event.target.userProfileId,
|
||||
SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE
|
||||
)
|
||||
)
|
||||
.then(updateButton)
|
||||
.catch(onError)
|
||||
|
||||
@@ -180,7 +274,7 @@ function newWebApp() {
|
||||
await sendTargetUserProfileEvent(
|
||||
event.target.userProfileId,
|
||||
SA.projects.socialTrading.globals.eventTypes.UNFOLLOW_USER_PROFILE
|
||||
)
|
||||
)
|
||||
.then(updateButton)
|
||||
.catch(onError)
|
||||
|
||||
@@ -210,84 +304,17 @@ function newWebApp() {
|
||||
}
|
||||
}
|
||||
|
||||
function addWhoToFollowTable(profiles) {
|
||||
|
||||
let contextCell = document.getElementById('who-to-follow-cell')
|
||||
let table = document.createElement("table")
|
||||
let tblBody = document.createElement("tbody")
|
||||
|
||||
for (let i = 0; i < profiles.length; i++) {
|
||||
let profile = profiles[i]
|
||||
let row = document.createElement("tr")
|
||||
|
||||
let cell = document.createElement("td")
|
||||
addProfileToFollowTable(cell, profile)
|
||||
row.appendChild(cell)
|
||||
|
||||
tblBody.appendChild(row)
|
||||
}
|
||||
|
||||
table.appendChild(tblBody)
|
||||
contextCell.appendChild(table)
|
||||
table.setAttribute("class", "who-to-follow-table")
|
||||
}
|
||||
|
||||
function addProfileToFollowTable(htmlElement, profile) {
|
||||
let table = document.createElement("table")
|
||||
let tblBody = document.createElement("tbody")
|
||||
|
||||
let row = document.createElement("tr")
|
||||
|
||||
{
|
||||
let cell = document.createElement("td")
|
||||
let cellText = document.createTextNode('Profile Picture')
|
||||
cell.appendChild(cellText)
|
||||
row.appendChild(cell)
|
||||
}
|
||||
{
|
||||
let cell = document.createElement("td")
|
||||
let cellText = document.createTextNode(profile.userProfileHandle)
|
||||
cell.appendChild(cellText)
|
||||
row.appendChild(cell)
|
||||
}
|
||||
{
|
||||
let cell = document.createElement("td")
|
||||
let span = document.createElement("span")
|
||||
let button = document.createElement("button")
|
||||
let text = document.createTextNode('Follow')
|
||||
|
||||
span.setAttribute("id", "profile-to-follow-span-" + profile.userProfileId)
|
||||
button.setAttribute("id", "profile-to-follow-button-" + profile.userProfileId)
|
||||
button.name = 'Follow Profile'
|
||||
button.userProfileId = profile.userProfileId
|
||||
|
||||
span.setAttribute("class", "profile-to-follow-span")
|
||||
button.setAttribute("class", "profile-to-follow-button")
|
||||
|
||||
button.appendChild(text)
|
||||
span.appendChild(button)
|
||||
cell.appendChild(span)
|
||||
row.appendChild(cell)
|
||||
}
|
||||
|
||||
tblBody.appendChild(row)
|
||||
|
||||
table.appendChild(tblBody)
|
||||
htmlElement.appendChild(table)
|
||||
table.setAttribute("class", "profile-to-follow-table")
|
||||
}
|
||||
|
||||
async function sendTargetUserProfileEvent(
|
||||
userProfileId,
|
||||
eventType
|
||||
) {
|
||||
eventType
|
||||
) {
|
||||
|
||||
return new Promise((resolve, reject) => { asyncCall(resolve, reject) })
|
||||
|
||||
async function asyncCall(resolve, reject) {
|
||||
let eventMessage
|
||||
let event
|
||||
|
||||
|
||||
eventMessage = {
|
||||
eventType: eventType,
|
||||
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
|
||||
@@ -315,15 +342,15 @@ function newWebApp() {
|
||||
}
|
||||
|
||||
async function sendNewPostEvent(
|
||||
postText
|
||||
) {
|
||||
postText
|
||||
) {
|
||||
|
||||
return new Promise((resolve, reject) => { asyncCall(resolve, reject) })
|
||||
|
||||
async function asyncCall(resolve, reject) {
|
||||
let eventMessage
|
||||
let event
|
||||
|
||||
|
||||
eventMessage = {
|
||||
eventType: SA.projects.socialTrading.globals.eventTypes.NEW_USER_POST,
|
||||
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
exports.newDesktopRoot = function newDesktopRoot() {
|
||||
/*
|
||||
This module represents the execution root of the Desktop App.
|
||||
We use this module that is outside the Desktop folder to
|
||||
load all node dependencies and get them ready to the actual App.
|
||||
*/
|
||||
let thisObject = {
|
||||
run: run
|
||||
}
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
/*
|
||||
The DK object is accesible everywhere at the Superalgos Desktop App.
|
||||
It provides access to all modules built for this App.
|
||||
*/
|
||||
global.DK = {}
|
||||
/*
|
||||
The SA object is accesible everywhere at the Superalgos Desktop App.
|
||||
It provides access to all modules built for Superalgos in general.
|
||||
*/
|
||||
global.SA = {}
|
||||
/* Load Environment Variables */
|
||||
let ENVIRONMENT = require('./EnvironmentForDebug.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
global.PROJECTS_SCHEMA = require(global.env.PATH_TO_PROJECT_SCHEMA)
|
||||
/*
|
||||
Setting up the modules that will be available, defined at the Project Schema file.
|
||||
*/
|
||||
let MULTI_PROJECT = require('./MultiProject.js');
|
||||
let MULTI_PROJECT_MODULE = MULTI_PROJECT.newMultiProject()
|
||||
MULTI_PROJECT_MODULE.initialize(DK, 'DK')
|
||||
MULTI_PROJECT_MODULE.initialize(SA, 'SA')
|
||||
/*
|
||||
Setting up external dependencies.
|
||||
*/
|
||||
SA.nodeModules = {
|
||||
fs: require('fs'),
|
||||
util: require('util'),
|
||||
path: require('path'),
|
||||
web3: require('web3'),
|
||||
ws: require('ws'),
|
||||
open: require('open'),
|
||||
http: require('http'),
|
||||
octokit: require("@octokit/rest"),
|
||||
simpleGit: require('simple-git')
|
||||
}
|
||||
|
||||
/*
|
||||
We will use this User Profile for Testing Purposes.
|
||||
{
|
||||
"githubUsername": "Test-Network-Client-Profile",
|
||||
"address": "0xA0dCDA81b42C5EBDc45EC2875C72274B67560246",
|
||||
"privateKey": "0x5fed4817a87431c8a328d0936561e63f45b6db289adac6125b9306ded644dfe9"
|
||||
}
|
||||
*/
|
||||
|
||||
DK.TEST_NETWORK_CLIENT_USER_PROFILE_ID = "baa2f02c-2920-4edb-a103-d452fc61d82f"
|
||||
DK.TEST_NETWORK_CLIENT_USER_PROFILE_HANDLE = "Test-Network-Client-Profile"
|
||||
DK.TEST_NETWORK_CLIENT_USER_PROFILE_PRIVATE_KEY = "0x5fed4817a87431c8a328d0936561e63f45b6db289adac6125b9306ded644dfe9"
|
||||
|
||||
run()
|
||||
|
||||
async function run() {
|
||||
DK.app = require('./Desktop/DesktopApp.js').newDesktopApp()
|
||||
await DK.app.run()
|
||||
console.log('Superalgos Desktop App is Running!')
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -4,12 +4,11 @@ exports.newEnvironment = function () {
|
||||
WEB_SERVER_URL: 'localhost',
|
||||
CLIENT_WEB_SOCKETS_INTERFACE_PORT: 18041,
|
||||
CLIENT_HTTP_INTERFACE_PORT: 34248,
|
||||
PATH_TO_TASK_SERVER: './TaskServer',
|
||||
PATH_TO_DATA_STORAGE: './Data-Storage',
|
||||
PATH_TO_PROJECTS: './Projects',
|
||||
PATH_TO_LOG_FILES: './Log-Files',
|
||||
PATH_TO_PROJECTS_REQUIRED: './Projects',
|
||||
PATH_TO_PROJECT_SCHEMA: '../Projects/ProjectsSchema.json',
|
||||
PATH_TO_PROJECT_SCHEMA: './Projects/ProjectsSchema.json',
|
||||
PATH_TO_CLIENT: './Platform',
|
||||
PATH_TO_DEFAULT_WORKSPACE: './Projects/Foundations/Plugins/Workspaces',
|
||||
PATH_TO_MY_WORKSPACES: './My-Workspaces',
|
||||
|
||||
@@ -8,7 +8,6 @@ exports.newEnvironment = function () {
|
||||
DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost',
|
||||
CLIENT_HTTP_INTERFACE_PORT: 34248,
|
||||
DESKTOP_HTTP_INTERFACE_PORT: 34249,
|
||||
PATH_TO_TASK_SERVER: './TaskServer',
|
||||
PATH_TO_DATA_STORAGE: './Data-Storage',
|
||||
PATH_TO_PROJECTS: './Projects',
|
||||
PATH_TO_LOG_FILES: './Log-Files',
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
exports.newNetworkRoot = function newNetworkRoot() {
|
||||
/*
|
||||
This module represents the execution root of the Network Node.
|
||||
We use this module that is outside the Network folder to
|
||||
load all node dependencies and get them ready to the actual node.
|
||||
*/
|
||||
let thisObject = {
|
||||
run: run
|
||||
}
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
/*
|
||||
The NT object is accesible everywhere at the Superalgos Network.
|
||||
It provides access to all modules built for this Network.
|
||||
*/
|
||||
global.NT = {}
|
||||
/*
|
||||
The SA object is accesible everywhere at the Superalgos Network.
|
||||
It provides access to all modules built for Superalgos in general.
|
||||
*/
|
||||
global.SA = {}
|
||||
/* Load Environment Variables */
|
||||
let ENVIRONMENT = require('./EnvironmentForDebug.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
global.PROJECTS_SCHEMA = require(global.env.PATH_TO_PROJECT_SCHEMA)
|
||||
/*
|
||||
Setting up the modules that will be available, defined at the Project Schema file.
|
||||
*/
|
||||
let MULTI_PROJECT = require('./MultiProject.js');
|
||||
let MULTI_PROJECT_MODULE = MULTI_PROJECT.newMultiProject()
|
||||
MULTI_PROJECT_MODULE.initialize(NT, 'NT')
|
||||
MULTI_PROJECT_MODULE.initialize(SA, 'SA')
|
||||
/*
|
||||
Setting up external dependencies.
|
||||
*/
|
||||
SA.nodeModules = {
|
||||
fs: require('fs'),
|
||||
nodeFetch: require('node-fetch'),
|
||||
web3: require('web3'),
|
||||
ws: require('ws')
|
||||
}
|
||||
|
||||
/*
|
||||
We will use this User Profile for testing purposes.
|
||||
{
|
||||
"githubUsername": "Test-Network-Node-Profile",
|
||||
"address": "0xa153469c57A91F5a59Fc6c45A37aD8dbad85e417",
|
||||
"privateKey": "0xac498ae59407e6b68429a814f64da2339550f93a767578e28c161ff119159271"
|
||||
}
|
||||
*/
|
||||
NT.NETWORK_NODE_USER_PROFILE_HANDLE = "Test-Network-Node-Profile"
|
||||
NT.NETWORK_NODE_USER_PROFILE_PRIVATE_KEY = "0xac498ae59407e6b68429a814f64da2339550f93a767578e28c161ff119159271"
|
||||
|
||||
NT.app = require('./Network/NetwokNode.js').newNetworkNode()
|
||||
NT.app.run()
|
||||
|
||||
console.log('Superalgos Network is Running.')
|
||||
}
|
||||
}
|
||||
@@ -75,7 +75,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
|
||||
async function doGithub() {
|
||||
|
||||
const { Octokit } = require("@octokit/rest")
|
||||
const { Octokit } = SA.nodeModules.octokit
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: token,
|
||||
@@ -93,7 +93,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
while (lastPage === false) {
|
||||
try {
|
||||
page++
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
let listResponse = await octokit[endpoint][method]({
|
||||
owner,
|
||||
repo,
|
||||
@@ -204,7 +204,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
try {
|
||||
const repo = repository
|
||||
const owner = 'Superalgos'
|
||||
const { Octokit } = require("@octokit/rest")
|
||||
const { Octokit } = SA.nodeModules.octokit
|
||||
const octokit = new Octokit({
|
||||
auth: token,
|
||||
userAgent: 'Superalgos Beta 11'
|
||||
@@ -223,7 +223,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
try {
|
||||
page++
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
|
||||
let listResponse = await octokit.rest.pulls.list({
|
||||
owner: owner,
|
||||
@@ -284,7 +284,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
/*
|
||||
Lets get the files changed at this Pull Request.
|
||||
*/
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
let listResponse = await octokit.rest.pulls.listFiles({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -309,7 +309,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
console.log('[WARN] Github Server -> mergeGithubPullRequests -> Merge Failed -> Pull Request "' + pullRequest.title + '" not merged because Github could not merge it. -> mergeResponse.message = ' + mergeResponse.data.message)
|
||||
} else {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Merge Succed -> Pull Request "' + pullRequest.title + '" successfully merged. -> mergeResponse.message = ' + mergeResponse.data.message)
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -333,7 +333,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
let pullRequestFile = filesChanged[j]
|
||||
let fileContentUrl = pullRequestFile.raw_url
|
||||
if (fileContentUrl.indexOf('Governance/Plugins/User-Profiles') >= 0) {
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -341,7 +341,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because it was detected that a User Profile file... \n\n' + fileContentUrl + '\n\n...was submitted together with ' + (filesChanged.length - 1) + ' other file/s. User Profiles files as per the Governance System rules, must be the only file present at a Pull Request in order to pass all the validations and be automatically merged.'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -379,7 +379,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
if (githubUsername !== fileName) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #2 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Github Username is not equal to the File Name. -> Github Username = ' + githubUsername + '-> fileName = ' + fileName)
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -387,7 +387,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because it was detected that the Github User "' + githubUsername + '" who submitted it, is not equal to the name of the User Profile Plugin File.\n\n File Name = "' + fileName + '"'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -402,8 +402,8 @@ exports.newGithubServer = function newGithubServer() {
|
||||
/*
|
||||
Validation #3: The file changed at the PR is a User Profile.
|
||||
*/
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
fileContent = await CL.projects.foundations.utilities.webAccess.fetchAPIDataFile(fileContentUrl)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
fileContent = await PL.projects.foundations.utilities.webAccess.fetchAPIDataFile(fileContentUrl)
|
||||
userProfile = JSON.parse(fileContent)
|
||||
|
||||
if (userProfile.type !== 'User Profile') {
|
||||
@@ -421,7 +421,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
if (messageSigned !== githubUsername) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #4 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Github Username is not equal to the Message Signed at the User Profile. -> Github Username = ' + githubUsername + '-> messageSigned = ' + messageSigned)
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -429,7 +429,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because it was detected that the Github User "' + githubUsername + '" who submitted it, is not equal to the Message Signed at the User Profile.\n\n Message Signed = "' + messageSigned + '"'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -447,7 +447,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
if (userProfile.name !== githubUsername) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #5 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Github Username is not equal to the User Profile node\'s name. -> Github Username = ' + githubUsername + '-> userProfile.name = ' + userProfile.name)
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -455,7 +455,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because it was detected that the Github User "' + githubUsername + '" who submitted it, is not equal to the User Profile node\'s name.\n\n User Profile Name = "' + userProfile.name + '"'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -495,7 +495,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #6 Failed -> Pull Request "' + pullRequest.title + '" not merged because the User Profile Id already exists and belongs to another User Profile on record. -> Profile Id = ' + userProfile.id + '-> User Profile with the same Id = ' + testUserProfile)
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -503,7 +503,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because the User Profile Id already exists and belongs to another User Profile on record. \n\nUser Profile Id = "' + userProfile.id + '" \n\n User Profile with the same Id = "' + testUserProfile + '"'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -538,7 +538,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
|
||||
let config = JSON.parse(otherUserProfile.config)
|
||||
let messageSigned = JSON.stringify(config.signature)
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.recoverAddress(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.recoverAddress(
|
||||
messageSigned
|
||||
)
|
||||
userProfileIdMap.set(serverResponse.address, otherUserProfile.name)
|
||||
@@ -546,7 +546,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
|
||||
let config = JSON.parse(userProfile.config)
|
||||
let messageSigned = JSON.stringify(config.signature)
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.recoverAddress(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.recoverAddress(
|
||||
messageSigned
|
||||
)
|
||||
|
||||
@@ -556,7 +556,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #7 Failed -> Pull Request "' + pullRequest.title + '" not merged because the User Profile Blockchain Account already exists and belongs to another User Profile on record. -> Profile Blockchain Account = ' + serverResponse.address + '-> User Profile with the same Blockchain Account = ' + testUserProfile)
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -564,7 +564,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because the User Profile Blockchain Account already exists and belongs to another User Profile on record. \n\nUser Profile Blockchain Account = "' + serverResponse.address + '" \n\n User Profile with the same Blockchain Account = "' + testUserProfile + '"'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -582,7 +582,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
/*
|
||||
All validations passed, we will proceed an merge this Pull Request.
|
||||
*/
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
mergeResponse = await octokit.rest.pulls.merge({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -603,7 +603,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
try {
|
||||
page++
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
|
||||
let listResponse = await octokit.rest.pulls.list({
|
||||
owner: owner,
|
||||
@@ -631,7 +631,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
for (let i = 0; i < githubPrListMaster.length; i++) {
|
||||
let pullRequest = githubPrListMaster[i]
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
@@ -639,7 +639,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
body: 'Hi, this is the Superalgos Governance System taking notice that you have submitted a pull request directly to the master branch.\n\nThanks for submitting a PR to the Superalgos Project. We value every contribution and everyone is welcome to send PRs. Unfortunatelly we are not merging pull requests directly into the master branch. Consider resubmitting to the develop branch intstead. For your convinienve, you can swithch branches from within the app, at the footer of the Docs tab. \n\n I will close this pull request now and look forward for your next contribution either to the develop branch or any other branch available for this purpose.'
|
||||
});
|
||||
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.pulls.update({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
|
||||
@@ -24,13 +24,13 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
/*
|
||||
We will create an HTTP Server and leave it running forever.
|
||||
*/
|
||||
SA.nodeModules.http.createServer(onHttpRequest).listen(global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
/* Starting the browser now is optional */
|
||||
if (process.argv.includes("noBrowser")) {
|
||||
//Running Client only with no UI.
|
||||
} else {
|
||||
SA.nodeModules.open('http://localhost:' + global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
}
|
||||
SA.nodeModules.http.createServer(onHttpRequest).listen(global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
/* Starting the browser now is optional */
|
||||
if (process.argv.includes("noBrowser")) {
|
||||
//Running Client only with no UI.
|
||||
} else {
|
||||
SA.nodeModules.open('http://localhost:' + global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
}
|
||||
}
|
||||
|
||||
function onHttpRequest(httpRequest, httpResponse) {
|
||||
@@ -52,7 +52,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
switch (params.method) {
|
||||
case 'getNetworkClientStatus': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.getNetworkClientStatus(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.getNetworkClientStatus(
|
||||
params.host,
|
||||
params.port,
|
||||
params.interface
|
||||
@@ -63,7 +63,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'createWalletAccount': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.createWalletAccount(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.createWalletAccount(
|
||||
params.entropy
|
||||
)
|
||||
|
||||
@@ -72,7 +72,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'getWalletBalances': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.getWalletBalances(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.getWalletBalances(
|
||||
params.host,
|
||||
params.port,
|
||||
params.interface,
|
||||
@@ -84,7 +84,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'signData': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.signData(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.signData(
|
||||
params.privateKey,
|
||||
params.data
|
||||
)
|
||||
@@ -94,7 +94,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'recoverAddress': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.recoverAddress(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.recoverAddress(
|
||||
params.signature
|
||||
)
|
||||
|
||||
@@ -103,7 +103,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'mnemonicToPrivateKey': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.mnemonicToPrivateKey(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.mnemonicToPrivateKey(
|
||||
params.mnemonic
|
||||
)
|
||||
|
||||
@@ -625,8 +625,8 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
contribute()
|
||||
|
||||
async function contribute() {
|
||||
const { lookpath } = require('lookpath');
|
||||
const gitpath = await lookpath('git');
|
||||
const { lookpath } = SA.nodeModules.lookpath
|
||||
const gitpath = await lookpath('git')
|
||||
if (gitpath === undefined) {
|
||||
console.log('[ERROR] `git` not installed.')
|
||||
} else {
|
||||
@@ -665,7 +665,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
|
||||
async function doGit() {
|
||||
const simpleGit = require('simple-git');
|
||||
const simpleGit = SA.nodeModules.simpleGit
|
||||
const options = {
|
||||
baseDir: process.cwd(),
|
||||
binary: 'git',
|
||||
@@ -696,7 +696,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
|
||||
async function doGithub() {
|
||||
|
||||
const { Octokit } = require("@octokit/rest")
|
||||
const { Octokit } = SA.nodeModules.octokit
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: token,
|
||||
@@ -760,7 +760,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
update()
|
||||
|
||||
async function update() {
|
||||
const { lookpath } = require('lookpath');
|
||||
const { lookpath } = SA.nodeModules.lookpath
|
||||
const gitpath = await lookpath('git');
|
||||
if (gitpath === undefined) {
|
||||
console.log('[ERROR] `git` not installed.')
|
||||
@@ -790,7 +790,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
|
||||
async function doGit() {
|
||||
const simpleGit = require('simple-git');
|
||||
const simpleGit = SA.nodeModules.simpleGit
|
||||
const options = {
|
||||
baseDir: process.cwd(),
|
||||
binary: 'git',
|
||||
@@ -831,7 +831,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
checkout()
|
||||
|
||||
async function checkout() {
|
||||
const { lookpath } = require('lookpath');
|
||||
const { lookpath } = SA.nodeModules.lookpath
|
||||
const gitpath = await lookpath('git');
|
||||
if (gitpath === undefined) {
|
||||
console.log('[ERROR] `git` not installed.')
|
||||
@@ -855,7 +855,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
|
||||
async function doGit() {
|
||||
const simpleGit = require('simple-git');
|
||||
const simpleGit = SA.nodeModules.simpleGit
|
||||
const options = {
|
||||
baseDir: process.cwd(),
|
||||
binary: 'git',
|
||||
@@ -890,7 +890,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
branch()
|
||||
|
||||
async function branch() {
|
||||
const { lookpath } = require('lookpath');
|
||||
const { lookpath } = SA.nodeModules.lookpath
|
||||
const gitpath = await lookpath('git');
|
||||
if (gitpath === undefined) {
|
||||
console.log('[ERROR] `git` not installed.')
|
||||
@@ -918,7 +918,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
|
||||
async function doGit() {
|
||||
const simpleGit = require('simple-git');
|
||||
const simpleGit = SA.nodeModules.simpleGit
|
||||
const options = {
|
||||
baseDir: process.cwd(),
|
||||
binary: 'git',
|
||||
@@ -1000,7 +1000,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
switch (params.method) {
|
||||
case 'getGithubStars': {
|
||||
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.getGithubStars(
|
||||
let serverResponse = await PL.servers.GITHUB_SERVER.getGithubStars(
|
||||
params.repository,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1011,7 +1011,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'getGithubWatchers': {
|
||||
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.getGithubWatchers(
|
||||
let serverResponse = await PL.servers.GITHUB_SERVER.getGithubWatchers(
|
||||
params.repository,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1022,7 +1022,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'getGithubForks': {
|
||||
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.getGithubForks(
|
||||
let serverResponse = await PL.servers.GITHUB_SERVER.getGithubForks(
|
||||
params.repository,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1033,7 +1033,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'mergePullRequests': {
|
||||
|
||||
let serverResponse = await CL.servers.GITHUB_SERVER.mergePullRequests(
|
||||
let serverResponse = await PL.servers.GITHUB_SERVER.mergePullRequests(
|
||||
params.commitMessage,
|
||||
params.username,
|
||||
params.token
|
||||
@@ -1044,7 +1044,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
}
|
||||
case 'payContributors': {
|
||||
|
||||
let serverResponse = await CL.servers.WEB3_SERVER.payContributors(
|
||||
let serverResponse = await PL.servers.WEB3_SERVER.payContributors(
|
||||
params.contractAddress,
|
||||
params.contractAbi,
|
||||
params.paymentsArray,
|
||||
@@ -1375,6 +1375,11 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
let folder = unescape(requestPath[3])
|
||||
let fileName = unescape(requestPath[4])
|
||||
|
||||
/*Beta 12 Refactoring Code: Remove this before realeasing beta 12.*/
|
||||
if (fileName === 'Superalgos-CL.json') {
|
||||
fileName = 'Superalgos-PL.json'
|
||||
}
|
||||
|
||||
let response = await SA.projects.foundations.utilities.plugins.getPluginFileContent(
|
||||
project,
|
||||
folder,
|
||||
@@ -1693,7 +1698,7 @@ exports.newHttpInterface = function newHttpInterface() {
|
||||
break
|
||||
default:
|
||||
{
|
||||
SA.projects.foundations.utilities.httpResponses.respondWithWebFile(httpResponse, endpointOrFile, global.env.PATH_TO_CLIENT)
|
||||
SA.projects.foundations.utilities.httpResponses.respondWithWebFile(httpResponse, endpointOrFile, global.env.PATH_TO_CLIENT)
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Name = ' + message.event.taskName)
|
||||
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Id = ' + message.event.taskId)
|
||||
|
||||
let path = global.env.PATH_TO_TASK_SERVER + '/Task.js'
|
||||
let path = './TaskServerRoot.js'
|
||||
|
||||
/* Workarround to avoid having the same debug port at the forked process which makes it crash. */
|
||||
for (let i = 0; i < process.execArgv.length; i++) {
|
||||
@@ -263,7 +263,7 @@
|
||||
responseWaiters.set(command.callerId, responseCallBack)
|
||||
}
|
||||
|
||||
CL.servers.EVENT_SERVER.onMessage(JSON.stringify(command), thisObject.onMessage)
|
||||
PL.servers.EVENT_SERVER.onMessage(JSON.stringify(command), thisObject.onMessage)
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Client -> Task Manager Server -> sendCommand -> Error Sending Command to Events Server -> command = ' + JSON.stringify(command))
|
||||
console.log('[ERROR] Client -> Task Manager Server -> sendCommand -> Error Sending Command to Events Server -> error = ' + err.stack)
|
||||
|
||||
@@ -15,7 +15,7 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
run: run
|
||||
}
|
||||
|
||||
const Web3 = require('web3');
|
||||
const Web3 = SA.nodeModules.web3
|
||||
let web3Map = new Map()
|
||||
|
||||
return thisObject
|
||||
@@ -241,7 +241,7 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
|
||||
async function mnemonicToPrivateKey(mnemonic) {
|
||||
try {
|
||||
const ethers = require('ethers')
|
||||
const ethers = SA.nodeModules.ethers
|
||||
let wallet = ethers.Wallet.fromMnemonic(mnemonic)
|
||||
|
||||
if (wallet.privateKey !== undefined) {
|
||||
@@ -269,7 +269,7 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
let privateKey = response.privateKey
|
||||
|
||||
for (let i = 0; i < paymentsArray.length; i++) {
|
||||
await CL.projects.foundations.utilities.asyncFunctions.sleep(10000)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(10000)
|
||||
let payment = paymentsArray[i]
|
||||
sendTokens(
|
||||
i + 1,
|
||||
@@ -288,14 +288,14 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
console.log('---------------------------------------------------------------------------------------------------------------------------------------------------')
|
||||
console.log('')
|
||||
|
||||
const Tx = require('ethereumjs-tx').Transaction;
|
||||
const Tx = SA.nodeModules.ethereumjsTx.Transaction;
|
||||
const web3 = new Web3(new Web3.providers.HttpProvider('https://bsc-dataseed.binance.org/'))
|
||||
const amount = web3.utils.toHex(tokenAmount)
|
||||
privateKey = privateKey.replace('0x', '')
|
||||
const privateKeyBuffer = Buffer.from(privateKey, 'hex')
|
||||
const contractAbiObject = JSON.parse(contractAbi)
|
||||
const contract = new web3.eth.Contract(contractAbiObject, contractAddress, { from: fromAddress })
|
||||
const Common = require('ethereumjs-common').default
|
||||
const Common = SA.nodeModules.ethereumjsCommon.default
|
||||
const BSC_FORK = Common.forCustomChain(
|
||||
'mainnet',
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
const WEB_SOCKET = require('ws')
|
||||
const WEB_SOCKET = SA.nodeModules.ws
|
||||
let socketServer
|
||||
let port = global.env.CLIENT_WEB_SOCKETS_INTERFACE_PORT
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
}
|
||||
|
||||
|
||||
CL.servers.EVENT_SERVER.onMessage(messageToEventServer, onResponse)
|
||||
PL.servers.EVENT_SERVER.onMessage(messageToEventServer, onResponse)
|
||||
|
||||
function onResponse(message) {
|
||||
socket.send(message)
|
||||
@@ -97,7 +97,8 @@
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Client -> Web Sockets Interface -> run -> setUpWebSocketServer -> err.message = ' + err.message.substring(0, 1000))
|
||||
console.log('[ERROR] Client -> Web Sockets Interface -> run -> setUpWebSocketServer -> err.message = ' + err.message)
|
||||
console.log('[ERROR] Client -> Web Sockets Interface -> run -> setUpWebSocketServer -> err.message = ' + err.stack)
|
||||
}
|
||||
}
|
||||
}
|
||||
+162
-190
@@ -1,194 +1,166 @@
|
||||
exports.newPlatformApp = function newPlatformApp() {
|
||||
|
||||
/* Load Environment Variables */
|
||||
let ENVIRONMENT = require('../Environment.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
|
||||
process.on('uncaughtException', function (err) {
|
||||
if (err.message && err.message.indexOf("EADDRINUSE") > 0) {
|
||||
console.log("The Superalgos Platform Client cannot be started. Reason: the port configured migth be being used by another application, or Superalgos Platform Client might be already running.")
|
||||
return
|
||||
}
|
||||
console.log('[ERROR] Platform App -> uncaughtException -> err.message = ' + err.message)
|
||||
console.log('[ERROR] Platform App -> uncaughtException -> err.stack = ' + err.stack)
|
||||
console.log('[ERROR] Platform App -> uncaughtException -> err = ' + err)
|
||||
process.exit(1)
|
||||
})
|
||||
|
||||
process.on('unhandledRejection', (reason, p) => {
|
||||
// Signal user that a necissary node module is missing
|
||||
if (reason.code == 'MODULE_NOT_FOUND') {
|
||||
console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Superalgos Platform Client.")
|
||||
console.log('[ERROR] Platform App -> reason = ' + JSON.stringify(reason))
|
||||
process.exit(1)
|
||||
}
|
||||
console.log('[ERROR] Platform App -> unhandledRejection -> reason = ' + JSON.stringify(reason))
|
||||
console.log('[ERROR] Platform App -> unhandledRejection -> p = ' + JSON.stringify(p))
|
||||
process.exit(1)
|
||||
})
|
||||
try {
|
||||
/* Callbacks default responses. */
|
||||
|
||||
global.DEFAULT_OK_RESPONSE = {
|
||||
result: "Ok",
|
||||
message: "Operation Succeeded"
|
||||
};
|
||||
|
||||
global.DEFAULT_FAIL_RESPONSE = {
|
||||
result: "Fail",
|
||||
message: "Operation Failed"
|
||||
};
|
||||
|
||||
global.DEFAULT_RETRY_RESPONSE = {
|
||||
result: 'Retry',
|
||||
message: 'Retry Later'
|
||||
let thisObject = {
|
||||
run: run
|
||||
}
|
||||
|
||||
global.CUSTOM_OK_RESPONSE = {
|
||||
result: 'Ok, but check Message',
|
||||
message: 'Custom Message'
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
|
||||
process.on('uncaughtException', function (err) {
|
||||
if (err.message && err.message.indexOf("EADDRINUSE") > 0) {
|
||||
console.log("The Superalgos Platform Client cannot be started. Reason: the port configured migth be being used by another application, or Superalgos Platform Client might be already running.")
|
||||
return
|
||||
}
|
||||
console.log('[ERROR] Platform App -> uncaughtException -> err.message = ' + err.message)
|
||||
console.log('[ERROR] Platform App -> uncaughtException -> err.stack = ' + err.stack)
|
||||
console.log('[ERROR] Platform App -> uncaughtException -> err = ' + err)
|
||||
process.exit(1)
|
||||
})
|
||||
|
||||
process.on('unhandledRejection', (reason, p) => {
|
||||
// Signal user that a necissary node module is missing
|
||||
if (reason.code == 'MODULE_NOT_FOUND') {
|
||||
console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Superalgos Platform Client.")
|
||||
console.log('[ERROR] Platform App -> reason = ' + JSON.stringify(reason))
|
||||
process.exit(1)
|
||||
}
|
||||
console.log('[ERROR] Platform App -> unhandledRejection -> reason = ' + JSON.stringify(reason))
|
||||
console.log('[ERROR] Platform App -> unhandledRejection -> p = ' + JSON.stringify(p))
|
||||
process.exit(1)
|
||||
})
|
||||
try {
|
||||
/* Callbacks default responses. */
|
||||
|
||||
global.DEFAULT_OK_RESPONSE = {
|
||||
result: "Ok",
|
||||
message: "Operation Succeeded"
|
||||
};
|
||||
|
||||
global.DEFAULT_FAIL_RESPONSE = {
|
||||
result: "Fail",
|
||||
message: "Operation Failed"
|
||||
};
|
||||
|
||||
global.DEFAULT_RETRY_RESPONSE = {
|
||||
result: 'Retry',
|
||||
message: 'Retry Later'
|
||||
}
|
||||
|
||||
global.CUSTOM_OK_RESPONSE = {
|
||||
result: 'Ok, but check Message',
|
||||
message: 'Custom Message'
|
||||
}
|
||||
|
||||
global.CUSTOM_FAIL_RESPONSE = {
|
||||
result: 'Fail Because',
|
||||
message: 'Custom Message'
|
||||
}
|
||||
|
||||
/* Servers */
|
||||
let WEB_SERVER = require('./Client/webServer.js')
|
||||
let DATA_FILE_SERVER = require('./Client/dataFileServer.js')
|
||||
let PROJECT_FILE_SERVER = require('./Client/projectFileServer.js')
|
||||
let UI_FILE_SERVER = require('./Client/uiFileServer.js')
|
||||
let PLUGIN_SERVER = require('./Client/pluginServer.js')
|
||||
let EVENT_SERVER = require('./Client/eventServer.js')
|
||||
let TASK_MANAGER_SERVER = require('./Client/taskManagerServer.js')
|
||||
let CCXT_SERVER = require('./Client/ccxtServer.js')
|
||||
let WEB3_SERVER = require('./Client/web3Server.js')
|
||||
let GITHUB_SERVER = require('./Client/githubServer.js')
|
||||
|
||||
/* Network Interfaces */
|
||||
let WEB_SOCKETS_INTERFACE = require('./Client/webSocketsInterface.js')
|
||||
let HTTP_INTERFACE = require('./Client/httpInterface.js')
|
||||
/*
|
||||
Setting up servers running inside this Client.
|
||||
*/
|
||||
PL.servers = {}
|
||||
console.log('SUPERALGOS PLATFORM CLIENT SERVERS:')
|
||||
console.log('')
|
||||
|
||||
PL.servers.WEB_SERVER = WEB_SERVER.newWebServer()
|
||||
PL.servers.WEB_SERVER.initialize()
|
||||
PL.servers.WEB_SERVER.run()
|
||||
console.log('Web Server .................................................. Started')
|
||||
|
||||
PL.servers.UI_FILE_SERVER = UI_FILE_SERVER.newUIFileServer()
|
||||
PL.servers.UI_FILE_SERVER.initialize()
|
||||
PL.servers.UI_FILE_SERVER.run()
|
||||
console.log('UI File Server .............................................. Started')
|
||||
|
||||
PL.servers.PROJECT_FILE_SERVER = PROJECT_FILE_SERVER.newProjectFileServer()
|
||||
PL.servers.PROJECT_FILE_SERVER.initialize()
|
||||
PL.servers.PROJECT_FILE_SERVER.run()
|
||||
console.log('Project File Server ......................................... Started')
|
||||
|
||||
PL.servers.PLUGIN_SERVER = PLUGIN_SERVER.newPluginServer()
|
||||
PL.servers.PLUGIN_SERVER.initialize()
|
||||
PL.servers.PLUGIN_SERVER.run()
|
||||
console.log('Plugin Server ............................................... Started')
|
||||
|
||||
PL.servers.DATA_FILE_SERVER = DATA_FILE_SERVER.newDataFileServer()
|
||||
PL.servers.DATA_FILE_SERVER.initialize()
|
||||
PL.servers.DATA_FILE_SERVER.run()
|
||||
console.log('Data File Server ............................................ Started')
|
||||
|
||||
PL.servers.EVENT_SERVER = EVENT_SERVER.newEventServer()
|
||||
PL.servers.EVENT_SERVER.initialize()
|
||||
PL.servers.EVENT_SERVER.run()
|
||||
console.log('Events Server ............................................... Started')
|
||||
|
||||
TASK_MANAGER_SERVER = TASK_MANAGER_SERVER.newTaskManagerServer()
|
||||
TASK_MANAGER_SERVER.initialize()
|
||||
TASK_MANAGER_SERVER.run()
|
||||
console.log('Task Manager Server ......................................... Started')
|
||||
|
||||
PL.servers.CCXT_SERVER = CCXT_SERVER.newCCXTServer()
|
||||
PL.servers.CCXT_SERVER.initialize()
|
||||
PL.servers.CCXT_SERVER.run()
|
||||
console.log('CCXT Server ................................................. Started')
|
||||
|
||||
PL.servers.WEB3_SERVER = WEB3_SERVER.newWeb3Server()
|
||||
PL.servers.WEB3_SERVER.initialize()
|
||||
PL.servers.WEB3_SERVER.run()
|
||||
console.log('WEB3 Server ................................................. Started')
|
||||
|
||||
PL.servers.GITHUB_SERVER = GITHUB_SERVER.newGithubServer()
|
||||
PL.servers.GITHUB_SERVER.initialize()
|
||||
PL.servers.GITHUB_SERVER.run()
|
||||
console.log('Github Server ............................................... Started')
|
||||
|
||||
console.log('')
|
||||
console.log('SUPERALGOS PLATFORM CLIENT INTERFACES:')
|
||||
console.log('')
|
||||
|
||||
WEB_SOCKETS_INTERFACE = WEB_SOCKETS_INTERFACE.newWebSocketsInterface()
|
||||
WEB_SOCKETS_INTERFACE.initialize()
|
||||
console.log('Web Sockets Interface ....................................... Listening at port ' + global.env.CLIENT_WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
HTTP_INTERFACE = HTTP_INTERFACE.newHttpInterface()
|
||||
HTTP_INTERFACE.initialize()
|
||||
console.log('Http Interface .............................................. Listening at port ' + global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
|
||||
console.log('')
|
||||
console.log("You are running Superalgos Beta 11")
|
||||
console.log('')
|
||||
console.log("What's new? These are the main new features in this version:")
|
||||
console.log('')
|
||||
console.log('Governance System ........................................... Automates the distribution of SA Tokens and allow users to vote on the direction of the project.')
|
||||
console.log('TensorFlow Integration ...................................... Allows creating and training ML models and use them in trading strategies.')
|
||||
console.log('')
|
||||
console.log("What's next? This is the current development pipeline:")
|
||||
console.log('')
|
||||
console.log('Superalgos P2P Network ...................................... Will allow algo-traders to share trading signals with Superalgos users consuming these signals via a mobile app.')
|
||||
console.log('Real-time Trading Signals ................................... Will allow users to emit trading signals and be rewarded with SA Tokens.')
|
||||
console.log('Superalgos Mobile ........................................... Will allow users to consume trading signals for free and autonomously execute trades from their mobile phones.')
|
||||
console.log('Ethereum Integration ........................................ Will allow mining data from an Ethereum network node, and bring it into the Superalgos workflow. [Looking for an Ethereum dev that would like to continue this line of development.]')
|
||||
|
||||
console.log('')
|
||||
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Platform App -> Error = ' + err.stack)
|
||||
}
|
||||
}
|
||||
|
||||
global.CUSTOM_FAIL_RESPONSE = {
|
||||
result: 'Fail Because',
|
||||
message: 'Custom Message'
|
||||
}
|
||||
|
||||
/* Servers */
|
||||
let WEB_SERVER = require('./Client/webServer.js')
|
||||
let DATA_FILE_SERVER = require('./Client/dataFileServer.js')
|
||||
let PROJECT_FILE_SERVER = require('./Client/projectFileServer.js')
|
||||
let UI_FILE_SERVER = require('./Client/uiFileServer.js')
|
||||
let PLUGIN_SERVER = require('./Client/pluginServer.js')
|
||||
let EVENT_SERVER = require('./Client/eventServer.js')
|
||||
let TASK_MANAGER_SERVER = require('./Client/taskManagerServer.js')
|
||||
let CCXT_SERVER = require('./Client/ccxtServer.js')
|
||||
let WEB3_SERVER = require('./Client/web3Server.js')
|
||||
let GITHUB_SERVER = require('./Client/githubServer.js')
|
||||
|
||||
/* Network Interfaces */
|
||||
let WEB_SOCKETS_INTERFACE = require('./Client/webSocketsInterface.js')
|
||||
let HTTP_INTERFACE = require('./Client/httpInterface.js')
|
||||
|
||||
|
||||
/*
|
||||
The CL object is accesible everywhere at the Superalgos Client.
|
||||
It provides access to all modules built for this Client.
|
||||
*/
|
||||
global.CL = {}
|
||||
/*
|
||||
The SA object is accesible everywhere at the Superalgos Client.
|
||||
It provides access to all modules built for Superalgos in general.
|
||||
*/
|
||||
global.SA = {}
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
global.PROJECTS_SCHEMA = require(global.env.PATH_TO_PROJECT_SCHEMA)
|
||||
/*
|
||||
Setting up the modules that will be available for the Servers Running inside this Client
|
||||
*/
|
||||
let MULTI_PROJECT = require('../MultiProject.js');
|
||||
let MULTI_PROJECT_MODULE = MULTI_PROJECT.newMultiProject()
|
||||
MULTI_PROJECT_MODULE.initialize(CL, 'CL')
|
||||
MULTI_PROJECT_MODULE.initialize(SA, 'SA')
|
||||
/*
|
||||
Setting up external dependencies.
|
||||
*/
|
||||
SA.nodeModules = {
|
||||
fs: require('fs'),
|
||||
nodeFetch: require('node-fetch'),
|
||||
open: require('open'),
|
||||
http: require('http'),
|
||||
ccxt: require('ccxt')
|
||||
}
|
||||
/*
|
||||
Setting up servers running inside this Client.
|
||||
*/
|
||||
CL.servers = {}
|
||||
console.log('SUPERALGOS PLATFORM CLIENT SERVERS:')
|
||||
console.log('')
|
||||
|
||||
CL.servers.WEB_SERVER = WEB_SERVER.newWebServer()
|
||||
CL.servers.WEB_SERVER.initialize()
|
||||
CL.servers.WEB_SERVER.run()
|
||||
console.log('Web Server .................................................. Started')
|
||||
|
||||
CL.servers.UI_FILE_SERVER = UI_FILE_SERVER.newUIFileServer()
|
||||
CL.servers.UI_FILE_SERVER.initialize()
|
||||
CL.servers.UI_FILE_SERVER.run()
|
||||
console.log('UI File Server .............................................. Started')
|
||||
|
||||
CL.servers.PROJECT_FILE_SERVER = PROJECT_FILE_SERVER.newProjectFileServer()
|
||||
CL.servers.PROJECT_FILE_SERVER.initialize()
|
||||
CL.servers.PROJECT_FILE_SERVER.run()
|
||||
console.log('Project File Server ......................................... Started')
|
||||
|
||||
CL.servers.PLUGIN_SERVER = PLUGIN_SERVER.newPluginServer()
|
||||
CL.servers.PLUGIN_SERVER.initialize()
|
||||
CL.servers.PLUGIN_SERVER.run()
|
||||
console.log('Plugin Server ............................................... Started')
|
||||
|
||||
CL.servers.DATA_FILE_SERVER = DATA_FILE_SERVER.newDataFileServer()
|
||||
CL.servers.DATA_FILE_SERVER.initialize()
|
||||
CL.servers.DATA_FILE_SERVER.run()
|
||||
console.log('Data File Server ............................................ Started')
|
||||
|
||||
CL.servers.EVENT_SERVER = EVENT_SERVER.newEventServer()
|
||||
CL.servers.EVENT_SERVER.initialize()
|
||||
CL.servers.EVENT_SERVER.run()
|
||||
console.log('Events Server ............................................... Started')
|
||||
|
||||
TASK_MANAGER_SERVER = TASK_MANAGER_SERVER.newTaskManagerServer()
|
||||
TASK_MANAGER_SERVER.initialize()
|
||||
TASK_MANAGER_SERVER.run()
|
||||
console.log('Task Manager Server ......................................... Started')
|
||||
|
||||
CL.servers.CCXT_SERVER = CCXT_SERVER.newCCXTServer()
|
||||
CL.servers.CCXT_SERVER.initialize()
|
||||
CL.servers.CCXT_SERVER.run()
|
||||
console.log('CCXT Server ................................................. Started')
|
||||
|
||||
CL.servers.WEB3_SERVER = WEB3_SERVER.newWeb3Server()
|
||||
CL.servers.WEB3_SERVER.initialize()
|
||||
CL.servers.WEB3_SERVER.run()
|
||||
console.log('WEB3 Server ................................................. Started')
|
||||
|
||||
CL.servers.GITHUB_SERVER = GITHUB_SERVER.newGithubServer()
|
||||
CL.servers.GITHUB_SERVER.initialize()
|
||||
CL.servers.GITHUB_SERVER.run()
|
||||
console.log('Github Server ............................................... Started')
|
||||
|
||||
console.log('')
|
||||
console.log('SUPERALGOS PLATFORM CLIENT INTERFACES:')
|
||||
console.log('')
|
||||
|
||||
WEB_SOCKETS_INTERFACE = WEB_SOCKETS_INTERFACE.newWebSocketsInterface()
|
||||
WEB_SOCKETS_INTERFACE.initialize()
|
||||
console.log('Web Sockets Interface ....................................... Listening at port ' + global.env.CLIENT_WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
HTTP_INTERFACE = HTTP_INTERFACE.newHttpInterface()
|
||||
HTTP_INTERFACE.initialize()
|
||||
console.log('Http Interface .............................................. Listening at port ' + global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
|
||||
console.log('')
|
||||
console.log("You are running Superalgos Beta 11")
|
||||
console.log('')
|
||||
console.log("What's new? These are the main new features in this version:")
|
||||
console.log('')
|
||||
console.log('Governance System ........................................... Automates the distribution of SA Tokens and allow users to vote on the direction of the project.')
|
||||
console.log('TensorFlow Integration ...................................... Allows creating and training ML models and use them in trading strategies.')
|
||||
console.log('')
|
||||
console.log("What's next? This is the current development pipeline:")
|
||||
console.log('')
|
||||
console.log('Superalgos P2P Network ...................................... Will allow algo-traders to share trading signals with Superalgos users consuming these signals via a mobile app.')
|
||||
console.log('Real-time Trading Signals ................................... Will allow users to emit trading signals and be rewarded with SA Tokens.')
|
||||
console.log('Superalgos Mobile ........................................... Will allow users to consume trading signals for free and autonomously execute trades from their mobile phones.')
|
||||
console.log('Ethereum Integration ........................................ Will allow mining data from an Ethereum network node, and bring it into the Superalgos workflow.')
|
||||
|
||||
console.log('')
|
||||
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Platform App -> Error = ' + err.stack)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -195,7 +195,7 @@ function newEventsServerClient(networkNode) {
|
||||
if (networkNode !== undefined) {
|
||||
if (networkNode.payload !== undefined) {
|
||||
if (networkNode.payload.uiObject !== undefined) {
|
||||
networkNode.payload.uiObject.setErrorMessage('Failed to Connect to Superalgos Client via WebSockets. Retrying in 1 minute. Check at this node config if the host property has the IP address of the computer running Superalgos Client.')
|
||||
networkNode.payload.uiObject.setErrorMessage('Failed to Connect to Superalgos Platform Client via WebSockets. Retrying in 1 minute. Check at this node config if the host property has the IP address of the computer running Superalgos Platform Client.')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -204,7 +204,7 @@ function newEventsServerClient(networkNode) {
|
||||
if (networkNode !== undefined) {
|
||||
if (networkNode.payload !== undefined) {
|
||||
if (networkNode.payload.uiObject !== undefined) {
|
||||
networkNode.payload.uiObject.setStatus('Connected to Superalgos Client via WebSockets.')
|
||||
networkNode.payload.uiObject.setStatus('Connected to Superalgos Platform Client via WebSockets.')
|
||||
retryCommandsPhysics()
|
||||
}
|
||||
}
|
||||
|
||||
Generated
-3700
File diff suppressed because it is too large.
Load diff
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "Superalgos-Plarform",
|
||||
"version": "0.0.11",
|
||||
"description": "Superalgos Plarform",
|
||||
"main": "PlatformApp.js",
|
||||
"author": {
|
||||
"name": "Luis-Fernando-Molina"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/rest": "^18.9.0",
|
||||
"ccxt": "^1.51.98",
|
||||
"child_process": "^1.0.2",
|
||||
"ethereumjs-common": "^1.5.2",
|
||||
"ethereumjs-tx": "^2.1.2",
|
||||
"ethers": "^5.4.4",
|
||||
"lookpath": "^1.2.2",
|
||||
"node-fetch": "^2.6.1",
|
||||
"open": "^8.2.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"simple-git": "^2.42.0",
|
||||
"web3": "^1.5.2",
|
||||
"ws": "^8.2.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
/*
|
||||
This module represents the execution root of the Platform App.
|
||||
We use this module that is outside the Platform folder to
|
||||
load all node dependencies and get them ready to the actual App.
|
||||
*/
|
||||
|
||||
/*
|
||||
The PL object is accesible everywhere at the Superalgos Platform Client.
|
||||
It provides access to all modules built for this Client.
|
||||
*/
|
||||
global.PL = {}
|
||||
/*
|
||||
The SA object is accesible everywhere at the Superalgos Desktop App.
|
||||
It provides access to all modules built for Superalgos in general.
|
||||
*/
|
||||
global.SA = {}
|
||||
/* Load Environment Variables */
|
||||
let ENVIRONMENT = require('./Environment.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
global.PROJECTS_SCHEMA = require(global.env.PATH_TO_PROJECT_SCHEMA)
|
||||
/*
|
||||
Setting up the modules that will be available, defined at the Project Schema file.
|
||||
*/
|
||||
let MULTI_PROJECT = require('./MultiProject.js');
|
||||
let MULTI_PROJECT_MODULE = MULTI_PROJECT.newMultiProject()
|
||||
MULTI_PROJECT_MODULE.initialize(PL, 'PL')
|
||||
MULTI_PROJECT_MODULE.initialize(SA, 'SA')
|
||||
/*
|
||||
Setting up external dependencies.
|
||||
*/
|
||||
SA.nodeModules = {
|
||||
fs: require('fs'),
|
||||
util: require('util'),
|
||||
path: require('path'),
|
||||
ws: require('ws'),
|
||||
web3: require('web3'),
|
||||
ethers: require('ethers'),
|
||||
ethereumjsTx: require('ethereumjs-tx'),
|
||||
ethereumjsCommon: require('ethereumjs-common'),
|
||||
nodeFetch: require('node-fetch'),
|
||||
open: require('open'),
|
||||
http: require('http'),
|
||||
ccxt: require('ccxt'),
|
||||
octokit: require("@octokit/rest"),
|
||||
simpleGit: require('simple-git'),
|
||||
lookpath: require('lookpath')
|
||||
}
|
||||
|
||||
run()
|
||||
|
||||
async function run() {
|
||||
PL.app = require('./Platform/PlatformApp.js').newPlatformApp()
|
||||
await PL.app.run()
|
||||
console.log('Superalgos Platform App is Running!')
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
File renamed without changes.
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "Docs Space Settings",
|
||||
"level": 4,
|
||||
"propertyNameAtParent": "docsSpaceSettings",
|
||||
"attachingRules": {
|
||||
"compatibleTypes": "Docs Space->"
|
||||
},
|
||||
"editors": {
|
||||
"config": true
|
||||
},
|
||||
"initialValues": {
|
||||
"config": "{\"indexContent\": true \n }"
|
||||
},
|
||||
"menuItems": [
|
||||
{
|
||||
"action": "Configure",
|
||||
"actionFunction": "uiObject.configEditor.activate",
|
||||
"label": "Configure",
|
||||
"iconPathOn": "configuration",
|
||||
"iconPathOff": "configuration"
|
||||
},
|
||||
{
|
||||
"action": "Delete UI Object",
|
||||
"askConfirmation": true,
|
||||
"confirmationLabel": "Confirm to Delete",
|
||||
"actionFunction": "payload.executeAction",
|
||||
"label": "Delete",
|
||||
"iconPathOn": "delete-entity",
|
||||
"iconPathOff": "delete-entity"
|
||||
}
|
||||
],
|
||||
"addLeftIcons": true
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "Docs Space Style",
|
||||
"level": 4,
|
||||
"propertyNameAtParent": "docsSpaceStyle",
|
||||
"attachingRules": {
|
||||
"compatibleTypes": "Docs Space->"
|
||||
},
|
||||
"editors": {
|
||||
"config": true
|
||||
},
|
||||
"initialValues": {
|
||||
"config": "{\"backgroundColor\":\"UI_COLOR.BLACK\",\"node\":{\"fontSize\":16,\"imageSize\":60,\"type\":{\"fontColor\":\"UI_COLOR.WHITE\"},\"name\":{\"fontColor\":\"UI_COLOR.WHITE\"},\"menuItem\":{\"backgroundColor\":\"UI_COLOR.BLACK\",\"fontColor\":\"UI_COLOR.WHITE\",\"fontSize\":14,\"imageSize\":14}}}"
|
||||
},
|
||||
"menuItems": [
|
||||
{
|
||||
"action": "Configure",
|
||||
"actionFunction": "uiObject.configEditor.activate",
|
||||
"label": "Configure",
|
||||
"iconPathOn": "configuration",
|
||||
"iconPathOff": "configuration"
|
||||
},
|
||||
{
|
||||
"action": "Delete UI Object",
|
||||
"askConfirmation": true,
|
||||
"confirmationLabel": "Confirm to Delete",
|
||||
"actionFunction": "payload.executeAction",
|
||||
"label": "Delete",
|
||||
"iconPathOn": "delete-entity",
|
||||
"iconPathOff": "delete-entity"
|
||||
}
|
||||
],
|
||||
"addLeftIcons": true
|
||||
}
|
||||
+4
-4
@@ -32,15 +32,15 @@
|
||||
"level": 0,
|
||||
"childrenNodesProperties": [
|
||||
{
|
||||
"name": "spaceStyle",
|
||||
"name": "docsSpaceStyle",
|
||||
"type": "node",
|
||||
"childType": "Space Style",
|
||||
"childType": "Docs Space Style",
|
||||
"autoAdd": true
|
||||
},
|
||||
{
|
||||
"name": "spaceSettings",
|
||||
"name": "docsSpaceSettings",
|
||||
"type": "node",
|
||||
"childType": "Space Settings",
|
||||
"childType": "Docs Space Settings",
|
||||
"autoAdd": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"type": "Education Project",
|
||||
"menuItems": [
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"actionProject": "Foundations",
|
||||
"label": "Add Tutorial",
|
||||
"iconProject": "Education",
|
||||
"relatedUiObject": "Tutorial",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"actionProject": "Foundations",
|
||||
"label": "Add Docs Space",
|
||||
"relatedUiObject": "Docs Space",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Delete UI Object",
|
||||
"actionProject": "Foundations",
|
||||
"askConfirmation": true,
|
||||
"confirmationLabel": "Confirm to Delete",
|
||||
"actionFunction": "payload.executeAction",
|
||||
"label": "Delete",
|
||||
"iconPathOn": "delete-entity",
|
||||
"iconPathOff": "delete-entity"
|
||||
}
|
||||
],
|
||||
"isProjectHead": true,
|
||||
"isTitleAllwaysVisible": false,
|
||||
"addLeftIcons": true,
|
||||
"isPinned": true,
|
||||
"positionLocked": true,
|
||||
"childrenNodesProperties": [
|
||||
{
|
||||
"name": "projectDefinition",
|
||||
"type": "node",
|
||||
"childType": "Project Definition",
|
||||
"project": "Foundations",
|
||||
"autoAdd": true
|
||||
}
|
||||
],
|
||||
"icon": "education"
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"type": "Docs Space Settings",
|
||||
"definition": {
|
||||
"text": "This node allows the user to determine how the docs space will be loaded by the current workspace.",
|
||||
"updated": 1631587592724
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Subtitle",
|
||||
"text": "Properties",
|
||||
"updated": 1631587516173
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "indexContent defines whether the contents of the docs space will be indexed for searching upon loading the workspace. If false docs space will be disabled allowing faster load times for development."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "Docs Space Style",
|
||||
"definition": {
|
||||
"text": "This node is currently a place holder that will eventually allow users to adjust the visual apperance of the docs space.",
|
||||
"updated": 1631589004055
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and select the pencil button to enter edit mode."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -23,8 +23,8 @@ function newFoundationsDocsSearchEngine() {
|
||||
*/
|
||||
let docsSpaceNode = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadByNodeType('Docs Space')
|
||||
if (docsSpaceNode !== undefined) {
|
||||
if (docsSpaceNode.spaceSettings !== undefined) {
|
||||
let indexContent = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(docsSpaceNode.spaceSettings.payload, 'indexContent')
|
||||
if (docsSpaceNode.docsSpaceSettings !== undefined) {
|
||||
let indexContent = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(docsSpaceNode.docsSpaceSettings.payload, 'indexContent')
|
||||
if (indexContent === false) {
|
||||
callbackFunction()
|
||||
return
|
||||
|
||||
@@ -12,6 +12,7 @@ function newEducationTutorialSpace() {
|
||||
playTutorialStep: playTutorialStep,
|
||||
resumeTutorialStep: resumeTutorialStep,
|
||||
resetTutorialProgress: resetTutorialProgress,
|
||||
sidePanelTab: undefined,
|
||||
container: undefined,
|
||||
physics: physics,
|
||||
draw: draw,
|
||||
@@ -37,6 +38,8 @@ function newEducationTutorialSpace() {
|
||||
resize()
|
||||
|
||||
let browserResizedEventSubscriptionId
|
||||
let openingEventSubscriptionId
|
||||
let closingEventSubscriptionId
|
||||
|
||||
let tutorialRootNode
|
||||
let currentNode
|
||||
@@ -104,6 +107,8 @@ function newEducationTutorialSpace() {
|
||||
batchConfigChangesCounter = 0
|
||||
workspacesCounter = 0
|
||||
|
||||
setupSidePanelTab()
|
||||
|
||||
browserResizedEventSubscriptionId = canvas.eventHandler.listenToEvent('Browser Resized', resize)
|
||||
let workspace = UI.projects.foundations.spaces.designSpace.workspace
|
||||
workspace.executeAction({ name: 'Play Tutorials', project: 'Foundations' })
|
||||
@@ -112,6 +117,8 @@ function newEducationTutorialSpace() {
|
||||
|
||||
function finalize() {
|
||||
canvas.eventHandler.stopListening(browserResizedEventSubscriptionId)
|
||||
thisObject.sidePanelTab.container.eventHandler.stopListening(openingEventSubscriptionId)
|
||||
thisObject.sidePanelTab.container.eventHandler.stopListening(closingEventSubscriptionId)
|
||||
|
||||
tutorialRootNode = undefined
|
||||
currentNode = undefined
|
||||
@@ -130,8 +137,14 @@ function newEducationTutorialSpace() {
|
||||
}
|
||||
|
||||
function getContainer(point, purpose) {
|
||||
|
||||
if (thisObject.sidePanelTab === undefined) { return }
|
||||
|
||||
let container
|
||||
|
||||
container = thisObject.sidePanelTab.getContainer(point, purpose)
|
||||
if (container !== undefined) { return container }
|
||||
|
||||
if (thisObject.container.frame.isThisPointHere(point, true) === true) {
|
||||
return thisObject.container
|
||||
} else {
|
||||
@@ -145,11 +158,13 @@ function newEducationTutorialSpace() {
|
||||
switch (currentStatus) {
|
||||
case 'Stopped': {
|
||||
makeInvisible()
|
||||
thisObject.sidePanelTab.close()
|
||||
currentNode = undefined
|
||||
break
|
||||
}
|
||||
case 'Playing Tutorial': {
|
||||
makeVsible()
|
||||
thisObject.sidePanelTab.open()
|
||||
break
|
||||
}
|
||||
case 'Playing Topic': {
|
||||
@@ -978,8 +993,8 @@ function newEducationTutorialSpace() {
|
||||
|
||||
function resumeTutorial(node) {
|
||||
if (UI.projects.foundations.spaces.designSpace.workspace.isInitialized !== true) { return }
|
||||
|
||||
navigationStack = []
|
||||
//Testing if removing the navigationStack reset here fixes the tutorial resume issues
|
||||
//navigationStack = []
|
||||
node.payload.uiObject.isPlaying = true
|
||||
tutorialRootNode = node
|
||||
currentNode = node
|
||||
@@ -1000,7 +1015,8 @@ function newEducationTutorialSpace() {
|
||||
}
|
||||
|
||||
function resumeTutorialTopic(node) {
|
||||
navigationStack = []
|
||||
//Testing if removing the navigationStack reset here fixes the tutorial resume issues
|
||||
//navigationStack = []
|
||||
currentTopicNode = node
|
||||
currentNode = node
|
||||
currentStatus = 'Playing Topic'
|
||||
@@ -1020,7 +1036,8 @@ function newEducationTutorialSpace() {
|
||||
}
|
||||
|
||||
function resumeTutorialStep(node) {
|
||||
navigationStack = []
|
||||
//Testing if removing the navigationStack reset here fixes the tutorial resume issues
|
||||
//navigationStack = []
|
||||
currentStepNode = node
|
||||
currentNode = node
|
||||
currentStatus = 'Playing Step'
|
||||
@@ -1509,4 +1526,36 @@ function newEducationTutorialSpace() {
|
||||
function draw() {
|
||||
if (isInitialized === false) { return }
|
||||
}
|
||||
|
||||
function setupSidePanelTab() {
|
||||
thisObject.sidePanelTab = UI.projects.foundations.spaces.sideSpace.createSidePanelTab(thisObject.container, 'Education', 'tutorial', 'Tutorial', 'left')
|
||||
|
||||
openingEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('opening', onOpening)
|
||||
closingEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('closing', onClosing)
|
||||
}
|
||||
|
||||
function onOpening() {
|
||||
//console.log('onOpening');
|
||||
let nodeResume = navigationStack.pop()
|
||||
|
||||
switch (nodeResume.type) {
|
||||
case 'Tutorial': {
|
||||
resumeTutorial(nodeResume)
|
||||
break
|
||||
}
|
||||
case 'Tutorial Topic': {
|
||||
resumeTutorialTopic(nodeResume)
|
||||
break
|
||||
}
|
||||
case 'Tutorial Step': {
|
||||
resumeTutorialStep(nodeResume)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onClosing() {
|
||||
//console.log('onClosing');
|
||||
stop()
|
||||
}
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
File diff suppressed because it is too large.
Load diff
@@ -19330,7 +19330,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Indicator Bot",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"config": "{\n\"codeName\": \"RSI\"\n}",
|
||||
"project": "Foundations",
|
||||
"processes": [
|
||||
@@ -19383,7 +19383,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Indicator Bot",
|
||||
"Foundations",
|
||||
"b2fc1830-30e3-407a-9cd2-ab93a9e36cc7"
|
||||
@@ -19535,7 +19535,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Indicator Bot",
|
||||
"Foundations",
|
||||
"b2fc1830-30e3-407a-9cd2-ab93a9e36cc7"
|
||||
@@ -19829,7 +19829,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Indicator Bot",
|
||||
"Foundations",
|
||||
"b2fc1830-30e3-407a-9cd2-ab93a9e36cc7"
|
||||
@@ -19920,7 +19920,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Indicator Bot",
|
||||
"Foundations",
|
||||
"b2fc1830-30e3-407a-9cd2-ab93a9e36cc7"
|
||||
@@ -20717,7 +20717,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -38266,7 +38266,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Plotter",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"config": "{\n\"codeName\": \"Plotter RSI\"\n}",
|
||||
"project": "Foundations",
|
||||
"modules": [
|
||||
@@ -39291,7 +39291,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39363,7 +39363,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39435,7 +39435,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39507,7 +39507,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39664,7 +39664,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39736,7 +39736,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39808,7 +39808,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -39880,7 +39880,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40037,7 +40037,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40109,7 +40109,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40181,7 +40181,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40253,7 +40253,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40410,7 +40410,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40482,7 +40482,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40554,7 +40554,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40626,7 +40626,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40783,7 +40783,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -40855,7 +40855,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41012,7 +41012,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41084,7 +41084,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41241,7 +41241,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41313,7 +41313,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41470,7 +41470,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41542,7 +41542,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41699,7 +41699,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41771,7 +41771,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -41985,7 +41985,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -42057,7 +42057,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -42214,7 +42214,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -42286,7 +42286,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -42358,7 +42358,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
@@ -42430,7 +42430,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Plotter",
|
||||
"Foundations",
|
||||
"d87c1a49-c376-404b-98ff-62feac714c64"
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -9406,7 +9406,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Data Dependencies",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"dataDependencies": [
|
||||
{
|
||||
@@ -9448,7 +9448,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Indicator Bot",
|
||||
"Foundations",
|
||||
"b2fc1830-30e3-407a-9cd2-ab93a9e36cc7"
|
||||
@@ -9508,7 +9508,7 @@
|
||||
"63b3bd4b-97da-47a7-8f72-b9eaf0632ebb"
|
||||
],
|
||||
[
|
||||
"Relative Strenght Index (RSI)",
|
||||
"Relative Strength Index (RSI)",
|
||||
"Indicator Bot",
|
||||
"Foundations",
|
||||
"b2fc1830-30e3-407a-9cd2-ab93a9e36cc7"
|
||||
@@ -16664,7 +16664,7 @@
|
||||
"botDataDependencies": [
|
||||
{
|
||||
"type": "Bot Data Dependencies",
|
||||
"name": "Relative Strenght Index - Wilder Method (RSI-W)",
|
||||
"name": "Relative Strength Index - Wilder Method (RSI-W)",
|
||||
"project": "Foundations",
|
||||
"dataDependencies": [
|
||||
{
|
||||
|
||||
@@ -166,11 +166,11 @@
|
||||
},
|
||||
{
|
||||
"type": "Task",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"bot": {
|
||||
"type": "Indicator Bot Instance",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"config": "{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}",
|
||||
"project": "Foundations",
|
||||
"processes": [
|
||||
@@ -2736,7 +2736,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Products",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"dataProducts": [
|
||||
{
|
||||
@@ -21362,7 +21362,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Layers",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"layers": [
|
||||
{
|
||||
@@ -31933,7 +31933,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Layers",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"layers": [
|
||||
{
|
||||
|
||||
@@ -408,17 +408,17 @@
|
||||
},
|
||||
{
|
||||
"type": "Task",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"bot": {
|
||||
"type": "Indicator Bot Instance",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"config": "{ \n\"parameter1\": \"Value for parameter1 defined at the Product Definition\"\n}",
|
||||
"project": "Foundations",
|
||||
"processes": [
|
||||
{
|
||||
"type": "Indicator Process Instance",
|
||||
"name": "Relative Strenght Index (RSI) Multi-Time-Frame-Market",
|
||||
"name": "Relative Strength Index (RSI) Multi-Time-Frame-Market",
|
||||
"project": "Foundations",
|
||||
"id": "ffa5490a-b87c-4d25-a0bf-3a978ba22521",
|
||||
"savedPayload": {
|
||||
@@ -450,7 +450,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Indicator Process Instance",
|
||||
"name": "Relative Strenght Index (RSI) Multi-Time-Frame-Daily",
|
||||
"name": "Relative Strength Index (RSI) Multi-Time-Frame-Daily",
|
||||
"project": "Foundations",
|
||||
"id": "69ff12a5-65b8-4d00-ad9d-329f502aab42",
|
||||
"savedPayload": {
|
||||
@@ -3601,7 +3601,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Products",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"dataProducts": [
|
||||
{
|
||||
@@ -25409,7 +25409,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Layers",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"layers": [
|
||||
{
|
||||
@@ -39990,7 +39990,7 @@
|
||||
},
|
||||
{
|
||||
"type": "Bot Layers",
|
||||
"name": "Relative Strenght Index (RSI)",
|
||||
"name": "Relative Strength Index (RSI)",
|
||||
"project": "Foundations",
|
||||
"layers": [
|
||||
{
|
||||
|
||||
@@ -21,8 +21,8 @@ exports.newFoundationsUtilitiesFilesAndDirectories = function () {
|
||||
}
|
||||
|
||||
function getAllFilesInDirectoryAndSubdirectories(dir, callback) {
|
||||
const { promisify } = require('util');
|
||||
const { resolve } = require('path');
|
||||
const { promisify } = SA.nodeModules.util
|
||||
const { resolve } = SA.nodeModules.path;
|
||||
const fs = SA.nodeModules.fs;
|
||||
const readdir = promisify(fs.readdir);
|
||||
const stat = promisify(fs.stat);
|
||||
@@ -66,7 +66,7 @@ exports.newFoundationsUtilitiesFilesAndDirectories = function () {
|
||||
|
||||
/* Function to create folders of missing folders at any path. */
|
||||
function mkDirByPathSync(targetDir, { isRelativeToScript = false } = {}) {
|
||||
const path = require('path')
|
||||
const path = SA.nodeModules.path
|
||||
|
||||
targetDir = targetDir.substring(0, targetDir.lastIndexOf('/') + 1);
|
||||
|
||||
@@ -77,7 +77,7 @@ exports.newFoundationsUtilitiesFilesAndDirectories = function () {
|
||||
return targetDir.split(sep).reduce((parentDir, childDir) => {
|
||||
const curDir = path.resolve(baseDir, parentDir, childDir);
|
||||
try {
|
||||
const fs = require('fs')
|
||||
const fs = SA.nodeModules.fs
|
||||
fs.mkdirSync(curDir);
|
||||
} catch (err) {
|
||||
if (err.code === 'EEXIST') { // curDir already exists!
|
||||
|
||||
@@ -7,13 +7,6 @@
|
||||
"relatedUiObject": "Network",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Tutorial",
|
||||
"iconProject": "Education",
|
||||
"relatedUiObject": "Tutorial",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Plugins",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"config": true
|
||||
},
|
||||
"initialValues": {
|
||||
"config": "{\"node\":{\"distancePercentage\":60,\"radiusPercentage\":85,\"massPercentage\":100,\"animationSteps\":2,\"menuItem\":{\"widthPercentage\":100,\"heightPercentage\":60,\"radiusPercentage\":90}},\"physics\":false,\"shortcuts\":{\"toggleMapMode\":\"M\",\"toggleDrawRelationshipLines\":\"R\",\"toggleDrawParentLines\":\"C\",\"saveWorkspace\":\"S\",\"adjustAspectRatio\":\"A\"}}"
|
||||
"config": "{\"node\":{\"distancePercentage\":60,\"radiusPercentage\":85,\"massPercentage\":100,\"animationSteps\":2,\"menuItem\":{\"widthPercentage\":100,\"heightPercentage\":60,\"radiusPercentage\":90}},\"physics\":false,\"shortcuts\":{\"toggleMapMode\":\"M\",\"toggleDrawRelationshipLines\":\"R\",\"toggleDrawParentLines\":\"C\",\"saveWorkspace\":\"S\",\"adjustAspectRatio\":\"A\"} \n }"
|
||||
},
|
||||
"menuItems": [
|
||||
{
|
||||
|
||||
@@ -13,12 +13,6 @@
|
||||
"relatedUiObject": "Design Space",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Add UI Object",
|
||||
"label": "Add Docs Space",
|
||||
"relatedUiObject": "Docs Space",
|
||||
"actionFunction": "payload.executeAction"
|
||||
},
|
||||
{
|
||||
"action": "Delete UI Object",
|
||||
"askConfirmation": true,
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"type": "Project Schema File",
|
||||
"definition": {
|
||||
"text": "It is the most basic and low level system-wide configuration file. You will find it at the Projects folder. It contains a list of all integrated projects and for each one the list of javascript modules organized in different categories, like Function Libraries, Utilities, Spaces, Globals, etc; in turn organized into the broather categories UI, TS and CL.",
|
||||
"text": "It is the most basic and low level system-wide configuration file. You will find it at the Projects folder. It contains a list of all integrated projects and for each one the list of javascript modules organized in different categories, like Function Libraries, Utilities, Spaces, Globals, etc; in turn organized into the broather categories UI, TS and PL.",
|
||||
"updated": 1614939492529
|
||||
},
|
||||
"paragraphs": [
|
||||
|
||||
+33
-17
@@ -16,26 +16,50 @@
|
||||
{
|
||||
"style": "Subtitle",
|
||||
"text": "Properties",
|
||||
"updated": 1609863924784
|
||||
"updated": 1631554214199
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "node refers to every node in the design space."
|
||||
"text": "\"physics\" determines whether the environment is static (false) or dynamic (true). When physics is set to true, nodes in the design space are affected by th gravitational pull and repulsion of other nodes.",
|
||||
"updated": 1631588883144
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "radiusPercentage is the radius of the circular nodes' menu applied as a percentage of an arbitrary default radius.",
|
||||
"updated": 1609863960583
|
||||
"text": "detachUsingMouse defines if you can detach nodes from it's parent or reference parents only using the mouse (when true) or if you can not use the mouse for that and can only do it using the detach buttons on the icon's menu (when false)."
|
||||
},
|
||||
{
|
||||
"style": "Subtitle",
|
||||
"text": "Node Properties"
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "massPercentage is the refernce mass of nodes that affect the attraction and repulsion of the environment's pysics whe the physics setting is set to true.",
|
||||
"updated": 1609863964761
|
||||
"text": "\"node\" here refers to every node in the design space. This collection of properties adjusts the settings of all nodes in the design space.",
|
||||
"updated": 1631588871268
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "menuItem refers to the items on the right-hand side of nodes' menus.",
|
||||
"updated": 1609863969621
|
||||
"text": "distancePercentage adjusts the baseline distance between nodes.",
|
||||
"updated": 1631588124341
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "radiusPercentage is the radius of the circular nodes' menu applied as a percentage of an arbitrary default radius. A higher value will lead to a larger node menu.",
|
||||
"updated": 1631588202567
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "massPercentage is the reference mass of nodes that affects the attraction and repulsion of the environment's physics when the physics setting is set to true.",
|
||||
"updated": 1631588798797
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "animationSteps adjusts the amount of steps the animation takes to open a node menu upon hovering over it. A higher value leads to smoother transtion.",
|
||||
"updated": 1631588728860
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "menuItem refers to the items on the right-hand side of a node's menus and has the following three properties.",
|
||||
"updated": 1631588761551
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
@@ -50,15 +74,7 @@
|
||||
{
|
||||
"style": "List",
|
||||
"text": "radiusPercentage is the reference radious of the circular matrix that governs the distribution of items in the circular menu. Larger numbers cause items to spread appart while smaller numbers makes items lie closer to each other.",
|
||||
"updated": 1609863985113
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "physics determines wether the environment is static (false) or dynamic (true). When physics is set to true, nodes in the design space are affected by th gravitational pull and repulsion of other nodes."
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "detachUsingMouse defines if you can detach nodes from it's parent or reference parents only using the mouse (when true) or if you can not use the mouse for that and can only do it using the detach buttons on the icon's menu (when false)."
|
||||
"updated": 1631554041849
|
||||
},
|
||||
{
|
||||
"style": "Subtitle",
|
||||
|
||||
@@ -582,7 +582,7 @@ exports.newFoundationsBotModulesFetchingProcess = function (processIndex) {
|
||||
Now that we have the endpointNode, the parameters and all the information
|
||||
needed to place the call to the API.
|
||||
*/
|
||||
const fetch = require('node-fetch')
|
||||
const fetch = SA.nodeModules.nodeFetch
|
||||
let url = protocol + '://' +
|
||||
hostName +
|
||||
portNumber +
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"name": "api-data-fetcher-bot",
|
||||
"version": "1.0.0",
|
||||
"description": "Api Fetcher Bot",
|
||||
"main": "FetchingProcess.js",
|
||||
"author": "Luis Molina, Harrellbm",
|
||||
"dependencies": {
|
||||
"node-fetch": "2.6.1"
|
||||
}
|
||||
}
|
||||
@@ -15,12 +15,12 @@
|
||||
|
||||
const MAX_OHLCVs_PER_EXECUTION = 10000000
|
||||
const symbol = TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + '/' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName
|
||||
const ccxt = require('ccxt')
|
||||
const ccxt = SA.nodeModules.ccxt
|
||||
/*
|
||||
This next is required when using an exchange that uses fetchTrades in place of fetchOHLCVs
|
||||
in order to be able to access the method that builds the OHLCVs, and this method is inside the CCTX library.
|
||||
*/
|
||||
const ccxtMisc = require('./node_modules/ccxt/js/base/functions/misc')
|
||||
const ccxtMisc = SA.nodeModules.ccxtMisc
|
||||
|
||||
let fetchType = "by Time"
|
||||
let lastId
|
||||
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "exchange-raw-data",
|
||||
"version": "0.0.6",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"ccxt": {
|
||||
"version": "1.51.98",
|
||||
"resolved": "https://registry.npmjs.org/ccxt/-/ccxt-1.51.98.tgz",
|
||||
"integrity": "sha512-3sgRDrOnD6IE06yGr+F0YcQh22eNyKiZ3nQP+QdZt8W/zUUsl4CaHT5I7Zqqz7ObKdv4YcdMCv8j9khTpBNz4w=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"name": "exchange-raw-data",
|
||||
"version": "0.0.6",
|
||||
"description": "Sensor Bot",
|
||||
"main": "HistoricOHLCVs.js",
|
||||
"author": {
|
||||
"name": "Luis-Fernando-Molina"
|
||||
},
|
||||
"dependencies": {
|
||||
"ccxt": "^1.51.98"
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,7 @@ exports.newFoundationsBotModulesCheckWebhook = function (processIndex) {
|
||||
|
||||
function saveMessages() {
|
||||
try {
|
||||
let http = require('http');
|
||||
let http = SA.nodeModules.http
|
||||
let url = 'http://' + global.env.WEB_SERVER_URL +
|
||||
':' + global.env.CLIENT_HTTP_INTERFACE_PORT +
|
||||
'/Webhook/Fetch-Messages/' +
|
||||
|
||||
@@ -38,7 +38,7 @@ exports.newFoundationsBotModulesDiscordBot = function (processIndex) {
|
||||
function finalize() {}
|
||||
|
||||
function sendMessage(message) {
|
||||
const https = require('https')
|
||||
const https = SA.nodeModules.https
|
||||
|
||||
try {
|
||||
message = formatMessage(message)
|
||||
|
||||
@@ -38,7 +38,7 @@ exports.newFoundationsBotModulesSlackBot = function (processIndex) {
|
||||
function finalize() {}
|
||||
|
||||
function sendMessage(message) {
|
||||
const https = require('https')
|
||||
const https = SA.nodeModules.https
|
||||
|
||||
try {
|
||||
message = formatMessage(message)
|
||||
|
||||
@@ -22,7 +22,7 @@ exports.newFoundationsBotModulesTelegramBot = function (processIndex) {
|
||||
|
||||
thisObject.chatId = chatId
|
||||
|
||||
const Telegraf = require('telegraf')
|
||||
const Telegraf = SA.nodeModules.telegraf
|
||||
|
||||
thisObject.telegramBot = new Telegraf(botToken)
|
||||
thisObject.telegramBot.start((ctx) => ctx.reply('Hi! I am the Telegram Bot that will tell you what happens with your trading session.'))
|
||||
@@ -41,7 +41,7 @@ exports.newFoundationsBotModulesTelegramBot = function (processIndex) {
|
||||
|
||||
thisObject.telegramBot.launch()
|
||||
|
||||
const Telegram = require('telegraf/telegram')
|
||||
const Telegram = SA.nodeModules.telegram
|
||||
|
||||
thisObject.telegramAPI = new Telegram(botToken)
|
||||
|
||||
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
{
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
|
||||
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
|
||||
"requires": {
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
},
|
||||
"module-alias": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz",
|
||||
"integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||
},
|
||||
"sandwich-stream": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/sandwich-stream/-/sandwich-stream-2.0.2.tgz",
|
||||
"integrity": "sha512-jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ=="
|
||||
},
|
||||
"telegraf": {
|
||||
"version": "3.38.0",
|
||||
"resolved": "https://registry.npmjs.org/telegraf/-/telegraf-3.38.0.tgz",
|
||||
"integrity": "sha512-va4VlrKWp64JrowFoZX/NPzzA6q38kvaIukVXOWFO1V+jR1G8+hCfgJy4TX8Z3rwLJzwaBEet1QhikHDRZWl3A==",
|
||||
"requires": {
|
||||
"debug": "^4.0.1",
|
||||
"minimist": "^1.2.0",
|
||||
"module-alias": "^2.2.2",
|
||||
"node-fetch": "^2.2.0",
|
||||
"sandwich-stream": "^2.0.1",
|
||||
"telegram-typings": "^3.6.0"
|
||||
}
|
||||
},
|
||||
"telegram-typings": {
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/telegram-typings/-/telegram-typings-3.6.1.tgz",
|
||||
"integrity": "sha512-njVv1EAhIZnmQVLocZEADYUyqA1WIXuVcDYlsp+mXua/XB0pxx+PKtMSPeZ/EE4wPWTw9h/hA9ASTT6yQelkiw=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "announcements",
|
||||
"version": "0.0.6",
|
||||
"description": "Social Bots",
|
||||
"main": "SocialBots.js",
|
||||
"author": {
|
||||
"name": "Luis-Fernando-Molina"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "^4.3.1",
|
||||
"minimist": "^1.2.5",
|
||||
"module-alias": "^2.2.2",
|
||||
"ms": "^2.1.2",
|
||||
"node-fetch": "^2.6.1",
|
||||
"sandwich-stream": "^2.0.2",
|
||||
"telegraf": "^3.38.0",
|
||||
"telegram-typings": "^3.6.1"
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
let options = {}
|
||||
let exchange
|
||||
|
||||
const ccxt = require('ccxt')
|
||||
const ccxt = SA.nodeModules.ccxt
|
||||
|
||||
return thisObject;
|
||||
|
||||
|
||||
Generated
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "apis",
|
||||
"version": "0.0.6",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"ccxt": {
|
||||
"version": "1.51.98",
|
||||
"resolved": "https://registry.npmjs.org/ccxt/-/ccxt-1.51.98.tgz",
|
||||
"integrity": "sha512-3sgRDrOnD6IE06yGr+F0YcQh22eNyKiZ3nQP+QdZt8W/zUUsl4CaHT5I7Zqqz7ObKdv4YcdMCv8j9khTpBNz4w=="
|
||||
}
|
||||
}
|
||||
}
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"name": "apis",
|
||||
"version": "0.0.6",
|
||||
"description": "Exchange APIs",
|
||||
"main": "ExchangeAPI.js",
|
||||
"author": {
|
||||
"name": "Luis-Fernando-Molina"
|
||||
},
|
||||
"dependencies": {
|
||||
"ccxt": "^1.51.98"
|
||||
}
|
||||
}
|
||||
+156
-81
@@ -1,7 +1,7 @@
|
||||
exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
exports.newFoundationsBotModulesSnapshots = function(processIndex) {
|
||||
/*
|
||||
This module encapsulates the snapshots functionality.
|
||||
*/
|
||||
This module encapsulates the snapshots functionality.
|
||||
*/
|
||||
const MODULE_NAME = 'Snapshots'
|
||||
|
||||
let thisObject = {
|
||||
@@ -28,20 +28,21 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
positions: []
|
||||
}
|
||||
|
||||
let positionKeys = new Map() // This is to prevent adding the same indicator / variable to the output collection.
|
||||
let positionKeys = new Map() // This is to prevent adding the same indicator / variable to the output collection.
|
||||
let strategyKeys = new Map()
|
||||
let createHeaders = true // This is going to be true only once
|
||||
let createCloseHeaders = true // This is going to be true only once
|
||||
let createHeaders = true // This is going to be true only once
|
||||
let createCloseHeaders = true // This is going to be true only once
|
||||
let closeValues
|
||||
let strategyValues
|
||||
let addToStrategyValues
|
||||
let positionValues
|
||||
let addToPositionValues
|
||||
let snapshotAvailable = false
|
||||
|
||||
/*
|
||||
These 3 are the main data structures available to users
|
||||
when writing conditions and formulas.
|
||||
*/
|
||||
These 3 are the main data structures available to users
|
||||
when writing conditions and formulas.
|
||||
*/
|
||||
let chart
|
||||
let exchange
|
||||
let market
|
||||
@@ -52,6 +53,12 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
tradingEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.tradingEngine
|
||||
tradingSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.tradingSystem
|
||||
sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters
|
||||
// first trade forces overwrite of the existing file
|
||||
if (tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeCounters.positions.value > 1) {
|
||||
snapshotAvailable = true
|
||||
createHeaders = false // This is going to be true only once
|
||||
createCloseHeaders = false
|
||||
}
|
||||
}
|
||||
|
||||
function finalize() {
|
||||
@@ -70,9 +77,9 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
|
||||
function updateChart(pChart, pExchange, pMarket) {
|
||||
/*
|
||||
We need these 3 data structures to be a local objects
|
||||
accessible while evaluating conditions and formulas.
|
||||
*/
|
||||
We need these 3 data structures to be a local objects
|
||||
accessible while evaluating conditions and formulas.
|
||||
*/
|
||||
chart = pChart
|
||||
exchange = pExchange
|
||||
market = pMarket
|
||||
@@ -80,9 +87,9 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
|
||||
function strategyEntry() {
|
||||
/*
|
||||
We will record here a snapshot of all values used in conditions and formulas within the Trading System.
|
||||
If the strategy exists with a trade, this information will be added to the snapshots file.
|
||||
*/
|
||||
We will record here a snapshot of all values used in conditions and formulas within the Trading System.
|
||||
If the strategy exists with a trade, this information will be added to the snapshots file.
|
||||
*/
|
||||
|
||||
strategyKeys = new Map()
|
||||
strategyValues = []
|
||||
@@ -147,24 +154,26 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
let property = schemaDocument.childrenNodesProperties[i]
|
||||
|
||||
switch (property.type) {
|
||||
case 'node': {
|
||||
if (property.name !== previousPropertyName) {
|
||||
case 'node':
|
||||
{
|
||||
if (property.name !== previousPropertyName) {
|
||||
if (node[property.name] !== undefined) {
|
||||
evalNode(node[property.name])
|
||||
}
|
||||
previousPropertyName = property.name
|
||||
}
|
||||
break
|
||||
}
|
||||
case 'array':
|
||||
{
|
||||
if (node[property.name] !== undefined) {
|
||||
evalNode(node[property.name])
|
||||
let nodePropertyArray = node[property.name]
|
||||
for (let m = 0; m < nodePropertyArray.length; m++) {
|
||||
evalNode(nodePropertyArray[m])
|
||||
}
|
||||
}
|
||||
previousPropertyName = property.name
|
||||
break
|
||||
}
|
||||
break
|
||||
}
|
||||
case 'array': {
|
||||
if (node[property.name] !== undefined) {
|
||||
let nodePropertyArray = node[property.name]
|
||||
for (let m = 0; m < nodePropertyArray.length; m++) {
|
||||
evalNode(nodePropertyArray[m])
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,10 +182,10 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
function evalCondition(node) {
|
||||
|
||||
/*
|
||||
The code can be at the condition node if it was done with the Conditions Editor, or it can also be
|
||||
at a Javascript Code node. If there is a Javascript object we will give it preference and take the code
|
||||
from there. Otherwise we will take the code from the Condition node.
|
||||
*/
|
||||
The code can be at the condition node if it was done with the Conditions Editor, or it can also be
|
||||
at a Javascript Code node. If there is a Javascript object we will give it preference and take the code
|
||||
from there. Otherwise we will take the code from the Condition node.
|
||||
*/
|
||||
|
||||
let nodeWithCode = node
|
||||
if (node.javascriptCode !== undefined) {
|
||||
@@ -211,14 +220,15 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
instruction = instruction.replace(/!==/g, '')
|
||||
instruction = instruction.replace(/==/g, '')
|
||||
instruction = instruction.replace(/===/g, '')
|
||||
instruction = instruction.replace(/{/g, '')
|
||||
instruction = instruction.replace(/}/g, '')
|
||||
instruction = instruction.replace(/{/g, '') //this wrecks something in JS markup?
|
||||
instruction = instruction.replace(/}/g, '') //this wrecks something in JS markup?
|
||||
if (instruction.indexOf('chart') >= 0) {
|
||||
let parts = instruction.split('.')
|
||||
let timeFrame = parts[1]
|
||||
let product = parts[2]
|
||||
let property
|
||||
checkPrevious(3)
|
||||
|
||||
function checkPrevious(index) {
|
||||
property = parts[index]
|
||||
if (property === 'previous') {
|
||||
@@ -293,19 +303,35 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
|
||||
function getResults(openDatetime, closeDatetime) {
|
||||
|
||||
let closeHeaders = ['Trade Number', 'Open Datetime', 'Close Datetime', 'Strategy Name', 'Trigger On Situation', 'Take Position Situation', 'Result In Base Asset', 'Result In Quoted Asset', 'ROI in Base Asset', 'ROI in Quoted Asset', 'Exit Type']
|
||||
let baseOpen = tradingEngine.tradingCurrent.strategyCloseStage.stageBaseAsset.sizeFilled.value - tradingEngine.tradingCurrent.strategyCloseStage.stageBaseAsset.feesPaid.value
|
||||
let baseClose = tradingEngine.tradingCurrent.strategyOpenStage.stageBaseAsset.sizeFilled.value - tradingEngine.tradingCurrent.strategyOpenStage.stageBaseAsset.feesPaid.value
|
||||
let quoteOpen = tradingEngine.tradingCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - tradingEngine.tradingCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value
|
||||
let quoteClose = tradingEngine.tradingCurrent.strategyCloseStage.stageQuotedAsset.sizeFilled.value - tradingEngine.tradingCurrent.strategyCloseStage.stageQuotedAsset.feesPaid.value
|
||||
let qouteProfit = ((quoteClose / quoteOpen * 100) - 100)
|
||||
let baseProfit = ((baseClose / baseOpen * 100) - 100)
|
||||
|
||||
let closeHeaders = ['Trade Number', 'Open Datetime', 'Close Datetime', 'Strategy Name', 'Trigger On Situation', 'Take Position Situation', 'Open Position in Base Asset', 'Close Position in Base Asset', 'Open Position in Quoted Asset', 'Close Position in Quoted Asset', 'Result In Base Asset', 'Result In Quoted Asset', 'ROI in Base Asset', '% P/L Base Asset', 'P/L Type Base Asset', 'ROI in Quoted Asset', '% P/L Quoted Asset', 'P/L Type Quoted Asset', 'Exit Type']
|
||||
closeValues = [
|
||||
tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeCounters.positions.value, // Position Number
|
||||
(new Date(openDatetime)).toISOString(), // Open Datetime
|
||||
(new Date(closeDatetime)).toISOString(), // Open Datetime
|
||||
tradingEngine.tradingCurrent.strategy.strategyName.value, // Strategy Name
|
||||
tradingEngine.tradingCurrent.strategy.situationName.value, // Trigger On Situation
|
||||
tradingEngine.tradingCurrent.position.situationName.value, // Take Position Situation
|
||||
tradingEngine.tradingCurrent.position.positionBaseAsset.hitFail.value, // Result in Base Asset
|
||||
tradingEngine.tradingCurrent.position.positionQuotedAsset.hitFail.value, // Result in Base Asset
|
||||
tradingEngine.tradingCurrent.position.positionBaseAsset.ROI.value, // ROI in Base Asseet
|
||||
tradingEngine.tradingCurrent.position.positionQuotedAsset.ROI.value, // ROI in Quoted Asset
|
||||
tradingEngine.tradingCurrent.position.exitType.value // Exit Type
|
||||
tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeCounters.positions.value, // Position Number
|
||||
(new Date(openDatetime)).toISOString(), // Open Datetime
|
||||
(new Date(closeDatetime)).toISOString(), // Open Datetime
|
||||
tradingEngine.tradingCurrent.strategy.strategyName.value, // Strategy Name
|
||||
tradingEngine.tradingCurrent.strategy.situationName.value, // Trigger On Situation
|
||||
tradingEngine.tradingCurrent.position.situationName.value, // Take Position Situation
|
||||
baseOpen, // open position in base asset
|
||||
baseClose, // close position in base asset
|
||||
quoteOpen, //open quote in base asset
|
||||
quoteClose, // close quote in base asset
|
||||
tradingEngine.tradingCurrent.position.positionBaseAsset.hitFail.value, // Result in Base Asset
|
||||
tradingEngine.tradingCurrent.position.positionQuotedAsset.hitFail.value, // Result in Base Asset
|
||||
tradingEngine.tradingCurrent.position.positionBaseAsset.ROI.value, // ROI in Base Asset <- not sure this works as intended
|
||||
baseProfit + '%', // % profit / loss in base Asset
|
||||
baseProfit === 0 ? 'Even' : (baseProfit > 0 ? "Profit" : "Loss"),
|
||||
|
||||
tradingEngine.tradingCurrent.position.positionQuotedAsset.ROI.value, // ROI in Quoted Asset <- not sure this works as intended
|
||||
qouteProfit + '%', // % profit loss in quoted Asset
|
||||
qouteProfit === 0 ? 'Even' : (qouteProfit > 0 ? "Profit" : "Loss"),
|
||||
tradingEngine.tradingCurrent.position.exitType.value // Exit Type
|
||||
]
|
||||
|
||||
if (createCloseHeaders === true) {
|
||||
@@ -333,46 +359,95 @@ exports.newFoundationsBotModulesSnapshots = function (processIndex) {
|
||||
try {
|
||||
let fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex);
|
||||
|
||||
let fileContent = "";
|
||||
let separator = "\r\n";
|
||||
let fileName = pFileName + '.csv'
|
||||
|
||||
parseRecord(snapshots.headers)
|
||||
|
||||
for (let i = 0; i < snapshotArray.length; i++) {
|
||||
let record = snapshotArray[i];
|
||||
parseRecord(record)
|
||||
}
|
||||
|
||||
function parseRecord(record) {
|
||||
for (let j = 0; j < record.length; j++) {
|
||||
let property = record[j]
|
||||
|
||||
fileContent = fileContent + '' + property
|
||||
if (j !== record.length - 1) {
|
||||
fileContent = fileContent + ","
|
||||
}
|
||||
}
|
||||
fileContent = fileContent + separator
|
||||
}
|
||||
|
||||
fileContent = "" + fileContent + "";
|
||||
|
||||
let fileName = pFileName + '.csv';
|
||||
let filePath = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).FILE_PATH_ROOT + "/Output/" + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_FOLDER_NAME + "/" + SNAPSHOTS_FOLDER_NAME;
|
||||
let filePath = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).FILE_PATH_ROOT + '/Output/' + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_FOLDER_NAME + '/' + SNAPSHOTS_FOLDER_NAME;
|
||||
filePath += '/' + fileName
|
||||
|
||||
fileStorage.createTextFile(filePath, fileContent + '\n', onFileCreated);
|
||||
//Get contents of current file if available, otherwise start empty file
|
||||
if (snapshotAvailable) {
|
||||
getSnapShotFile(filePath)
|
||||
} else {
|
||||
writeOutput('')
|
||||
}
|
||||
|
||||
function onFileCreated(err) {
|
||||
if (err.result !== TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] writeSnapshotFile -> onFileCreated -> err = " + err.stack);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] writeSnapshotFile -> onFileCreated -> filePath = " + filePath);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] writeSnapshotFile -> onFileCreated -> market = " + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + "_" + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName);
|
||||
function writeOutput(fileContent) {
|
||||
let separator = '\r\n';
|
||||
|
||||
parseRecord(snapshots.headers)
|
||||
|
||||
for (let i = 0; i < snapshotArray.length; i++) {
|
||||
let record = snapshotArray[i];
|
||||
parseRecord(record)
|
||||
}
|
||||
|
||||
function parseRecord(record) {
|
||||
for (let j = 0; j < record.length; j++) {
|
||||
let property = record[j]
|
||||
|
||||
fileContent = fileContent + '' + property
|
||||
if (j !== record.length - 1) {
|
||||
fileContent = fileContent + ","
|
||||
}
|
||||
}
|
||||
fileContent = fileContent + separator
|
||||
}
|
||||
|
||||
fileContent = "" + fileContent + "";
|
||||
|
||||
fileStorage.createTextFile(filePath, fileContent + '\n', onFileCreated)
|
||||
|
||||
function onFileCreated(err) {
|
||||
if (err.result !== TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] writeSnapshotFile -> onFileCreated -> err = ' + err.stack);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] writeSnapshotFile -> onFileCreated -> filePath = ' + filePath);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] writeSnapshotFile -> onFileCreated -> market = ' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + '_' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(
|
||||
processIndex
|
||||
).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(
|
||||
MODULE_NAME,
|
||||
'[ERROR] writeSnapshotFile -> err = ' + err.stack
|
||||
)
|
||||
}
|
||||
catch (err) {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] writeSnapshotFile -> err = " + err.stack);
|
||||
//get file contents
|
||||
function getSnapShotFile(filePath) {
|
||||
|
||||
try {
|
||||
|
||||
let fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex);
|
||||
|
||||
fileStorage.getTextFile(filePath, onFileReceived)
|
||||
|
||||
function onFileReceived(err, text) {
|
||||
if (err.result === TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) {
|
||||
try {
|
||||
writeOutput(text)
|
||||
} catch (err) {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> fileName = ' + filePath);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> filePath = ' + filePath);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> err = ' + err.stack);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> Asuming this is a temporary situation. Requesting a Retry.');
|
||||
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE)
|
||||
}
|
||||
} else {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> err = ' + err.stack);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> filePath = ' + filePath);
|
||||
TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err;
|
||||
callBackFunction(err)
|
||||
}
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> err = ' + err.stack);
|
||||
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> filePath = ' + filePath);
|
||||
TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err;
|
||||
callBackFunction(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
let responseWaiters = new Map()
|
||||
|
||||
let WEB_SOCKETS_CLIENT
|
||||
const WEB_SOCKET = require('ws')
|
||||
const WEB_SOCKET = SA.nodeModules.ws
|
||||
|
||||
if (host === undefined) {
|
||||
host = 'localhost'
|
||||
@@ -49,7 +49,7 @@
|
||||
WEB_SOCKETS_CLIENT.onerror = err => {
|
||||
console.log('[ERROR] Task Server -> Event Server Client -> setuptWebSockets -> On connection error -> error = ' + err.stack)
|
||||
console.log('[ERROR] This could mean that the port '+ port +' is taken by some other app running at your system. To resolve this issue, please pick another port number and change it at the .ENV file inside the Superalgos folder AND at the .Environment.js file inside the TaskServer folder. After that run the app again. ')
|
||||
console.log('[ERROR] If you are debugging, it can also mean that the Superalgos Client is not running. ')
|
||||
console.log('[ERROR] If you are debugging, it can also mean that the Superalgos Platform Client is not running. ')
|
||||
}
|
||||
WEB_SOCKETS_CLIENT.onopen = () => {
|
||||
try {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
|
||||
const ip = require("ip");
|
||||
const ip = SA.nodeModules.ip
|
||||
const MODULE_NAME = 'FileStorage'
|
||||
const MAX_RETRY = 10
|
||||
const FAST_RETRY_TIME_IN_MILISECONDS = 500
|
||||
@@ -8,16 +8,17 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
|
||||
let thisObject = {
|
||||
asyncGetTextFile: asyncGetTextFile,
|
||||
asyncCreateTextFile: asyncCreateTextFile,
|
||||
asyncCreateTextFile: asyncCreateTextFile,
|
||||
getTextFile: getTextFile,
|
||||
createTextFile: createTextFile,
|
||||
deleteTextFile: deleteTextFile
|
||||
}
|
||||
|
||||
|
||||
|
||||
let logger
|
||||
if (TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT === undefined) { // Dummy logger
|
||||
logger = {}
|
||||
|
||||
function write() {
|
||||
|
||||
}
|
||||
@@ -31,16 +32,17 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
/* This function allows its caller to work with async / await instead of callbacks */
|
||||
let promise = new Promise((resolve, reject) => {
|
||||
|
||||
getTextFile(filePath, onFileRead, noRetry, canUsePrevious)
|
||||
getTextFile(filePath, onFileRead, noRetry, canUsePrevious)
|
||||
|
||||
function onFileRead(err, text) {
|
||||
|
||||
|
||||
let response = {
|
||||
err: err,
|
||||
text: text
|
||||
}
|
||||
resolve(response)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
return promise
|
||||
}
|
||||
@@ -49,15 +51,16 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
/* This function allows its caller to work with async / await instead of callbacks */
|
||||
let promise = new Promise((resolve, reject) => {
|
||||
|
||||
createTextFile(filePath, fileContent, onFileWriten, keepPrevious, noTemp)
|
||||
createTextFile(filePath, fileContent, onFileWriten, keepPrevious, noTemp)
|
||||
|
||||
function onFileWriten(err) {
|
||||
|
||||
|
||||
let response = {
|
||||
err: err
|
||||
}
|
||||
resolve(response)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
return promise
|
||||
}
|
||||
@@ -78,8 +81,13 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
fileLocation = global.env.PATH_TO_PROJECTS + '/' + filePath
|
||||
mustBeJason = false
|
||||
} else {
|
||||
if (filePath.indexOf('.csv') > 0) {
|
||||
mustBeJason = false
|
||||
} else {
|
||||
mustBeJason = true
|
||||
}
|
||||
fileLocation = global.env.PATH_TO_DATA_STORAGE + '/' + filePath
|
||||
mustBeJason = true
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -89,7 +97,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
/* Here we actually reaad the file. */
|
||||
if (host === undefined || host === 'localhost' || host === ip.address() || host === '127.0.0.1') {
|
||||
/* We read the file from the local file system. */
|
||||
const fs = require('fs')
|
||||
const fs = SA.nodeModules.fs
|
||||
fs.readFile(fileLocation, onFileRead)
|
||||
} else {
|
||||
/* We read the file via a web server over http */
|
||||
@@ -145,7 +153,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
}
|
||||
|
||||
/*
|
||||
We are going to check if the file is a valir JSON object
|
||||
We are going to check if the file is a valid JSON object
|
||||
*/
|
||||
try {
|
||||
let jsonCheck = JSON.parse(text.toString())
|
||||
@@ -161,7 +169,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
|
||||
if (host === undefined || host === 'localhost' || host === ip.address() || host === '127.0.0.1') {
|
||||
/* We read the file from the local file system. */
|
||||
const fs = require('fs')
|
||||
const fs = SA.nodeModules.fs
|
||||
fs.readFile(fileLocation + '.Previous.json', onPreviousFileRead)
|
||||
} else {
|
||||
/* We read the file via a web server over http */
|
||||
@@ -250,7 +258,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
Here we write the file with a temporary name so as to avoid dirty read from other processes.
|
||||
Then we delete the original file, if exists, and finally we rename the temporary into the original name.
|
||||
*/
|
||||
const fs = require('fs')
|
||||
const fs = SA.nodeModules.fs
|
||||
if (noTemp === true) {
|
||||
fs.writeFile(fileLocation, fileContent, onFileWriten)
|
||||
} else {
|
||||
@@ -400,7 +408,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
|
||||
logger.write(MODULE_NAME, '[INFO] FileStorage -> deleteTextFile -> fileLocation: ' + fileLocation)
|
||||
|
||||
const fs = require('fs')
|
||||
const fs = SA.nodeModules.fs
|
||||
fs.unlink(fileLocation, onUnlinked)
|
||||
|
||||
function onUnlinked(err) {
|
||||
@@ -447,7 +455,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
/* The filePath received is the one that is needed to fetch data from with fs. To do it via http we need to remove the prefix that includes this: ./Data-Storage/ */
|
||||
filePath = filePath.substring(15, filePath.length)
|
||||
|
||||
let http = require('http');
|
||||
let http = SA.nodeModules.http
|
||||
let url = 'http://' + host +
|
||||
':' + port +
|
||||
'/Storage/' +
|
||||
@@ -457,7 +465,7 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
|
||||
let request = http.get(url, onResponse);
|
||||
|
||||
request.on('error', function (err) {
|
||||
request.on('error', function(err) {
|
||||
logger.write(MODULE_NAME, "[ERROR] getFileViaHTTP -> onError -> err = " + err.stack);
|
||||
logger.write(MODULE_NAME, "[ERROR] getFileViaHTTP -> onError -> Failed to fetch file via HTTP. Will retry later. ");
|
||||
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE);
|
||||
@@ -498,4 +506,4 @@ exports.newFileStorage = function newFileStorage(processIndex, host, port) {
|
||||
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"name": "task-modules",
|
||||
"version": "0.0.6",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"ip": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
|
||||
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "task-modules",
|
||||
"version": "0.0.6",
|
||||
"description": "Tasks Server",
|
||||
"main": "EventServerClient.js",
|
||||
"author": {
|
||||
"name": "Luis-Fernando-Molina"
|
||||
},
|
||||
"dependencies": {
|
||||
"ip": "^1.1.5",
|
||||
"ws": "^7.4.6"
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ function newFoundationsFunctionLibraryWorkspaceFunctions() {
|
||||
|
||||
if (alreadyExist === false) {
|
||||
let child = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, project + ' Project', rootNodes, project)
|
||||
if (child === undefined) { continue }
|
||||
child.project = project
|
||||
child.projectDefinition.name = project
|
||||
child.projectDefinition.config = "{ \n \"codeName\": \"" + project + "\"\n}"
|
||||
|
||||
@@ -301,6 +301,13 @@ function newCircularMenuItem() {
|
||||
|
||||
function onMouseOver(point) {
|
||||
if (thisObject.container.frame.isThisPointHere(point, true, false) === true) {
|
||||
let text = thisObject.action
|
||||
|
||||
if(thisObject.payload.uiObject.payload.referenceParent !== undefined && thisObject.action === 'Reference Detach'){
|
||||
text = text + ' -> [Existing Reference] Type : [' + thisObject.payload.uiObject.payload.referenceParent.type + '] , Name : [' + thisObject.payload.uiObject.payload.referenceParent.name + ']'
|
||||
}
|
||||
|
||||
thisObject.payload.uiObject.setInfoMessage(text)
|
||||
isMouseOver = true
|
||||
} else {
|
||||
isMouseOver = false
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"type": "Assets",
|
||||
"name": "Education-Project-CL",
|
||||
"config": "{\"codeName\":\"Education-Project-CL\"}",
|
||||
"name": "Education-Project-PL",
|
||||
"config": "{\"codeName\":\"Education-Project-PL\"}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [
|
||||
{
|
||||
"type": "Asset Class",
|
||||
"name": "Client",
|
||||
"config": "{\n \"folderPath\": \"Education/CL\"\n}",
|
||||
"config": "{\n \"folderPath\": \"Education/PL\"\n}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [],
|
||||
"assets": [],
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"type": "Assets",
|
||||
"name": "Ethereum-Project-CL",
|
||||
"config": "{\"codeName\":\"Ethereum-Project-CL\"}",
|
||||
"name": "Ethereum-Project-PL",
|
||||
"config": "{\"codeName\":\"Ethereum-Project-PL\"}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [
|
||||
{
|
||||
"type": "Asset Class",
|
||||
"name": "Client",
|
||||
"config": "{\n \"folderPath\": \"Ethereum/CL\"\n}",
|
||||
"config": "{\n \"folderPath\": \"Ethereum/PL\"\n}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [],
|
||||
"assets": [],
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"type": "Assets",
|
||||
"name": "Foundations-Project-CL",
|
||||
"config": "{\"codeName\":\"Foundations-Project-CL\"}",
|
||||
"name": "Foundations-Project-PL",
|
||||
"config": "{\"codeName\":\"Foundations-Project-PL\"}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [
|
||||
{
|
||||
"type": "Asset Class",
|
||||
"name": "Client",
|
||||
"config": "{\n \"folderPath\": \"Foundations/CL\"\n}",
|
||||
"config": "{\n \"folderPath\": \"Foundations/PL\"\n}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [],
|
||||
"assets": [],
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"type": "Assets",
|
||||
"name": "Superalgos-CL",
|
||||
"config": "{\"codeName\":\"Superalgos-CL\"}",
|
||||
"name": "Superalgos-PL",
|
||||
"config": "{\"codeName\":\"Superalgos-PL\"}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [
|
||||
{
|
||||
@@ -12,7 +12,7 @@
|
||||
"assetClasses": [
|
||||
{
|
||||
"type": "Asset Class",
|
||||
"name": "Superalgos-CL",
|
||||
"name": "Superalgos-PL",
|
||||
"config": "{\n \"description\": \"\", \"relativeWeight\": 0 \n}",
|
||||
"project": "Governance",
|
||||
"assetClasses": [],
|
||||
@@ -40,12 +40,12 @@
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "Assets",
|
||||
"name": "Superalgos-CL",
|
||||
"name": "Superalgos-PL",
|
||||
"id": "4a693d1b-c9cc-4ab6-aa56-e1e1e1e18854"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Superalgos-CL",
|
||||
"Superalgos-PL",
|
||||
"Assets",
|
||||
"Governance",
|
||||
"4a693d1b-c9cc-4ab6-aa56-e1e1e1e18854"
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{\n \"percentage\": 90\n}",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{\n \"percentage\": 10\n}",
|
||||
"config": "{\n \"percentage\": 0\n }",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
@@ -26,12 +26,12 @@
|
||||
"id": "85d3b184-0122-4cb3-a83c-b3c00d626767",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24761.40800640108,
|
||||
"y": 24813.204681296138
|
||||
"x": 13397.771642764716,
|
||||
"y": 17563.204681296138
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 24984.3514540443,
|
||||
"y": 25013.943863203796
|
||||
"x": 13620.715090407934,
|
||||
"y": 17763.943863203796
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -49,12 +49,12 @@
|
||||
"id": "9163e52d-f77c-40b7-b139-960681b28171",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24984.3514540443,
|
||||
"y": 25013.943863203796
|
||||
"x": 13620.715090407934,
|
||||
"y": 17763.943863203796
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25207.294901687517,
|
||||
"y": 25214.683045111455
|
||||
"x": 13843.658538051151,
|
||||
"y": 17964.683045111455
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -81,12 +81,12 @@
|
||||
"id": "5ebe2e87-295e-42cc-98f1-c70ee2efa4a3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25332.041916178172,
|
||||
"y": 24627.794484671173
|
||||
"x": 13968.405552541806,
|
||||
"y": 17377.794484671173
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25269.668408932845,
|
||||
"y": 24921.238764891314
|
||||
"x": 13906.032045296479,
|
||||
"y": 17671.238764891314
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -104,12 +104,12 @@
|
||||
"id": "d38054ef-3c0b-43fd-986d-27dd39f72f2c",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25269.668408932845,
|
||||
"y": 24921.238764891314
|
||||
"x": 13906.032045296479,
|
||||
"y": 17671.238764891314
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25207.294901687517,
|
||||
"y": 25214.683045111455
|
||||
"x": 13843.658538051151,
|
||||
"y": 17964.683045111455
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -127,12 +127,12 @@
|
||||
"id": "975175a5-fbf2-4775-80c3-175af1bf27ae",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25207.294901687517,
|
||||
"y": 25214.683045111455
|
||||
"x": 13843.658538051151,
|
||||
"y": 17964.683045111455
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25300,
|
||||
"y": 25500
|
||||
"x": 13936.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -155,23 +155,23 @@
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{\n \"percentage\": 30\n}",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "46674b25-ed29-4c00-90be-3dc849e2af9f",
|
||||
"id": "10938918-7341-47fd-84ea-ddc86904ec58",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25672.579175727584,
|
||||
"y": 24749.70358952681
|
||||
"x": 14285.388940725978,
|
||||
"y": 17500.011926593106
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25664.72609123522,
|
||||
"y": 25049.600787019477
|
||||
"x": 14301.089727598861,
|
||||
"y": 17799.600787019477
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -183,7 +183,61 @@
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Luis-Fernando-Molina",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "Julian-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "d004c04d-aa54-4805-9e92-c7783e0cab0a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14378.735441129616,
|
||||
"y": 17509.823039132756
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14301.089727598861,
|
||||
"y": 17799.600787019477
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 3,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Julian-Molina",
|
||||
"id": "1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Julian-Molina",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -194,18 +248,18 @@
|
||||
"id": "1d484ca6-1fc2-4a6f-b6c1-f30ef07dc820",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25786.74708415796,
|
||||
"y": 24775.537149726697
|
||||
"x": 14501.828909506517,
|
||||
"y": 17576.65733937626
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25664.72609123522,
|
||||
"y": 25049.600787019477
|
||||
"x": 14301.089727598861,
|
||||
"y": 17799.600787019477
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 3,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -221,12 +275,12 @@
|
||||
"id": "4849966e-c897-4222-9c46-b2e425f53810",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25882.338402538906,
|
||||
"y": 24843.094414311352
|
||||
"x": 14534.233516035953,
|
||||
"y": 17610.804669704525
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25664.72609123522,
|
||||
"y": 25049.600787019477
|
||||
"x": 14301.089727598861,
|
||||
"y": 17799.600787019477
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -244,12 +298,12 @@
|
||||
"id": "e6e043a7-e486-4c7f-a686-8a031db4c7c5",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25664.72609123522,
|
||||
"y": 25049.600787019477
|
||||
"x": 14301.089727598861,
|
||||
"y": 17799.600787019477
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25542.705098312483,
|
||||
"y": 25323.664424312257
|
||||
"x": 14179.06873467612,
|
||||
"y": 18073.664424312257
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -272,18 +326,18 @@
|
||||
"userSupporters": [
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "",
|
||||
"name": "cozed-gh",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "554c93e4-0de9-4ce2-a6ff-e8ce272e71cc",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25991.061666922964,
|
||||
"y": 25032.498264196627
|
||||
"x": 14578.62429950145,
|
||||
"y": 17759.88994533369
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25292.30588533196
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -295,23 +349,36 @@
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "cozed-gh",
|
||||
"id": "07f0b13a-a50f-4488-8a2c-a3f8f08e889d"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"cozed-gh",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"07f0b13a-a50f-4488-8a2c-a3f8f08e889d"
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "",
|
||||
"name": "Smidy13",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "0d18e74f-dae9-4672-b00a-c997909494ee",
|
||||
"id": "dab5a34d-1b55-4916-9ef6-a86133e3c4ad",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 26115.125304215744,
|
||||
"y": 25170.28489240922
|
||||
"x": 14691.138132372005,
|
||||
"y": 17831.766514466763
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25292.30588533196
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -323,7 +390,98 @@
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Smidy13",
|
||||
"id": "4b5eca40-4d97-454d-91f3-8627a98ef682"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Smidy13",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"4b5eca40-4d97-454d-91f3-8627a98ef682"
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "PLuv",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "af6e4663-d24b-4684-913c-4821312d359a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14761.32351842635,
|
||||
"y": 17945.34298809562
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "PLuv",
|
||||
"id": "142f5de2-3762-4f55-a839-22eac5c03c8f"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"PLuv",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "harrellbm",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "b5af4689-9931-49da-bc07-690c0deb4351",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14775.279381189153,
|
||||
"y": 18078.124152694032
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "harrellbm",
|
||||
"id": "3af73d3b-7c0e-4de7-a1e1-a72238081740"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"harrellbm",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -334,12 +492,12 @@
|
||||
"id": "37f0b912-de8f-4b79-98ad-b5aaf08f838b",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 26134.505947143105,
|
||||
"y": 25354.679392577287
|
||||
"x": 14730.241590882813,
|
||||
"y": 18203.811070159165
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25292.30588533196
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -361,12 +519,12 @@
|
||||
"id": "f3fb13a2-b1f4-4b02-b925-c68f504fd2ac",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 26041.800848830622,
|
||||
"y": 25515.249332975178
|
||||
"x": 14635.130434229754,
|
||||
"y": 18297.50990503816
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25292.30588533196
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -384,12 +542,12 @@
|
||||
"id": "65a48301-5bc1-4a5c-a50a-f429f44db4b8",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25292.30588533196
|
||||
"x": 14477.425303286602,
|
||||
"y": 18042.30588533196
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25542.705098312483,
|
||||
"y": 25323.664424312257
|
||||
"x": 14179.06873467612,
|
||||
"y": 18073.664424312257
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -407,12 +565,12 @@
|
||||
"id": "410de3ee-3b6a-4e67-a6f0-130e29cd0a79",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25542.705098312483,
|
||||
"y": 25323.664424312257
|
||||
"x": 14179.06873467612,
|
||||
"y": 18073.664424312257
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25300,
|
||||
"y": 25500
|
||||
"x": 13936.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -430,7 +588,7 @@
|
||||
"votesAndClaimsPrograms": {
|
||||
"type": "Votes And Claims Programs",
|
||||
"name": "New Votes And Claims Programs",
|
||||
"config": "{\n \"percentage\": 20\n}",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"votingProgram": {
|
||||
"type": "Voting Program",
|
||||
@@ -445,12 +603,12 @@
|
||||
"id": "8b8039e0-c042-4dde-87ca-61ac8019a49e",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 26139.418235533445,
|
||||
"y": 25739.052653648338
|
||||
"x": 14775.781871897083,
|
||||
"y": 18489.052653648338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25707.69411466804
|
||||
"x": 14477.425303286602,
|
||||
"y": 18457.69411466804
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -468,12 +626,12 @@
|
||||
"id": "1ca2a7f8-4dad-40a5-9a0b-70e4e6b0e037",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25841.061666922964,
|
||||
"y": 25707.69411466804
|
||||
"x": 14477.425303286602,
|
||||
"y": 18457.69411466804
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25542.705098312483,
|
||||
"y": 25676.335575687743
|
||||
"x": 14179.06873467612,
|
||||
"y": 18426.335575687743
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -493,102 +651,9 @@
|
||||
"name": "New Claims Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"assetClaimsFolders": [
|
||||
{
|
||||
"type": "Asset Claims Folder",
|
||||
"name": "New Asset Claims Folder",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"assetClaimsFolders": [],
|
||||
"assetContributionClaims": [],
|
||||
"id": "c0bb67cf-ed97-445f-b3b6-8ef181c386c0",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 31844.903008026802,
|
||||
"y": 18200.741292494906
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 31404.73658769659,
|
||||
"y": 18107.181031626915
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"featureClaimsFolders": [
|
||||
{
|
||||
"type": "Feature Claims Folder",
|
||||
"name": "New Feature Claims Folder",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"featureClaimsFolders": [],
|
||||
"featureContributionClaims": [],
|
||||
"id": "81dc6357-893d-4361-9692-ef5d5e32a31e",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 31705.845360558076,
|
||||
"y": 18441.596203091744
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 31404.73658769659,
|
||||
"y": 18107.181031626915
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"positionClaimsFolders": [
|
||||
{
|
||||
"type": "Position Claims Folder",
|
||||
"name": "New Position Claims Folder",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"positionClaimsFolders": [],
|
||||
"positionContributionClaims": [],
|
||||
"id": "32dec8a2-71c0-45f0-b1c3-8ea6f3b99b6d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 31451.77439616703,
|
||||
"y": 18554.71588454264
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 31404.73658769659,
|
||||
"y": 18107.181031626915
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"assetClaimsFolders": [],
|
||||
"featureClaimsFolders": [],
|
||||
"positionClaimsFolders": [],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
@@ -596,18 +661,18 @@
|
||||
"id": "b3a93cc0-0801-4f6e-9488-435a1d272bff",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 31179.73658769659,
|
||||
"y": 18496.892463329914
|
||||
"x": 14423.110720521601,
|
||||
"y": 18974.462850273303
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 31404.73658769659,
|
||||
"y": 18107.181031626915
|
||||
"x": 14301.089727598861,
|
||||
"y": 18700.399212980523
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -619,19 +684,19 @@
|
||||
"id": "98125357-80c3-4d3b-9b91-059298515c11",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 31404.73658769659,
|
||||
"y": 18107.181031626915
|
||||
"x": 14301.089727598861,
|
||||
"y": 18700.399212980523
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25542.705098312483,
|
||||
"y": 25676.335575687743
|
||||
"x": 14179.06873467612,
|
||||
"y": 18426.335575687743
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": true,
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 4,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
@@ -642,12 +707,12 @@
|
||||
"id": "a79ace48-ae15-4359-95c1-371df5e41291",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25542.705098312483,
|
||||
"y": 25676.335575687743
|
||||
"x": 14179.06873467612,
|
||||
"y": 18426.335575687743
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25300,
|
||||
"y": 25500
|
||||
"x": 13936.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -665,7 +730,7 @@
|
||||
"financialPrograms": {
|
||||
"type": "Financial Programs",
|
||||
"name": "New Financial Programs",
|
||||
"config": "{\n \"percentage\": 20\n}",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"stakingProgram": {
|
||||
"type": "Staking Program",
|
||||
@@ -679,12 +744,12 @@
|
||||
"id": "77071bb6-dbda-4a2a-a8da-83ea6aa4155d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25332.041916178172,
|
||||
"y": 26372.205515328827
|
||||
"x": 13968.405552541806,
|
||||
"y": 19122.205515328827
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25269.668408932845,
|
||||
"y": 26078.761235108686
|
||||
"x": 13906.032045296479,
|
||||
"y": 18828.761235108686
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -702,12 +767,12 @@
|
||||
"id": "4087d58e-e684-4651-8849-4e194d5cc934",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25269.668408932845,
|
||||
"y": 26078.761235108686
|
||||
"x": 13906.032045296479,
|
||||
"y": 18828.761235108686
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25207.294901687517,
|
||||
"y": 25785.316954888545
|
||||
"x": 13843.658538051151,
|
||||
"y": 18535.316954888545
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -727,38 +792,7 @@
|
||||
"name": "New Delegation Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"delegatePowerSwitch": [
|
||||
{
|
||||
"type": "Delegate Power Switch",
|
||||
"name": "New Delegate Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"delegatePowerSwitch": [],
|
||||
"userDelegates": [],
|
||||
"id": "41e5e919-43b5-43d1-b0c1-7b388b4cd1bf",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24891.646355731817,
|
||||
"y": 26271.37309168475
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 24984.3514540443,
|
||||
"y": 25986.056136796204
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"delegatePowerSwitch": [],
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
@@ -766,18 +800,18 @@
|
||||
"id": "ef6f8b6c-6e85-4d6c-ad64-b1e6ddd1248f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24690.90717382416,
|
||||
"y": 26048.42964404153
|
||||
"x": 13397.771642764716,
|
||||
"y": 18936.795318703862
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 24984.3514540443,
|
||||
"y": 25986.056136796204
|
||||
"x": 13620.715090407934,
|
||||
"y": 18736.056136796204
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -789,12 +823,12 @@
|
||||
"id": "ee380273-eced-4761-b91e-94b542beb5de",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24984.3514540443,
|
||||
"y": 25986.056136796204
|
||||
"x": 13620.715090407934,
|
||||
"y": 18736.056136796204
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25207.294901687517,
|
||||
"y": 25785.316954888545
|
||||
"x": 13843.658538051151,
|
||||
"y": 18535.316954888545
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -812,12 +846,12 @@
|
||||
"id": "c09288a3-64fb-489d-8e7d-c8d72a56c535",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25207.294901687517,
|
||||
"y": 25785.316954888545
|
||||
"x": 13843.658538051151,
|
||||
"y": 18535.316954888545
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25300,
|
||||
"y": 25500
|
||||
"x": 13936.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -835,12 +869,12 @@
|
||||
"id": "d7571db7-acfc-4d8c-aa91-582ff7f5dbb3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25300,
|
||||
"y": 25500
|
||||
"x": 13936.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25000,
|
||||
"y": 25500
|
||||
"x": 13636.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -862,12 +896,12 @@
|
||||
"id": "a72ec234-c5dc-425e-9ace-95ffed7c0542",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24700,
|
||||
"y": 25500
|
||||
"x": 13336.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25000,
|
||||
"y": 25500
|
||||
"x": 13636.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -885,12 +919,12 @@
|
||||
"id": "280f0baf-bc13-497c-b255-618c1a146442",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25000,
|
||||
"y": 25500
|
||||
"x": 13636.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25000,
|
||||
"y": 25500
|
||||
"x": 13636.363636363636,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
|
||||
@@ -0,0 +1,534 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "Charlie67j",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"Charlie67j\",\n \"messageHash\": \"0x70ba1e6420829ad20817ae9f7bc2fd214de06fa895fa85c26a6197e05bf1400c\",\n \"v\": \"0x1b\",\n \"r\": \"0x16090236c19017d88791a1c78ad97ace2b59db17bd367a43e7166415fa3f63f3\",\n \"s\": \"0x135bb4a1b5d9b2179c200ae621c753b49ce66fa6f8068dccbacbb1f165739923\",\n \"signature\": \"0x16090236c19017d88791a1c78ad97ace2b59db17bd367a43e7166415fa3f63f3135bb4a1b5d9b2179c200ae621c753b49ce66fa6f8068dccbacbb1f1657399231b\"\n }\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{\n \"percentage\": 0\n }",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "be1939eb-b1d0-4c32-a120-aa14b7533674",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14134,
|
||||
"y": 9788.577136594007
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14284,
|
||||
"y": 10048.384757729338
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "2d2a67d6-c9a9-43e9-872c-c60b193c67c3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14284,
|
||||
"y": 10048.384757729338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14434,
|
||||
"y": 10308.192378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "13fcdfea-accb-468c-bed3-36b8150fdf6b",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15034,
|
||||
"y": 10308.192378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14734,
|
||||
"y": 10308.192378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "2d9fea4b-b74a-40ab-a91d-66b7037e8d92",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14734,
|
||||
"y": 10308.192378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14434,
|
||||
"y": 10308.192378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "31e8540d-dafe-4985-aa75-fdc3b08e463c",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14434,
|
||||
"y": 10308.192378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14284,
|
||||
"y": 10568
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "248f97fb-dbb9-4c66-ba2d-fea9ef3dbc02",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14817.884582149169,
|
||||
"y": 10496.056853104383
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14833.585369022052,
|
||||
"y": 10795.645713530756
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Charlie67j",
|
||||
"id": "f36c75b4-b6d6-4d2a-9bca-47f0dc0754b1"
|
||||
},
|
||||
"referenceParentCombinedNodePath": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "Julian-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "b15c7e19-308a-45e8-9aa5-31cea8bf4672",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15113.659496971213,
|
||||
"y": 10688.135328667166
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14833.585369022052,
|
||||
"y": 10795.645713530756
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Julian-Molina",
|
||||
"id": "1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Julian-Molina",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "05393644-db21-4bc0-89ac-1784af5df12f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15022.381486337003,
|
||||
"y": 11028.789501967847
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14833.585369022052,
|
||||
"y": 10795.645713530756
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "ab6b8982-95c6-4ce8-a840-e9e171e84f44",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14670.193658517544,
|
||||
"y": 11047.246883914382
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14833.585369022052,
|
||||
"y": 10795.645713530756
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "cf4dd775-2e52-4b90-a30a-2c370510b692",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14833.585369022052,
|
||||
"y": 10795.645713530756
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14543.807621135331,
|
||||
"y": 10718
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 3,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"supportProgram": {
|
||||
"type": "Support Program",
|
||||
"name": "New Support Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userSupporters": [
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "Julian-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "51164b7a-e53b-40b7-94bb-50d270223957",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14422.071689847258,
|
||||
"y": 10850
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14209.939655491295,
|
||||
"y": 11062.132034355964
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Julian-Molina",
|
||||
"id": "1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Julian-Molina",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "7380e05f-e5eb-46e8-8868-02c7b79f3689",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14422.071689847258,
|
||||
"y": 11274.264068711927
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14209.939655491295,
|
||||
"y": 11062.132034355964
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "79583bb6-9ddb-42c5-ba1f-e513cbf2d5c0",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13997.807621135331,
|
||||
"y": 11274.264068711927
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14209.939655491295,
|
||||
"y": 11062.132034355964
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "7276b356-8b38-484b-b386-6971f43d3bb3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14209.939655491295,
|
||||
"y": 11062.132034355964
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14543.807621135331,
|
||||
"y": 10718
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": true,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 3,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "336e1d5c-c545-4859-b12a-29ff0ea4a8da",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14543.807621135331,
|
||||
"y": 10718
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14284,
|
||||
"y": 10568
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "3d6bc7ef-d143-4a96-84dd-3590ec2a677c",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14284,
|
||||
"y": 10568
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13984,
|
||||
"y": 10568
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "b1d1541a-d856-4830-893d-73ceab0951a8",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13684,
|
||||
"y": 10568
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13984,
|
||||
"y": 10568
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "112a25ef-bb94-47eb-9b8d-3899451c72ad",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13984,
|
||||
"y": 10568
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13984,
|
||||
"y": 10568
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,307 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "Jefferson111",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"Jefferson111\",\n \"messageHash\": \"0x82fee459ee0da808b45b73e8f72cb84ad208ab08ca33a44f580199eefd1c27dc\",\n \"v\": \"0x1b\",\n \"r\": \"0x35c6ea4e567d45fb1055e68c2d365179fbbfc2b6886e4f81338f3f32019751df\",\n \"s\": \"0x5427a02a9392d6a3b640db90a6ac39cc4c16dfb3513918fe9b8fd400b1cedec3\",\n \"signature\": \"0x35c6ea4e567d45fb1055e68c2d365179fbbfc2b6886e4f81338f3f32019751df5427a02a9392d6a3b640db90a6ac39cc4c16dfb3513918fe9b8fd400b1cedec31b\"\n }\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{\n \"percentage\": 0\n}",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "42020aa3-4431-45ac-b898-1228afb84f51",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13891,
|
||||
"y": 9843.077136594007
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13741,
|
||||
"y": 10102.884757729338
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "d36f7dff-f3ef-45a2-a970-dedde81b970c",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13741,
|
||||
"y": 10102.884757729338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13591,
|
||||
"y": 10362.692378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "0f91dfe7-b163-422d-bbef-ed680ff64905",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13591,
|
||||
"y": 10362.692378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13441,
|
||||
"y": 10622.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"julian-molina\",\n \"messageHash\": \"0x34eae63163cc918a1a1fab82836b0f15e33051925812cf7d5f8ffe5ff0854f2c\",\n \"v\": \"0x1b\",\n \"r\": \"0x8560ff34239215408cb869d3c90c30ed11ab6634c4269b255d2b4159b7690fe5\",\n \"s\": \"0x017b2c5e080b0f340dcd09f8ba5c67119a3b62c375252d96f541c57db109a0b7\",\n \"signature\": \"0x8560ff34239215408cb869d3c90c30ed11ab6634c4269b255d2b4159b7690fe5017b2c5e080b0f340dcd09f8ba5c67119a3b62c375252d96f541c57db109a0b71b\"\n },\n \"codeName\": \"Julian-Molina\"\n}",
|
||||
"project": "Governance",
|
||||
"id": "ea4bd7f5-229b-4ca1-b0c1-ed4b9d37ee9e",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14000.807621135331,
|
||||
"y": 10992.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13741,
|
||||
"y": 11142.115242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "30771fbb-845f-4656-8b48-b7350676c215",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13891,
|
||||
"y": 11401.922863405993
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13741,
|
||||
"y": 11142.115242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "9a5d0177-9af4-4ff6-9947-55a1aeacea42",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13481.192378864669,
|
||||
"y": 11292.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13741,
|
||||
"y": 11142.115242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "e2adc393-076a-4044-b360-6b2279382f16",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13741,
|
||||
"y": 11142.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13591,
|
||||
"y": 10882.307621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "3823f55e-bf10-472a-8ec3-609e33775078",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13591,
|
||||
"y": 10882.307621135331
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13441,
|
||||
"y": 10622.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "99acb6b8-f671-422e-b1d7-0c4f7fb67fde",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13441,
|
||||
"y": 10622.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13141,
|
||||
"y": 10622.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "7131af1e-86cf-4b39-915d-8e6c3eb0b276",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12841,
|
||||
"y": 10622.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13141,
|
||||
"y": 10622.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "c89c0b0b-a604-49c5-9d86-397c48f4c0db",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13141,
|
||||
"y": 10622.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13141,
|
||||
"y": 10622.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7792,7 +7792,7 @@
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "Asset Class",
|
||||
"name": "Superalgos-CL",
|
||||
"name": "Superalgos-PL",
|
||||
"id": "5d13e350-4267-4d2f-a3fa-a1fabd5df10d"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
@@ -7809,7 +7809,7 @@
|
||||
"d6e22645-35ee-443e-9349-01d2e8362d79"
|
||||
],
|
||||
[
|
||||
"Superalgos-CL",
|
||||
"Superalgos-PL",
|
||||
"Asset Class",
|
||||
"Governance",
|
||||
"5d13e350-4267-4d2f-a3fa-a1fabd5df10d"
|
||||
@@ -12725,7 +12725,9 @@
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Raplh2502",
|
||||
"User Profile"
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"c538f02f-9a2c-47e2-bf92-f6e97ede4031"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -13211,12 +13213,12 @@
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 10000,
|
||||
"y": 21251
|
||||
"x": 7692.307692307692,
|
||||
"y": 21250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 10000,
|
||||
"y": 21251
|
||||
"x": 7692.307692307692,
|
||||
"y": 21250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
|
||||
@@ -0,0 +1,485 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "NAmorim",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"NAmorim\",\n \"messageHash\": \"0xd7fc194bfd83696ca9404e75ac4958a23e7b9204e9cefefd6b6a9d29953ebbaa\",\n \"v\": \"0x1b\",\n \"r\": \"0x91266021e1be8deaf8cfe2ac7893d6ce2bddad47459e7ba71b584ac29d25e449\",\n \"s\": \"0x2e06590f5eb90ad96683508cbad5349963621ce2babc394accd880c4530c0968\",\n \"signature\": \"0x91266021e1be8deaf8cfe2ac7893d6ce2bddad47459e7ba71b584ac29d25e4492e06590f5eb90ad96683508cbad5349963621ce2babc394accd880c4530c09681b\"\n }\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{\"percentage\": 0}",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "46bee27c-95f4-4ab9-8c1a-d46efcc05244",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13662,
|
||||
"y": 16698.077136594
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13812,
|
||||
"y": 16957.884757729335
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "27083db5-024d-4457-857a-88394a7b5118",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13812,
|
||||
"y": 16957.884757729335
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13962,
|
||||
"y": 17217.692378864667
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "43a4f00c-eec3-464d-868b-13f480cc7e11",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14562,
|
||||
"y": 17217.692378864667
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14262,
|
||||
"y": 17217.692378864667
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "3d762541-5bf7-4647-a545-f545cef7ef8b",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14262,
|
||||
"y": 17217.692378864667
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13962,
|
||||
"y": 17217.692378864667
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "f88e2ac9-88e0-4816-b765-be4c4d1b400d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13962,
|
||||
"y": 17217.692378864667
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13812,
|
||||
"y": 17477.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "7491735f-f040-4483-8f74-8694c0759c81",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14262,
|
||||
"y": 17437.307621135333
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14262,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Luis-Fernando-Molina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "22664cdf-92cf-4102-8ccb-22a9f6f99801",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14562,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14262,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "ee42c455-97f3-4624-b47a-ddd225ff8331",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14262,
|
||||
"y": 18037.307621135333
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14262,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "3a8ef207-973f-4579-8acc-c98271e770ed",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14262,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13962,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"supportProgram": {
|
||||
"type": "Support Program",
|
||||
"name": "New Support Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userSupporters": [
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "09c6fe47-e4c1-46dd-8825-b62e0524aab9",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14071.807621135331,
|
||||
"y": 18147.115242270665
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13812,
|
||||
"y": 17997.115242270665
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "1874837c-6e22-460d-8847-6b884f7292aa",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13662,
|
||||
"y": 18256.922863406
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13812,
|
||||
"y": 17997.115242270665
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "483b5f57-da5d-4583-b1cf-410c9fb40ae3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13552.192378864669,
|
||||
"y": 17847.115242270665
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13812,
|
||||
"y": 17997.115242270665
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "d2e657d3-e189-40a3-bd8d-b9c3bf152694",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13812,
|
||||
"y": 17997.115242270665
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13962,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "1f6187e8-4878-43d1-a7df-9b33a73ccb57",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13962,
|
||||
"y": 17737.307621135333
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13812,
|
||||
"y": 17477.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "2d11ec65-8e01-49af-910c-1d6151e1ebe9",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13812,
|
||||
"y": 17477.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13512,
|
||||
"y": 17477.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "5fb7a0f5-034b-4ce1-9052-c02cee1f6a38",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13212,
|
||||
"y": 17477.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13512,
|
||||
"y": 17477.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "d611eda3-4202-438a-af65-8981a90e742a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13512,
|
||||
"y": 17477.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13512,
|
||||
"y": 17477.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": true,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6305,7 +6305,7 @@
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "Asset Class",
|
||||
"name": "Superalgos-CL",
|
||||
"name": "Superalgos-PL",
|
||||
"id": "5d13e350-4267-4d2f-a3fa-a1fabd5df10d"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
@@ -6322,7 +6322,7 @@
|
||||
"d6e22645-35ee-443e-9349-01d2e8362d79"
|
||||
],
|
||||
[
|
||||
"Superalgos-CL",
|
||||
"Superalgos-PL",
|
||||
"Asset Class",
|
||||
"Governance",
|
||||
"5d13e350-4267-4d2f-a3fa-a1fabd5df10d"
|
||||
|
||||
@@ -10681,7 +10681,7 @@
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Superalgos-CL",
|
||||
"Superalgos-PL",
|
||||
"Assets",
|
||||
"Governance",
|
||||
"4a693d1b-c9cc-4ab6-aa56-e1e1e1e18854"
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
"id": "baa2f02c-2920-4edb-a103-d452fc61d82f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 20588.235294117643,
|
||||
"y": 18250
|
||||
"x": 30769.230769230762,
|
||||
"y": 21250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 20588.235294117643,
|
||||
"y": 18250
|
||||
"x": 30769.230769230762,
|
||||
"y": 21250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
"id": "36c2b050-631f-4291-987c-418adc94317d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 17647.05882352941,
|
||||
"y": 21251
|
||||
"x": 28846.15384615384,
|
||||
"y": 18250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 17647.05882352941,
|
||||
"y": 21251
|
||||
"x": 28846.15384615384,
|
||||
"y": 18250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "a-r-1",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"a-r-1\",\n \"messageHash\": \"0x9745bbf104bba5e739d256eb99244e777e1c7e071ccef5721ce4d2d1b23530e7\",\n \"v\": \"0x1b\",\n \"r\": \"0xf3cb4ffd98a4b690b15ae6185ae3b90e371ebfa94a801782a4225b40ae05bd7e\",\n \"s\": \"0x08368b4695b28f74e6379f66e7bd98295f68a5616a1977386bf41c80ff832722\",\n \"signature\": \"0xf3cb4ffd98a4b690b15ae6185ae3b90e371ebfa94a801782a4225b40ae05bd7e08368b4695b28f74e6379f66e7bd98295f68a5616a1977386bf41c80ff8327221b\"\n }\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "97dac6d9-abe3-407d-a695-bf0e78fb9338",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14202,
|
||||
"y": 9998.884757729338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14052,
|
||||
"y": 10258.692378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "06f2a2d5-4e0a-4229-a452-5cb77a90ca25",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14052,
|
||||
"y": 10258.692378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13902,
|
||||
"y": 10518.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "769bca90-9994-42ff-8253-8b49394ff583",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14202,
|
||||
"y": 11038.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14052,
|
||||
"y": 10778.307621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "ac196cef-a8b5-432b-8bbf-8122bc27fb04",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14052,
|
||||
"y": 10778.307621135331
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13902,
|
||||
"y": 10518.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "224f5e96-0309-4d0e-885d-d900e40ed060",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13902,
|
||||
"y": 10518.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13602,
|
||||
"y": 10518.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "99859f48-0e69-4fba-a93a-97156bf20b04",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13602,
|
||||
"y": 10518.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13302,
|
||||
"y": 10518.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "3d0935b7-80b5-4b41-a0b8-77bf805f3d82",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13002,
|
||||
"y": 10518.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13302,
|
||||
"y": 10518.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "41c45cfb-3877-4b74-8526-0958300596b3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13302,
|
||||
"y": 10518.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13302,
|
||||
"y": 10518.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,625 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "alexbacanu",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"alexbacanu\",\n \"messageHash\": \"0x82893d94bbeef59c79191b46b55e3b02ebf06138e914152b13de5633f26699d0\",\n \"v\": \"0x1b\",\n \"r\": \"0x9f2bec070af89bfde331a6f06c623c876133da647eb5657ccd83ee7af0e714dd\",\n \"s\": \"0x5c6af340c2febc2dbe3fac50e3a8e1dee226e2994613ea52a6b33089b59c7c30\",\n \"signature\": \"0x9f2bec070af89bfde331a6f06c623c876133da647eb5657ccd83ee7af0e714dd5c6af340c2febc2dbe3fac50e3a8e1dee226e2994613ea52a6b33089b59c7c301b\"\n },\n \"codeName\": \"alexbacanu\"\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{\n \"percentage\": 0\n}",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "febe4283-b7d6-4bbf-a2e2-5733b1715abe",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11831.807621135331,
|
||||
"y": 10098.884757729338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11681.807621135331,
|
||||
"y": 10358.692378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "370792a3-ab0d-4dc0-83bc-a48633923f99",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11681.807621135331,
|
||||
"y": 10358.692378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10618.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "40385ee3-3d90-414d-b54e-22024ae8166f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12131.807621135331,
|
||||
"y": 10618.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11831.807621135331,
|
||||
"y": 10618.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "24e27fdf-111e-4f37-ace8-d980638dcd7a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11831.807621135331,
|
||||
"y": 10618.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10618.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "1ecb2c89-e7e8-485c-9f98-98428c78a02a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10618.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11272,
|
||||
"y": 10768.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "5ff1e995-2b2e-40fd-8de0-e9b4fcdeb69f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11971.585369022052,
|
||||
"y": 10581.046665333914
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11821.585369022052,
|
||||
"y": 10840.854286469244
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Luis-Fernando-Molina",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "8b8e990a-3458-4400-95da-d6232e24bf4a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12111.363116908773,
|
||||
"y": 10763.208572938489
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11821.585369022052,
|
||||
"y": 10840.854286469244
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "ebc8ef82-ddec-41ab-9eed-2017f6e7b183",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12081.392990157383,
|
||||
"y": 10990.854286469244
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11821.585369022052,
|
||||
"y": 10840.854286469244
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "8f9aaa46-d804-4c10-a54b-92c2061dc858",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11821.585369022052,
|
||||
"y": 10840.854286469244
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10918.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"supportProgram": {
|
||||
"type": "Support Program",
|
||||
"name": "New Support Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userSupporters": [
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "harrellbm",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "0e12f022-9c73-4dfc-ae01-679792d745c6",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12356.18567466841,
|
||||
"y": 11027.031429703866
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11921.519052838328,
|
||||
"y": 11143.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "harrellbm",
|
||||
"id": "3af73d3b-7c0e-4de7-a1e1-a72238081740"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"harrellbm",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"3af73d3b-7c0e-4de7-a1e1-a72238081740"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "9a79cf1a-b9da-4f50-8ef0-39c151233c09",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12311.230484541325,
|
||||
"y": 11368.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11921.519052838328,
|
||||
"y": 11143.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "bbd18748-77f8-481b-a3d2-4bed02907cd2",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 12037.987623134462,
|
||||
"y": 11578.166621830082
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11921.519052838328,
|
||||
"y": 11143.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "bc56de66-7e54-4b59-beb0-69cb612b4b71",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11921.519052838328,
|
||||
"y": 11143.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10918.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 4,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"mentorshipProgram": {
|
||||
"type": "Mentorship Program",
|
||||
"name": "New Mentorship Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userMentors": [
|
||||
{
|
||||
"type": "User Mentor",
|
||||
"name": "PLuv",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "4d568744-258e-45a1-949c-0ea69e6683ef",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11869.260955801417,
|
||||
"y": 11358.277747886721
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11609.453334666086,
|
||||
"y": 11208.277747886721
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "PLuv",
|
||||
"id": "142f5de2-3762-4f55-a839-22eac5c03c8f"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"PLuv",
|
||||
"User Profile",
|
||||
"Governance",
|
||||
"142f5de2-3762-4f55-a839-22eac5c03c8f"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "9b6fd291-940b-48aa-9c9c-fc48487c72c9",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11687.099048196842,
|
||||
"y": 11498.055495773442
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11609.453334666086,
|
||||
"y": 11208.277747886721
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "550e7a42-80f5-44c1-b866-40187888aec4",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11459.453334666086,
|
||||
"y": 11468.085369022052
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11609.453334666086,
|
||||
"y": 11208.277747886721
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "f158e082-bb8e-4d01-abf7-a8b504551b0a",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11609.453334666086,
|
||||
"y": 11208.277747886721
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10918.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "4f885985-7142-4cb8-a863-ef8e9ee7acec",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11531.807621135331,
|
||||
"y": 10918.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 11272,
|
||||
"y": 10768.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "bfd6fc8e-8c79-4f63-90ab-b565348444ca",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 11272,
|
||||
"y": 10768.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 10972,
|
||||
"y": 10768.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "2d4b83f8-b6d4-4555-9b1c-48a86442c077",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 10672,
|
||||
"y": 10768.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 10972,
|
||||
"y": 10768.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "ec022964-1f09-49e1-a147-3ba00abab9db",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 22727.272727272724,
|
||||
"y": 24250
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 22727.272727272724,
|
||||
"y": 24250
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,362 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "hellarnasstrom",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"hellarnasstrom\",\n \"messageHash\": \"0xdaf65d25729a9dea1d942565fe97a77a3d0ad39748ba97d4e75edbd6cfb3ba69\",\n \"v\": \"0x1b\",\n \"r\": \"0x2ae23edd6239dfbafe72632cb550225a3daa4a6b5fe9b2256a987d66e21d1836\",\n \"s\": \"0x5d9645529959dd53eb8043d07900fb71997d47328963221ece85a64ae374a080\",\n \"signature\": \"0x2ae23edd6239dfbafe72632cb550225a3daa4a6b5fe9b2256a987d66e21d18365d9645529959dd53eb8043d07900fb71997d47328963221ece85a64ae374a0801b\"\n }\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "ce3d6b8b-140c-486c-b81d-2867d8f91bf3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14594,
|
||||
"y": 9958.077136594007
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14744,
|
||||
"y": 10217.884757729338
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "53473ffb-9cd1-47a6-bf2d-91589f9ac1b0",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14744,
|
||||
"y": 10217.884757729338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14894,
|
||||
"y": 10477.692378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "86265f29-a7e5-4e8e-b5c7-a7dc408c6d75",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15494,
|
||||
"y": 10477.692378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 15194,
|
||||
"y": 10477.692378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "c7b309cd-aca8-4fde-b89d-46de14ff8da9",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15194,
|
||||
"y": 10477.692378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14894,
|
||||
"y": 10477.692378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "c02ba517-8246-43da-942c-f0299549370f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14894,
|
||||
"y": 10477.692378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14744,
|
||||
"y": 10737.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "",
|
||||
"config": "{Julian-Molina}",
|
||||
"project": "Governance",
|
||||
"id": "c5d2130b-dab9-43f2-adcb-c3faef332073",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15303.807621135331,
|
||||
"y": 11107.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 15044,
|
||||
"y": 11257.115242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "6c3c64e5-b2ac-425b-a5f0-8fc871a107cf",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15194,
|
||||
"y": 11516.922863405993
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 15044,
|
||||
"y": 11257.115242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "c5df6b99-450d-4dd6-a1b4-f4333d12536b",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14784.192378864669,
|
||||
"y": 11407.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 15044,
|
||||
"y": 11257.115242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "a66cfd08-f566-4bee-a4f7-e2fdc3ec4dde",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 15044,
|
||||
"y": 11257.115242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14894,
|
||||
"y": 10997.307621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "77faf241-5d51-4e7f-9b2b-e996eb942c44",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14894,
|
||||
"y": 10997.307621135331
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14744,
|
||||
"y": 10737.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "cc676344-5fc3-44f9-bd61-9d9a0045c510",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14744,
|
||||
"y": 10737.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14444,
|
||||
"y": 10737.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "9d88be19-af2f-4305-8fa8-2722f8fbe0cb",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14144,
|
||||
"y": 10737.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14444,
|
||||
"y": 10737.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "f93bb5da-dd98-4dcf-92b2-95d86e0e0ed2",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14444,
|
||||
"y": 10737.5
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14444,
|
||||
"y": 10737.5
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,697 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "narkxx",
|
||||
"config": "{\n \"signature\": {\n \"message\": \"narkxx\",\n \"messageHash\": \"0x9b2dbaa8f93d181e9ecead93dd3310217c50774828a0deb2b83a71d81f49ff4c\",\n \"v\": \"0x1b\",\n \"r\": \"0x0e65fdd697bf412f412669823bea7f76231c5fff1319d2c41c0568daa33d7f1c\",\n \"s\": \"0x2dfdf2361a34ca33f587dff4f2d89519f20f77ee1f49500a05ccc3ffb477187e\",\n \"signature\": \"0x0e65fdd697bf412f412669823bea7f76231c5fff1319d2c41c0568daa33d7f1c2dfdf2361a34ca33f587dff4f2d89519f20f77ee1f49500a05ccc3ffb477187e1b\"\n }\n}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{\n \"percentage\": 0\n }",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "e32a0924-c240-4e8e-a68b-0f1c313137d3",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25196,
|
||||
"y": 14402.577136594007
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 14662.384757729338
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "11f2e881-196c-466c-9de9-ec5ed0eb31d1",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25346,
|
||||
"y": 14662.384757729338
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25496,
|
||||
"y": 14922.192378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "ff131c9a-a1f5-477c-b753-d24f2d22d10d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 26096,
|
||||
"y": 14922.192378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25796,
|
||||
"y": 14922.192378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "06cc86de-ad48-401e-98e6-b0a7e0f57257",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25796,
|
||||
"y": 14922.192378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25496,
|
||||
"y": 14922.192378864669
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "93ba13e0-c631-4280-a011-fbffc30efb22",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25496,
|
||||
"y": 14922.192378864669
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 15182
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "f2e7b4ac-314d-4e7f-a06e-a6bce2e6e1c1",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25905.807621135333,
|
||||
"y": 15551.615242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25646,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Luis-Fernando-Molina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "c5021290-55dd-4a92-a73b-a41fbaedf849",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25796,
|
||||
"y": 15961.422863405993
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25646,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "5952d507-52e6-461e-b875-309934d387d4",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25386.192378864667,
|
||||
"y": 15851.615242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25646,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "572e1b74-1cc8-4736-89a7-15c67bcb8849",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25755.807621135333,
|
||||
"y": 15291.807621135331
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25496,
|
||||
"y": 15441.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"supportProgram": {
|
||||
"type": "Support Program",
|
||||
"name": "New Support Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userSupporters": [
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "df9a319d-ecc9-452f-9fa3-d1d89c5b405c",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25639.44428022014,
|
||||
"y": 15763.98874951599
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Luis-Fernando-Molina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Supporter",
|
||||
"name": "Julian-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "f3df7582-d059-4cfe-b827-e7012d25b82e",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25377.358538980297,
|
||||
"y": 15999.971810881143
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Julian-Molina",
|
||||
"id": "1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Julian-Molina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "fb4c58a8-c4e5-4a4b-bc52-5f525f838c26",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25071.93636270722,
|
||||
"y": 15823.636235193402
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "2ae24fce-2b7a-4406-83d4-709d16539c8f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25145.26081809234,
|
||||
"y": 15478.671794627444
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "f30a7db2-7f93-4fcc-8cc1-72fb9e5b6b4c",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25646,
|
||||
"y": 15701.615242270662
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25496,
|
||||
"y": 15441.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"mentorshipProgram": {
|
||||
"type": "Mentorship Program",
|
||||
"name": "New Mentorship Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userMentors": [
|
||||
{
|
||||
"type": "User Mentor",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "ce7cd9bb-3e22-4951-ac92-93f1d74631c8",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25459.135826507885,
|
||||
"y": 15792.54680304299
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25236.192378864667,
|
||||
"y": 15591.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Luis-Fernando-Molina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "User Mentor",
|
||||
"name": "Julian-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "1c6ddf3d-2ef5-49f2-96ed-20f025a22a0e",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25114.17138594193,
|
||||
"y": 15865.871258428111
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25236.192378864667,
|
||||
"y": 15591.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Julian-Molina",
|
||||
"id": "1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"Julian-Molina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "8c7da4b0-f06d-49f4-90b4-4327b6ceb21f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24937.835810254186,
|
||||
"y": 15560.449082155035
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25236.192378864667,
|
||||
"y": 15591.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "e79084f0-78cc-4869-8010-cd9b698c0a90",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25173.81887161934,
|
||||
"y": 15298.36334091519
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25236.192378864667,
|
||||
"y": 15591.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "6bbb7865-cf57-4053-8e74-a9af2f8affa4",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25236.192378864667,
|
||||
"y": 15591.807621135331
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25496,
|
||||
"y": 15441.807621135331
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "260426a5-fb81-49aa-a6e7-8bf166c7d639",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25496,
|
||||
"y": 15441.807621135331
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25346,
|
||||
"y": 15182
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "adf950d7-547a-4028-a23b-dbc10991daa7",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25346,
|
||||
"y": 15182
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25046,
|
||||
"y": 15182
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "1d9e6e80-030a-4dbe-97ed-819876bccf33",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 24746,
|
||||
"y": 15182
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25046,
|
||||
"y": 15182
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "7bde7f01-4c03-48a4-9944-710b213ef414",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25046,
|
||||
"y": 15182
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 25046,
|
||||
"y": 15182
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1082,8 +1082,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Plugin File",
|
||||
"name": "Education-Project-CL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Education-Project-CL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"name": "Education-Project-PL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Education-Project-PL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"project": "Foundations",
|
||||
"id": "eefc0ae6-0364-4c0e-84ba-138ba30e6ce8",
|
||||
"savedPayload": {
|
||||
|
||||
@@ -1082,8 +1082,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Plugin File",
|
||||
"name": "Ethereum-Project-CL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Ethereum-Project-CL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"name": "Ethereum-Project-PL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Ethereum-Project-PL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"project": "Foundations",
|
||||
"id": "6a48da6b-88ae-4ae0-8638-2473d66abe58",
|
||||
"savedPayload": {
|
||||
|
||||
@@ -1082,8 +1082,8 @@
|
||||
},
|
||||
{
|
||||
"type": "Plugin File",
|
||||
"name": "Foundations-Project-CL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Foundations-Project-CL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"name": "Foundations-Project-PL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Foundations-Project-PL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"project": "Foundations",
|
||||
"id": "81f1afb2-c08c-4f98-88d9-be0790002c09",
|
||||
"savedPayload": {
|
||||
|
||||
@@ -1193,8 +1193,8 @@
|
||||
"pluginFiles": [
|
||||
{
|
||||
"type": "Plugin File",
|
||||
"name": "Superalgos-CL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Superalgos-CL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"name": "Superalgos-PL",
|
||||
"config": "{\"project\":\"Governance\",\"fileName\":\"Superalgos-PL\",\"folderName\":\"Assets\",\"nodeType\":\"Assets\"}",
|
||||
"project": "Foundations",
|
||||
"id": "92ef88cd-4921-4a11-ab45-3ae57c6c903c",
|
||||
"savedPayload": {
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "Finding Your Way Arround Governance Workspaces",
|
||||
"updated": 1630568467050
|
||||
"text": "Finding Your Way Around Governance Workspaces",
|
||||
"updated": 1631655296367
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "No need to be an expert, but you will need some general knowledge of the system to understand what this is all about!",
|
||||
"updated": 1629720316727,
|
||||
"text": "No need to be an expert, but you do need to know how to operate the system! Otherwise, the process may be confusing and even frustrating!",
|
||||
"updated": 1631546896227,
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
|
||||
+5
@@ -44,6 +44,11 @@
|
||||
"style": "Text"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"style": "Important",
|
||||
"text": "We will use this node to build your User Profile. Later on, you will delete this node to erase all the sensitive information you may enter along with the information the constructor will generate. But no need to worry at this point! I'll let you know when to delete it!",
|
||||
"updated": 1631547429975
|
||||
}
|
||||
]
|
||||
}
|
||||
+2
-2
@@ -39,8 +39,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "If you want to link an address you already own, type the twelve word mnemonic associated with your address under the mnemonic property. If not, leave the property blank and the system will make a new one for you!",
|
||||
"updated": 1629706491511,
|
||||
"text": "If you want to link an existing address, type its twelve-word mnemonic in the mnemonic property. Leave the property blank to generate a new address! You will delete this sensitive info later on. The info will not leave your computer and will not be saved to disk.",
|
||||
"updated": 1631547921782,
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
|
||||
+7
-2
@@ -21,8 +21,8 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "That is why we ask you to help in this manner! By completing those three tasks, you are effectively helping more developers find Superalgos, which is a win for everyone, as the more developers, the faster the project advances!",
|
||||
"updated": 1630660356226,
|
||||
"text": "That is why we ask you to help in this manner! By completing those three tasks, you are effectively helping more developers find Superalgos.",
|
||||
"updated": 1631548798983,
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
@@ -70,6 +70,11 @@
|
||||
"style": "List"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "This may not be immediately reflected in the system, as Github limits the number of queries the system makes. Don't worry, you will get your tokens anyway.",
|
||||
"updated": 1631548891216
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -100,6 +100,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
result: 'Error',
|
||||
message: 'Handshake Not Done Yet.'
|
||||
}
|
||||
response.messageId = messageHeader.messageId
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
return
|
||||
}
|
||||
@@ -108,11 +109,13 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
switch (caller.role) {
|
||||
case 'Network Client': {
|
||||
response = await clientInterface.messageReceived(messageHeader.payload, caller.userProfile)
|
||||
response.messageId = messageHeader.messageId
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
break
|
||||
}
|
||||
case 'Network Peer': {
|
||||
response = await peerInterface.messageReceived(messageHeader.payload)
|
||||
response.messageId = messageHeader.messageId
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
break
|
||||
}
|
||||
|
||||
@@ -8,9 +8,10 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
|
||||
|
||||
let socketClient
|
||||
|
||||
let web3
|
||||
let web3
|
||||
let called = {}
|
||||
let selectedNetworkNode // This is a Network Node we pick to try to connect to.
|
||||
let onMessageFunctionsMap = new Map()
|
||||
|
||||
return thisObject
|
||||
|
||||
@@ -22,6 +23,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
|
||||
|
||||
web3 = undefined
|
||||
called = undefined
|
||||
onMessageFunctionsMap = undefined
|
||||
}
|
||||
|
||||
async function initialize() {
|
||||
@@ -192,6 +194,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
|
||||
Network Node and from now on, all response messages will be received
|
||||
at this following function.
|
||||
*/
|
||||
socketClient.onmessage = socketMessage => { onMenssage(socketMessage) }
|
||||
resolve()
|
||||
}
|
||||
}
|
||||
@@ -222,29 +225,23 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
|
||||
}
|
||||
|
||||
let socketMessage = {
|
||||
messageId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
|
||||
messageType: 'Request',
|
||||
payload: message
|
||||
}
|
||||
socketClient.onmessage = socketMessage => { onMenssage(socketMessage) }
|
||||
onMessageFunctionsMap.set(socketMessage.messageId, onMenssageFunction)
|
||||
socketClient.send(
|
||||
JSON.stringify(socketMessage)
|
||||
)
|
||||
|
||||
function onMenssage(socketMessage) {
|
||||
function onMenssageFunction(response) {
|
||||
try {
|
||||
|
||||
let response = JSON.parse(socketMessage.data)
|
||||
/*
|
||||
Chack if we are waiting for the Handshake response.
|
||||
*/
|
||||
|
||||
if (response.result === 'Ok') {
|
||||
resolve(response.data)
|
||||
} else {
|
||||
console.log('[ERROR] Web Sockets Client -> onMenssage -> response.message = ' + response.message)
|
||||
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)
|
||||
@@ -252,4 +249,15 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
@@ -866,7 +866,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"CL": {
|
||||
"PL": {
|
||||
"utilities": [
|
||||
{
|
||||
"name": "Async Functions",
|
||||
@@ -983,7 +983,7 @@
|
||||
]
|
||||
},
|
||||
"TS": {},
|
||||
"CL": {}
|
||||
"PL": {}
|
||||
},
|
||||
{
|
||||
"name": "TensorFlow",
|
||||
@@ -1091,7 +1091,7 @@
|
||||
"processModules": [],
|
||||
"botModules": []
|
||||
},
|
||||
"CL": {}
|
||||
"PL": {}
|
||||
},
|
||||
{
|
||||
"name": "Governance",
|
||||
@@ -1283,7 +1283,7 @@
|
||||
]
|
||||
},
|
||||
"TS": {},
|
||||
"CL": {},
|
||||
"PL": {},
|
||||
"plugins": [
|
||||
"User Profiles",
|
||||
"Pools",
|
||||
|
||||
@@ -47,11 +47,16 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModule
|
||||
queryMessage.emitterUserProfileId = DK.TEST_NETWORK_CLIENT_USER_PROFILE_ID
|
||||
messageHeader.queryMessage = JSON.stringify(queryMessage)
|
||||
|
||||
console.log((new Date()).toISOString(), '- Web App Interface', '- Query Message Received', JSON.stringify(queryMessage))
|
||||
|
||||
let response = {
|
||||
result: 'Ok',
|
||||
message: 'Web App Interface Query Processed.',
|
||||
data: await DK.running.webSocketsClient.sendMessage(JSON.stringify(messageHeader))
|
||||
}
|
||||
|
||||
console.log((new Date()).toISOString(), '- Web App Interface', '- Query Respose Sent', JSON.stringify(response))
|
||||
|
||||
return response
|
||||
}
|
||||
case 'Event': {
|
||||
@@ -131,7 +136,7 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModule
|
||||
const fileHash = hash.update(fileContent).digest('hex')
|
||||
const fileName = fileHash + ".json"
|
||||
|
||||
let filePath = './My-Social-Trading-Data/User-Posts/' + SA.projects.foundations.utilities.filesAndDirectories.pathFromDate(timestamp)
|
||||
let filePath = './My-Social-Trading-Data/User-Posts/' + SA.projects.foundations.utilities.filesAndDirectories.pathFromDate(timestamp)
|
||||
|
||||
SA.projects.foundations.utilities.filesAndDirectories.mkDirByPathSync(filePath + '/')
|
||||
SA.nodeModules.fs.writeFileSync(filePath + '/' + fileName, fileContent)
|
||||
|
||||
@@ -57,6 +57,7 @@ exports.newDesktopModulesWebSocketsInterface = function newDesktopModulesWebSock
|
||||
messageHeader = JSON.parse(message)
|
||||
} catch (err) {
|
||||
let response = {
|
||||
messageId: messageHeader.messageId,
|
||||
result: 'Error',
|
||||
message: 'messageHeader Not Coorrect JSON Format.'
|
||||
}
|
||||
@@ -69,12 +70,14 @@ exports.newDesktopModulesWebSocketsInterface = function newDesktopModulesWebSock
|
||||
.catch(onError)
|
||||
|
||||
function sendResponseToWebApp(response) {
|
||||
response.messageId = messageHeader.messageId
|
||||
webApp.socket.send(JSON.stringify(response))
|
||||
}
|
||||
|
||||
function onError(errorMessage) {
|
||||
console.log('[ERROR] Web Sockets Interface -> onMenssage -> errorMessage = ' + errorMessage)
|
||||
let response = {
|
||||
messageId: messageHeader.messageId,
|
||||
result: 'Error',
|
||||
message: errorMessage
|
||||
}
|
||||
|
||||
@@ -7,11 +7,12 @@ exports.newSocialTradingGlobalsMemory = function () {
|
||||
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.
|
||||
EVENTS: new Map() // This is the registry of all events received that prevents processing them more than once.
|
||||
},
|
||||
arrays: {
|
||||
NETWORK_CLIENTS: [], // These are the Network Clients connected to this Network Node ordered by Ranking.
|
||||
NETWORK_PEERS: [], // These are the Network Peers connected to this Network Node ordered by Ranking.
|
||||
EVENTS: [] // This is the registry of all events in order that prevents ordering them more than once.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -142,6 +142,9 @@ exports.newSocialTradingModulesClientInterface = function newSocialTradingModule
|
||||
Any exception that happens while trying to change the state of the Social Graph,
|
||||
will be returned to the caller without doing anything else here.
|
||||
*/
|
||||
if (err.stack !== undefined) {
|
||||
console.log('[ERROR] Client Interface -> err.stack = ' + err.stack)
|
||||
}
|
||||
let errorMessage = err.message
|
||||
if (errorMessage === undefined) { errorMessage = err }
|
||||
let response = {
|
||||
@@ -204,17 +207,25 @@ exports.newSocialTradingModulesClientInterface = function newSocialTradingModule
|
||||
let query = NT.projects.socialTrading.modules.query.newSocialTradingModulesQuery()
|
||||
query.initialize(queryReceived)
|
||||
|
||||
console.log((new Date()).toISOString(), '- Client Interface', '- Query Message Received', queryMessage)
|
||||
|
||||
let response = {
|
||||
result: 'Ok',
|
||||
message: 'Client Interface Query Processed.',
|
||||
data: query.execute()
|
||||
}
|
||||
|
||||
console.log((new Date()).toISOString(), '- Client Interface', '- Query Respose Sent', JSON.stringify(response))
|
||||
|
||||
return response
|
||||
|
||||
} catch (err) {
|
||||
/*
|
||||
Any exception that happens while trying to execute the query.
|
||||
*/
|
||||
if (err.stack !== undefined) {
|
||||
console.log('[ERROR] Client Interface -> err.stack = ' + err.stack)
|
||||
}
|
||||
let errorMessage = err.message
|
||||
if (errorMessage === undefined) { errorMessage = err }
|
||||
let response = {
|
||||
|
||||
Loaded 100 of 114 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user