godprotocol 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/Datatypes/arr.js +11 -0
  2. package/Datatypes/bool.js +11 -0
  3. package/Datatypes/callable.js +11 -0
  4. package/Datatypes/functions/storage.js +5 -0
  5. package/Datatypes/num.js +11 -0
  6. package/Datatypes/str.js +11 -0
  7. package/Datatypes/twa.js +11 -0
  8. package/Datatypes/voi.js +11 -0
  9. package/Index.js +36 -2
  10. package/Objects/Account.js +35 -322
  11. package/Objects/Block.js +7 -80
  12. package/Objects/Blockweb.js +19 -26
  13. package/Objects/Callable.js +40 -0
  14. package/Objects/Chain.js +20 -244
  15. package/Objects/GDS/Arena_classic/.config +1 -0
  16. package/Objects/GDS/Arena_classic/Accounts/lola/.config +1 -0
  17. package/Objects/Manager.js +28 -294
  18. package/Objects/Oracle.js +67 -84
  19. package/Objects/Repository.js +67 -0
  20. package/Objects/Trinity.js +24 -0
  21. package/Objects/Virtual_machine.js +16 -206
  22. package/callables/functions/assign.js +6 -0
  23. package/callables/functions/display.js +3 -0
  24. package/callables/register.js +22 -0
  25. package/package.json +24 -43
  26. package/utils/create_server.js +35 -88
  27. package/utils/functions.js +0 -70
  28. package/utils/server.cert +23 -0
  29. package/utils/server.key +28 -0
  30. package/utils/services.js +61 -21
  31. package/utils/vm_utils.js +53 -275
  32. package/Executables/callables.js +0 -131
  33. package/Executables/executables.js +0 -230
  34. package/Executables/functions/adminstrator/adm_register.js +0 -29
  35. package/Executables/functions/adminstrator/native_components.js +0 -10
  36. package/Executables/functions/adminstrator/query_selectors.js +0 -10
  37. package/Executables/functions/adminstrator/render.js +0 -24
  38. package/Executables/functions/array_register.js +0 -161
  39. package/Executables/functions/assign.js +0 -19
  40. package/Executables/functions/display.js +0 -55
  41. package/Executables/functions/folder.js +0 -95
  42. package/Executables/functions/folder_register.js +0 -87
  43. package/Executables/functions/importcheck.js +0 -13
  44. package/Executables/functions/indices.js +0 -56
  45. package/Executables/functions/len.js +0 -22
  46. package/Executables/functions/methods/array.js +0 -272
  47. package/Executables/functions/methods/string.js +0 -197
  48. package/Executables/functions/methods/twain.js +0 -148
  49. package/Executables/functions/op.js +0 -15
  50. package/Executables/functions/price_register.js +0 -30
  51. package/Executables/functions/pricing.js +0 -26
  52. package/Executables/functions/servers/account.js +0 -81
  53. package/Executables/functions/servers/account_register.js +0 -56
  54. package/Executables/functions/servers/block.js +0 -21
  55. package/Executables/functions/servers/block_register.js +0 -18
  56. package/Executables/functions/servers/chain.js +0 -42
  57. package/Executables/functions/servers/chain_register.js +0 -28
  58. package/Executables/functions/set_error_catch.js +0 -34
  59. package/Executables/functions/string_register.js +0 -130
  60. package/Executables/functions/twain_register.js +0 -56
  61. package/Executables/functions/typecast.js +0 -43
  62. package/Executables/functions/utils.js +0 -9
  63. package/Executables/stack.js +0 -53
  64. package/Loader_sequence/main.js +0 -805
  65. package/Loader_sequence/repository.js +0 -33
  66. package/Objects/Explorer.js +0 -40
  67. package/Objects/Fee.js +0 -33
  68. package/Objects/Filesystem.js +0 -216
  69. package/Objects/Frame.js +0 -54
  70. package/Objects/Opcodes.js +0 -87
  71. package/Objects/Protocol.js +0 -5
  72. package/Trinity.js +0 -20
  73. package/callables.js +0 -172
  74. package/framer.js +0 -124
  75. package/opcodes/add.js +0 -15
  76. package/opcodes/indices.js +0 -82
  77. package/opcodes/jmp.js +0 -16
  78. package/opcodes/std.js +0 -12
  79. package/opcodes.js +0 -96
  80. package/readme.md +0 -133
  81. package/starter_scripts/constants.seq +0 -11
  82. package/tsconfig.json +0 -8
  83. package/types/Account.d.ts +0 -73
  84. package/types/Block.d.ts +0 -22
  85. package/types/Blockweb.d.ts +0 -14
  86. package/types/Chain.d.ts +0 -35
  87. package/types/Explorer.d.ts +0 -9
  88. package/types/Filesystem.d.ts +0 -23
  89. package/types/Frame.d.ts +0 -14
  90. package/types/Manager.d.ts +0 -21
  91. package/types/Opcodes.d.ts +0 -11
  92. package/types/Oracle.d.ts +0 -17
  93. package/types/Virtual_machine.d.ts +0 -20
  94. package/types/index.d.ts +0 -4
  95. package/utils/hash.js +0 -13
  96. package/utils/logger.js +0 -79
  97. package/utils/privacy.js +0 -22
  98. package/utils/type_coersion.js +0 -3
@@ -1,106 +1,53 @@
1
- import http from "http";
2
- import { is_port_available } from "./functions";
1
+ import https from "https";
2
+ import fs from "fs";
3
3
 
4
4
  let PORT = Number(process.env.PORT) || 1408;
5
5
 
6
- const cb = (res, data) => {
7
- if (typeof data !== "string") data = JSON.stringify(data);
8
-
9
- res.end(data);
10
- };
11
-
12
- let extensions = new Object();
13
-
14
- const extension = (route, handler) => {
15
- extensions[route] = handler;
16
- };
17
-
18
- const handle_routes = (req, res, app, manager) => {
6
+ const handle_routes = (req, res, manager, app) => {
19
7
  let data = "";
20
8
 
21
- let is_in_default_routes = [
22
- "run",
23
- "load",
24
- "parse",
25
- "create_account",
26
- ].includes(req.url.slice(1));
27
-
28
- if (is_in_default_routes || (!is_in_default_routes && !app)) {
29
- req.on("data", (chunk) => {
30
- data += chunk;
31
- });
32
-
33
- req.on("end", () => {
34
- if (req.method === 'GET'){
35
- console.log(req.url)
36
- if(req.url === '/' ){
37
- res.writeHead(404, { "Content-Type": "text/html" });
38
- res.end(`<h1>God Protocol</h1>`);
39
- }
40
- else if(req.url.startsWith('/Accounts') ){
41
- manager.handle_route({req, res});
42
- }
9
+ req.on("data", (chunk) => {
10
+ data += chunk;
11
+ });
43
12
 
44
- return;
45
- }
46
- try {
47
- data = JSON.parse(data);
48
- } catch (e) {
49
- return cb(res, {
50
- error_message: "Invalid data",
51
- url: req.url,
52
- error: true,
53
- });
54
- }
13
+ req.on("end", async () => {
14
+ if (req.url === "/sync") {
15
+ data = JSON.parse(data);
55
16
 
56
-
57
- if (req.url === "/create_account") {
58
- let account = manager.add_account(null, { ...data, string: true });
17
+ let response = await manager.oracle.add_server(data);
59
18
 
60
- res.end(account);
61
- } else if (["run", "load", "parse"].includes(req.url.slice(1))) {
62
- manager.endpoint(req.url.slice(1), payload, (datagram) =>
63
- cb(res, datagram)
64
- );
65
- } else {
66
- manager.handle_route({req,res, data})
67
- }
68
- });
19
+ console.log(response, "hello");
20
+ res.end(JSON.stringify(response));
21
+ }
22
+ });
69
23
 
70
- req.on("error", (e) => {
71
- // res.writeHead(500, { "Content-Type": "application/json" });
72
- res.end(JSON.stringify({ status: "error", error_message: e.message }));
73
- });
74
- } else {
75
- app && app(req, res);
76
- }
24
+ req.on("error", (e) => {
25
+ // res.writeHead(500, { "Content-Type": "application/json" });
26
+ res.end(JSON.stringify({ status: "error", error_message: e.message }));
27
+ });
77
28
  };
78
29
 
79
- const create_server = async (app, settings) => {
80
- settings = settings || {};
30
+ const create_server = async (settings) => {
31
+ return new Promise((resolve, reject) => {
32
+ settings = settings || {};
33
+ let { port, app, manager } = settings;
81
34
 
82
- let port = settings.port || PORT,
83
- port_search = settings.port_search;
35
+ port = port || PORT;
84
36
 
85
- if (port_search) {
86
- let av = await is_port_available(port);
37
+ let server = https.createServer(
38
+ {
39
+ key: fs.readFileSync(`${__dirname}/server.key`),
40
+ cert: fs.readFileSync(`${__dirname}/server.cert`),
41
+ },
42
+ (req, res) => handle_routes(req, res, manager, app)
43
+ );
87
44
 
88
- while (!av) {
89
- port++;
90
- av = await is_port_available(port);
91
- }
92
- }
93
- PORT = port;
94
-
95
- let server = http.createServer((req, res) =>
96
- handle_routes(req, res, app, settings.manager)
97
- );
98
-
99
- server.listen(port, () => {
100
- console.log(`\n...GOD PROTOCOL RUNNING :${port}`);
101
- settings.manager.add_server({ ...settings.server_details, port: PORT });
45
+ server.listen(port, () => {
46
+ console.log(`\n...GOD PROTOCOL RUNNING :${port}`);
47
+ resolve(server);
48
+ });
102
49
  });
103
50
  };
104
51
 
105
52
  export default create_server;
106
- export { PORT, extension };
53
+ export { PORT };
@@ -1,70 +0,0 @@
1
- const array_to_nested_objects = (arr) => {
2
- if (arr.length === 0) return null;
3
-
4
- let [first, ...rest] = arr;
5
- return { [first]: array_to_nested_objects(rest) };
6
- };
7
-
8
- const transpile_object = (object) => {
9
- let code_string = "",
10
- type = typeof object;
11
- if (type === "object") {
12
- if (Array.isArray(object)) {
13
- code_string += "arr(";
14
- object.map((o) => {
15
- code_string += `${transpile_object(o)},`;
16
- });
17
- code_string = code_string.slice(0, -1);
18
- code_string += ")";
19
- } else {
20
- if (!object) code_string = "Void";
21
- else {
22
- code_string = "twain(";
23
- for (let prop in object) {
24
- let val = object[prop];
25
- code_string += `${transpile_object(prop)}:${transpile_object(val)},`;
26
- }
27
- code_string = code_string.slice(0, -1);
28
- code_string += ")";
29
- }
30
- }
31
- } else if (type === "string") {
32
- code_string = `"${object}"`;
33
- } else if (type === "number") {
34
- code_string = `${object}`;
35
- } else if (type === "boolean") {
36
- code_string = `${object}`;
37
- }
38
-
39
- return code_string;
40
- };
41
-
42
- const net = require("net");
43
-
44
- /**
45
- * Check if a port is available
46
- * @param {number} port - The port to check
47
- * @returns {Promise<boolean>} - Resolves to true if the port is available, false otherwise
48
- */
49
- function is_port_available(port) {
50
- return new Promise((resolve, reject) => {
51
- const server = net.createServer();
52
-
53
- server.once("error", (err) => {
54
- if (err.code === "EADDRINUSE") {
55
- resolve(false); // Port is in use
56
- } else {
57
- reject(err); // Some other error
58
- }
59
- });
60
-
61
- server.once("listening", () => {
62
- server.close();
63
- resolve(true); // Port is available
64
- });
65
-
66
- server.listen(port);
67
- });
68
- }
69
-
70
- export { array_to_nested_objects, transpile_object, is_port_available };
@@ -0,0 +1,23 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDzTCCArWgAwIBAgIUOyEnOjCToqR9toungcY0JDflxQ0wDQYJKoZIhvcNAQEL
3
+ BQAwdjELMAkGA1UEBhMCTkcxCzAJBgNVBAgMAkxnMQwwCgYDVQQHDANJa2oxDjAM
4
+ BgNVBAoMBVNhdnZ5MRQwEgYDVQQLDAtHb2Rwcm90b2NvbDEmMCQGCSqGSIb3DQEJ
5
+ ARYXaW1tYW51ZWxzYXZ2eUBnbWFpbC5jb20wHhcNMjQxMTEyMDgwMzMwWhcNMjQx
6
+ MjEyMDgwMzMwWjB2MQswCQYDVQQGEwJORzELMAkGA1UECAwCTGcxDDAKBgNVBAcM
7
+ A0lrajEOMAwGA1UECgwFU2F2dnkxFDASBgNVBAsMC0dvZHByb3RvY29sMSYwJAYJ
8
+ KoZIhvcNAQkBFhdpbW1hbnVlbHNhdnZ5QGdtYWlsLmNvbTCCASIwDQYJKoZIhvcN
9
+ AQEBBQADggEPADCCAQoCggEBANG0Oyij8E6NT+1aUOdm+5cNyM48sMo2vIGoyFX3
10
+ pB2pwPrxwMbMzIiNL5RlokUKBb0fYoA24wS+Dj8OlJFMSd4tXl3m5iX/ENjT4H9z
11
+ ZXIUvMNPyBi0/zqBeaRdhItIBn2VKsYkInmCJt6Y1MeGbeE19+v6qcRNHAyQHwUy
12
+ P0Kqx+s1yY1jDa0FfywDpxzClDfNFuIOAw8e/nA5B1Y1absp+Vl00mu5GG/4+yp8
13
+ FaENex00LqEVYoxY1YSO/NfkgW8SS7GNbl/S7jpC3L2F0CZXMMZ7XgPWS3BqyFVa
14
+ 18DZtq+PUE6I8y5hxX5yV+5wrux4gJLc3Apvg/TvH8NyQXsCAwEAAaNTMFEwHQYD
15
+ VR0OBBYEFJetx3ZNDQ/6mcVHC8eiB2uw4kxZMB8GA1UdIwQYMBaAFJetx3ZNDQ/6
16
+ mcVHC8eiB2uw4kxZMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
17
+ ACwthCdycG7faFUYQ516ZCbH66c2JEYTwb0e/6EdK2iMX5KVndd0t9fEZTT8Q5kZ
18
+ laJJEhLaOJc7/Z0DBw37s5UV3kN9tFvNmL5CFVAbByZHjs67lZLPP6s5DiSDdGys
19
+ Y7hh5AWiid4oaYOBbV5O96N8CD7UpiN5d0ldSn0cWH0SbVz3lxmpT+NYjXOyOgd2
20
+ hGkXDN6EnFUK9n21TWsqw5mwaPFzgW1s6Sw+k0aihnZ5nQGPuMf6SwhUieCSjJV1
21
+ A4Uu9Q0V6kpjzw6PAb1o1RyC2cc/LKmZ1b90A2m2c61M5D9XTEulFwGNngBPqqqD
22
+ Zvka09g8Sw3GTsZ7cL+ju5E=
23
+ -----END CERTIFICATE-----
@@ -0,0 +1,28 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDRtDsoo/BOjU/t
3
+ WlDnZvuXDcjOPLDKNryBqMhV96QdqcD68cDGzMyIjS+UZaJFCgW9H2KANuMEvg4/
4
+ DpSRTEneLV5d5uYl/xDY0+B/c2VyFLzDT8gYtP86gXmkXYSLSAZ9lSrGJCJ5gibe
5
+ mNTHhm3hNffr+qnETRwMkB8FMj9CqsfrNcmNYw2tBX8sA6ccwpQ3zRbiDgMPHv5w
6
+ OQdWNWm7KflZdNJruRhv+PsqfBWhDXsdNC6hFWKMWNWEjvzX5IFvEkuxjW5f0u46
7
+ Qty9hdAmVzDGe14D1ktwashVWtfA2bavj1BOiPMuYcV+clfucK7seICS3NwKb4P0
8
+ 7x/DckF7AgMBAAECggEAWOL/TGuo2XL2lRH6RwuUyuNR4XFCMoRfBMqJGD9etiAV
9
+ J4k/gESg0aSerVUjIgZshkx+UQBy27i/iyTf/nKKwP0UCdNsbGCgQHgWqY89SczW
10
+ cicoFqjpol/tMqldHDiMX8DRn6kDX+O2HBZF4sjtXE+m5cSbHxTcNcsFCwvQWq4J
11
+ 0Yycphm5582Bp47SHxIvWEO6yzttkJDGqTLsLY0zKlcC/j8jde2s+n88fd27UMQU
12
+ 5CuS6WBfA1dXhn53YVIuI/T5BN5FAhQkbnU76pKlPFAiOjX6c2D0YdWDkMivk3Am
13
+ jVicX+A8RMFVZuJdQPW49DeqEyilaIZo1FvgZL7LMQKBgQD9v7RzuZJnBn4pKIXE
14
+ PnyhLWFhHo+DSgmtTzjEJB8LpeoeBZT+tuv+Wq0qn3L2C1ReIESQRT/ldbiiW0rl
15
+ pCCsqQyAy5PW8Q6oddeiK7Ep9QMNqT3AZ39k7yvdL7zxn6d0Hyu38hGbSn+8YiMT
16
+ 3Kk8TuDoMZJz0zjtrff2x++bCQKBgQDTkH60/YMcZK3vl0chTg46Yjnq6QuvEtUE
17
+ grx6cq9p2wYQDDQUIcGCcGGQQ22sTWn0VfH1ZoV8BaNfCcRkLD1ogei8bA8oO+6d
18
+ DUVuo7jgChN3Yz2N5RMMVjp0Wu07kPmMHkoNVudPvAUb01Cn+2BOvWYRZEK5q7WQ
19
+ v/8f6JklYwKBgEkdqB2AZ1MQZ+HsLz8w0jCPJvQZHjkyaD9sCGtcDSYKFL+51Ajh
20
+ JHcSIbuaXkHPWewVWCxKB/NSTHVb4OTyugeGXnfuMRdKNnMMIao09MOmOc8B6S07
21
+ pVWsJPODAeqNmm63XJ2QPsqEWPIrRPhAKPObtuqw/gYp4sl5y21shvohAoGAZcze
22
+ m1ptL0lmxKXnTShRAljng5iVza1jIOODq+vpaidA+JHWsWU4xvoqiA9aA5HQjQiZ
23
+ /7pQOsg/v2hkvsrm1ZXFFn1sobCM9bdAFKflOrC+gzEWmmOC0engAMML6iCtY3Xj
24
+ rh2F+kD/uE7rPZlg0yKhrXawAMWV/UvViFYU8v8CgYB+1ExhgFxpubqVLNMreWH3
25
+ 80UF5JwGG5d4fZVOSM9FT/mSZLWXl0+gHCHaQ86URHOVQs6JkAl5i198o/uZCnMw
26
+ nJxrlCCTT47ziMEKiJye7iDxC8TefEnK3aIL23/q4xtXWAQQnsfYC1o3MHKq6LNl
27
+ c+I4/jvzUslnazBTp1uPXw==
28
+ -----END PRIVATE KEY-----
package/utils/services.js CHANGED
@@ -1,26 +1,12 @@
1
- const http = require("http");
1
+ const http = require("https");
2
2
 
3
- const post_request = (payload, cb) => {
4
- // let options = {
5
- // hostname: 'example.com',
6
- // port: 80,
7
- // path: '/api/users',
8
- // method: 'POST',
9
- // headers: {
10
- // 'Content-Type': 'application/json',
11
- // 'Content-Length': Buffer.byteLength(postData),
12
- // },
13
- // };
14
-
15
- let data = typeof payload.data !== 'string' ? JSON.stringify(payload.data) : payload.data
16
-
3
+ const get_request = async (payload, cb) => {
17
4
  let req = http.request(
18
5
  {
19
6
  ...payload.options,
20
- method: "POST",
7
+ method: "GET",
21
8
  headers: {
22
9
  "Content-Type": "application/json",
23
- "Content-Length": Buffer.byteLength(data),
24
10
  },
25
11
  },
26
12
  (res) => {
@@ -28,7 +14,7 @@ const post_request = (payload, cb) => {
28
14
 
29
15
  res.on("data", (chunk) => {
30
16
  data += chunk;
31
- cb && cb(chunk);
17
+ // cb && cb(chunk);
32
18
  });
33
19
 
34
20
  res.on("end", () => {
@@ -43,9 +29,63 @@ const post_request = (payload, cb) => {
43
29
  console.error(`Problem with request: ${e.message}`);
44
30
  });
45
31
 
46
- req.write(data);
47
-
48
32
  req.end();
49
33
  };
50
34
 
51
- export { post_request };
35
+ const post_request = (payload, cb) => {
36
+ // let options = {
37
+ // hostname: 'example.com',
38
+ // port: 80,
39
+ // path: '/api/users',
40
+ // method: 'POST',
41
+ // headers: {
42
+ // 'Content-Type': 'application/json',
43
+ // 'Content-Length': Buffer.byteLength(postData),
44
+ // },
45
+ // };
46
+ console.log(payload);
47
+
48
+ return new Promise((resolve, reject) => {
49
+ let data =
50
+ typeof payload.data !== "string"
51
+ ? JSON.stringify(payload.data)
52
+ : payload.data;
53
+
54
+ let req = http.request(
55
+ {
56
+ ...payload.options,
57
+ method: "POST",
58
+ headers: {
59
+ ...payload.headers,
60
+ "Content-Type": "application/json",
61
+ "Content-Length": Buffer.byteLength(data),
62
+ },
63
+ rejectUnauthorized: false,
64
+ minVersion: "TLSv1.2",
65
+ },
66
+ (res) => {
67
+ let data = "";
68
+
69
+ res.on("data", (chunk) => {
70
+ data += chunk;
71
+ });
72
+
73
+ res.on("end", () => {
74
+ resolve(JSON.parse(data));
75
+ // console.log("Response:", data);
76
+ });
77
+ }
78
+ );
79
+
80
+ req.on("error", (e) => {
81
+ reject(e);
82
+ console.error(`Problem with request: ${e.message}`);
83
+ });
84
+
85
+ req.write(data);
86
+
87
+ req.end();
88
+ });
89
+ };
90
+
91
+ export { get_request, post_request };