evm-contracts-tools 0.0.33 → 0.0.36

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.
@@ -28,21 +28,36 @@ const
28
28
  _libcrash =
29
29
  require(
30
30
  "crash-js");
31
+ /* global
32
+ _cmdline_check */
31
33
  const
32
34
  _cmdline_check =
33
35
  _libcrash._cmdline_check;
36
+ /* global
37
+ _error_display */
34
38
  const
35
39
  _error_display =
36
40
  _libcrash._error_display;
41
+ /* global
42
+ _msg_info */
37
43
  const
38
44
  _msg_info =
39
45
  _libcrash._msg_info;
46
+ /* global
47
+ _msg_error */
40
48
  const
41
49
  _msg_error =
42
50
  _libcrash._msg_error;
51
+ /* global
52
+ _printf */
43
53
  const
44
54
  _printf =
45
55
  _libcrash._printf;
56
+ /* global
57
+ _process_exit */
58
+ const
59
+ _process_exit =
60
+ _libcrash._process_exit;
46
61
  const
47
62
  { ethers } =
48
63
  require(
@@ -50,6 +65,8 @@ const
50
65
  const
51
66
  _ethers =
52
67
  ethers;
68
+ /* global
69
+ _wei_to_ether */
53
70
  const
54
71
  _wei_to_ether =
55
72
  _ethers.formatEther;
@@ -57,9 +74,13 @@ const
57
74
  _evm_transactions_tools_module =
58
75
  require(
59
76
  "evm-transactions-tools");
77
+ /* global
78
+ _transaction_get */
60
79
  const
61
80
  _transaction_get =
62
81
  _evm_transactions_tools_module._transaction_get;
82
+ /* global
83
+ _transaction_receipt_get */
63
84
  const
64
85
  _transaction_receipt_get =
65
86
  _evm_transactions_tools_module._transaction_receipt_get;
@@ -67,6 +88,8 @@ const
67
88
  _deployer_get_module =
68
89
  require(
69
90
  './deployer-get');
91
+ /* global
92
+ _deployer_get */
70
93
  const
71
94
  _deployer_get =
72
95
  _deployer_get_module._deployer_get;
@@ -327,7 +350,7 @@ function
327
350
  _msg_info(
328
351
  _line);
329
352
  }
330
- process.exit(
353
+ _process_exit(
331
354
  _exit);
332
355
  }
333
356
 
@@ -341,6 +364,9 @@ function
341
364
 
342
365
  function
343
366
  _cmdline_parse() {
367
+ let
368
+ _error,
369
+ _msg;
344
370
  quiet =
345
371
  "y";
346
372
  process.argv.forEach(
@@ -397,18 +423,23 @@ function
397
423
  }
398
424
  }
399
425
  );
426
+ _error =
427
+ false;
400
428
  if ( transaction_deployment == "" ) {
401
- _msg_error(
402
- "No deployment transaction specified.",
403
- 0);
404
- quiet =
405
- "n";
406
- _usage(
407
- 1);
429
+ _msg =
430
+ "No deployment transaction specified.";
431
+ _error =
432
+ true;
408
433
  }
409
434
  if ( contract_bytecode_path == "" ) {
435
+ _msg =
436
+ "No contract bytecode path specified.";
437
+ _error =
438
+ true;
439
+ }
440
+ if ( _error ) {
410
441
  _msg_error(
411
- "No contract bytecode path specified.",
442
+ _msg,
412
443
  0);
413
444
  quiet =
414
445
  "n";
@@ -52,17 +52,22 @@ const
52
52
  _msg_info */
53
53
  const
54
54
  _msg_info =
55
- _libcrash._msg_info
55
+ _libcrash._msg_info;
56
56
  /* global
57
57
  _msg_error */
58
58
  const
59
59
  _msg_error =
60
- _libcrash._msg_error
60
+ _libcrash._msg_error;
61
61
  /* global
62
62
  _printf */
63
63
  const
64
64
  _printf =
65
- _libcrash._printf
65
+ _libcrash._printf;
66
+ /* global
67
+ _process_exit */
68
+ const
69
+ _process_exit =
70
+ _libcrash._process_exit;
66
71
  const
67
72
  _contract_get_module =
68
73
  require(
@@ -71,7 +76,7 @@ const
71
76
  _contract_get */
72
77
  const
73
78
  _contract_get =
74
- _contract_get_module._contract_get
79
+ _contract_get_module._contract_get;
75
80
  const
76
81
  _evm_wallet_module =
77
82
  require(
@@ -69,56 +69,73 @@ const
69
69
  _dirname */
70
70
  /* eslint-disable-next-line
71
71
  no-global-assign */
72
- _dirname =
73
- _libcrash_module._dirname;
72
+ const
73
+ _dirname =
74
+ _libcrash_module._dirname;
74
75
  /* global
75
76
  _file_exists */
76
77
  /* eslint-disable-next-line
77
78
  no-global-assign */
78
- _file_exists =
79
- _libcrash_module._file_exists;
79
+ const
80
+ _file_exists =
81
+ _libcrash_module._file_exists;
80
82
  /* global
81
83
  _homedir_get */
82
84
  /* eslint-disable-next-line
83
85
  no-global-assign */
84
- _homedir_get =
85
- _libcrash_module._homedir_get;
86
+ const
87
+ _homedir_get =
88
+ _libcrash_module._homedir_get;
86
89
  /* global
87
90
  _json_read */
88
91
  /* eslint-disable-next-line
89
92
  no-global-assign */
90
- _json_read =
91
- _libcrash_module._json_read;
93
+ const
94
+ _json_read =
95
+ _libcrash_module._json_read;
92
96
  /* global
93
97
  _lib_get */
94
98
  /* eslint-disable-next-line
95
99
  no-global-assign */
96
- _lib_get =
97
- _libcrash_module._lib_get;
100
+ const
101
+ _lib_get =
102
+ _libcrash_module._lib_get;
98
103
  /* global
99
104
  _msg_info */
100
105
  /* eslint-disable-next-line
101
106
  no-global-assign */
102
- _msg_info =
103
- _libcrash_module._msg_info;
107
+ const
108
+ _msg_info =
109
+ _libcrash_module._msg_info;
104
110
  /* global
105
111
  _msg_error */
106
112
  /* eslint-disable-next-line
107
113
  no-global-assign */
108
- _msg_error =
109
- _libcrash_module._msg_error;
114
+ const
115
+ _msg_error =
116
+ _libcrash_module._msg_error;
110
117
  /* global
111
118
  _path_join */
112
119
  /* eslint-disable-next-line
113
120
  no-global-assign */
114
- _path_join =
115
- _libcrash_module._path_join;
121
+ const
122
+ _path_join =
123
+ _libcrash_module._path_join;
116
124
  /* global
117
125
  _range */
118
126
  /* eslint-disable-next-line
119
127
  no-global-assign */
120
- _range =
121
- _libcrash_module._range;
128
+ const
129
+ _range =
130
+ _libcrash_module._range;
131
+ const
132
+ _evm_contracts_tools_module =
133
+ require("./evm-contracts-tools");
134
+ /* global
135
+ _address_check */
136
+ const
137
+ _address_check =
138
+ _evm_contracts_tools_module._address_check;
122
139
 
123
140
  const
124
141
  _ethereum_data_module =
@@ -337,6 +354,8 @@ function
337
354
  }
338
355
 
339
356
  module.exports = {
357
+ _address_check:
358
+ _address_check,
340
359
  _artifact_local_auto_detect:
341
360
  _artifact_local_auto_detect,
342
361
  _call_auth_auto_detect:
@@ -0,0 +1,247 @@
1
+ #!/usr/bin/env node
2
+
3
+ // SPDX-License-Identifier: AGPL-3.0-or-later
4
+
5
+ /** ----------------------------------------------------------------
6
+ * libevm-contract-deployments-dir
7
+ * ----------------------------------------------------------------
8
+ * Copyright ©
9
+ * Pellegrino Prevete
10
+ * 2025, 2026
11
+ *
12
+ * All rights reserved
13
+ * ----------------------------------------------------------------
14
+ *
15
+ * This program is free software: you can redistribute it and/or
16
+ * modify it under the terms of the GNU General Public License as
17
+ * published by the Free Software Foundation, either version 3 of
18
+ * the License, or (at your option) any later version.
19
+ *
20
+ * This program is distributed in the hope that it will be useful,
21
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
+ * GNU General Public License for more details.
24
+ *
25
+ * You should have received a copy of the
26
+ * GNU General Public License
27
+ * along with this program.
28
+ * If not, see <https://www.gnu.org/licenses/>.
29
+ */
30
+
31
+ /* eslint-disable
32
+ no-unused-vars */
33
+ /* eslint-disable
34
+ no-useless-assignment */
35
+
36
+ /* EVM Contracts tools global variables */
37
+ /* global
38
+ call_type */
39
+ /* global
40
+ call_auth:
41
+ writable */
42
+
43
+ /* libEVM global variables */
44
+ /* global
45
+ api_key */
46
+ /* global
47
+ contract_abi:
48
+ writable */
49
+ /* global
50
+ contract_address */
51
+ /* global
52
+ contract_bytecode:
53
+ writable */
54
+ /* global
55
+ contract_compiler_output:
56
+ writable */
57
+ /* global
58
+ target_network:
59
+ writable */
60
+ /* global
61
+ target_networks:
62
+ writable */
63
+
64
+ const
65
+ _libcrash_module =
66
+ require(
67
+ "crash-js");
68
+ /* global
69
+ _dirname */
70
+ /* eslint-disable-next-line
71
+ no-global-assign */
72
+ const
73
+ _dirname =
74
+ _libcrash_module._dirname;
75
+ /* global
76
+ _file_exists */
77
+ /* eslint-disable-next-line
78
+ no-global-assign */
79
+ const
80
+ _file_exists =
81
+ _libcrash_module._file_exists;
82
+ /* global
83
+ _homedir_get */
84
+ /* eslint-disable-next-line
85
+ no-global-assign */
86
+ const
87
+ _homedir_get =
88
+ _libcrash_module._homedir_get;
89
+ /* global
90
+ _json_read */
91
+ /* eslint-disable-next-line
92
+ no-global-assign */
93
+ const
94
+ _json_read =
95
+ _libcrash_module._json_read;
96
+ /* global
97
+ _lib_get */
98
+ /* eslint-disable-next-line
99
+ no-global-assign */
100
+ const
101
+ _lib_get =
102
+ _libcrash_module._lib_get;
103
+ /* global
104
+ _msg_info */
105
+ /* eslint-disable-next-line
106
+ no-global-assign */
107
+ const
108
+ _msg_info =
109
+ _libcrash_module._msg_info;
110
+ /* global
111
+ _msg_error */
112
+ /* eslint-disable-next-line
113
+ no-global-assign */
114
+ const
115
+ _msg_error =
116
+ _libcrash_module._msg_error;
117
+ /* global
118
+ _path_join */
119
+ /* eslint-disable-next-line
120
+ no-global-assign */
121
+ const
122
+ _path_join =
123
+ _libcrash_module._path_join;
124
+ /* global
125
+ _range */
126
+ /* eslint-disable-next-line
127
+ no-global-assign */
128
+ const
129
+ _range =
130
+ _libcrash_module._range;
131
+ const
132
+ _evm_contracts_tools_module =
133
+ require("./evm-contracts-tools");
134
+ /* global
135
+ _address_check */
136
+ const
137
+ _address_check =
138
+ _evm_contracts_tools_module._address_check;
139
+
140
+ const
141
+ _ethereum_data_module =
142
+ require(
143
+ "ethereum-data");
144
+ /* global
145
+ _data_get */
146
+ const
147
+ _data_get =
148
+ _ethereum_data_module._data_get;
149
+
150
+ function
151
+ _app_check(
152
+ _app) {
153
+ let
154
+ _error_flag,
155
+ _msg;
156
+ const
157
+ _app_type =
158
+ typeof(
159
+ _app);
160
+ if ( _app_type == "undefined" ||
161
+ _app == "" ) {
162
+ _msg =
163
+ "No application specified.";
164
+ _error_flag =
165
+ true;
166
+ }
167
+ console.log(_app);
168
+ if ( _app_type != "string" ) {
169
+ _msg =
170
+ "Application argument must be of " +
171
+ "type string.";
172
+ _error_flag =
173
+ true;
174
+ }
175
+ if ( _error_flag ) {
176
+ _msg_error(
177
+ _msg,
178
+ 1);
179
+ }
180
+ }
181
+
182
+ function
183
+ _default_deployments_dir_get(
184
+ _app,
185
+ _type) {
186
+ _app_check(
187
+ _app);
188
+ if ( typeof(
189
+ _type) == "undefined" ||
190
+ _type == "" ) {
191
+ _type =
192
+ "system";
193
+ }
194
+ let
195
+ _conf_dir;
196
+ if ( _type == "system" ) {
197
+ _conf_dir =
198
+ _lib_get();
199
+ }
200
+ else if ( _type == "user" ) {
201
+ const
202
+ _homedir =
203
+ _homedir_get();
204
+ _conf_dir =
205
+ `${_homedir}/.config`;
206
+ }
207
+ return `${_conf_dir}/${_app}/deployments`;
208
+ }
209
+
210
+ function
211
+ _evm_contract_deployments_dir(
212
+ _app,
213
+ _user_level) {
214
+ let
215
+ _deployments,
216
+ _deployment_type;
217
+ _app_check(
218
+ _app);
219
+ if ( _user_level == "n" ) {
220
+ _deployment_type =
221
+ "system";
222
+ }
223
+ else if ( _user_level == "n" ) {
224
+ _deployment_type =
225
+ "system";
226
+ }
227
+ else {
228
+ _msg =
229
+ "User level argument must be " +
230
+ "can be 'y' or 'n'."
231
+ _msg_error(
232
+ _msg,
233
+ 1);
234
+ }
235
+ _deployments =
236
+ _default_deployments_dir_get(
237
+ _app,
238
+ _deployment_type);
239
+ return _deployments;
240
+ }
241
+
242
+ module.exports = {
243
+ _default_deployments_dir_get:
244
+ _default_deployments_dir_get,
245
+ _evm_contract_deployments_dir:
246
+ _evm_contract_deployments_dir,
247
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  { "name": "evm-contracts-tools",
2
2
  "version":
3
- "0.0.33",
3
+ "0.0.36",
4
4
  "description":
5
5
  "JavaScript programs and libraries to enable seamless development of native computer applications designed to interact with Ethereum Virtual Machine-compatible networks.",
6
6
  "funding": {
@@ -10,19 +10,30 @@
10
10
  "https://patreon.com/tallero"
11
11
  },
12
12
  "man": [
13
+ "./man/ethereum-address-validate.1",
14
+ "./man/evm-contract-bytecode-get.1",
15
+ "./man/evm-contract-deployer-get.1",
16
+ "./man/evm-contract-deployment-address.1",
17
+ "./man/evm-contract-deployments-dir.1",
18
+ "./man/evm-contract-call.1",
13
19
  "./man/evm-contract-call-dynamic.1"
14
20
  ],
15
21
  "files": [
16
22
  "AUTHORS.rst",
17
23
  "COPYING",
24
+ "Makefile",
18
25
  "README.md",
19
26
  "dist",
20
27
  "evm-contract-call",
21
28
  "evm-contract-call.webpack.config.js",
29
+ "evm-contract-deployments-dir",
30
+ "evm-contract-deployments-dir.webpack.config.js",
22
31
  "fs-worker.webpack.config.js",
23
32
  "index.html",
24
33
  "libevm-contract-call",
25
34
  "libevm-contract-call.webpack.config.js",
35
+ "libevm-contract-deployments-dir",
36
+ "libevm-contract-deployments-dir.webpack.config.js",
26
37
  "lib",
27
38
  "evm-contracts-tools",
28
39
  "package.json",
@@ -34,13 +45,15 @@
34
45
  "themartiancompany",
35
46
  "dogeos",
36
47
  "ethereum",
37
- "evmfs"
48
+ "evmfs",
49
+ "libevm",
50
+ "evm-toolchain"
38
51
  ],
39
52
  "homepage":
40
53
  "https://github.com/themartiancompany/evm-contracts-tools",
41
54
  "bugs": {
42
55
  "url":
43
- "https://github.com/themartiancompany/evm-contracts-tools/issues"
56
+ "https://github.com/themartiancompany/evm-contracts-tools.js/issues"
44
57
  },
45
58
  "repository": {
46
59
  "type":
@@ -60,7 +73,7 @@
60
73
  },
61
74
  "devDependencies": {
62
75
  "crash-js-webpack":
63
- "^0.0.10",
76
+ "^0.0.28",
64
77
  "flatted":
65
78
  "^3.2.9",
66
79
  "eslint":
@@ -78,7 +91,7 @@
78
91
  },
79
92
  "dependencies": {
80
93
  "crash-js":
81
- "^0.1.111",
94
+ "^0.1.134",
82
95
  "ethers":
83
96
  "^6.13.2",
84
97
  "evm-chains-info":
@@ -86,9 +99,9 @@
86
99
  "evm-transactions-tools":
87
100
  "^0.0.9",
88
101
  "evm-wallet.js":
89
- "^0.0.49",
102
+ "^0.0.50",
90
103
  "libevm":
91
- "^0.0.26",
104
+ "^0.0.27",
92
105
  "yargs":
93
106
  "18.0.0"
94
107
  },
@@ -96,7 +109,7 @@
96
109
  "evm-contracts-tools":
97
110
  "^0.0.32",
98
111
  "evm-wallet.js":
99
- "^0.0.49"
112
+ "^0.0.50"
100
113
  },
101
114
  "type":
102
115
  "commonjs",
@@ -104,27 +117,45 @@
104
117
  "evm-contracts-tools",
105
118
  "bin":
106
119
  {
120
+ "ethereum-address-validate":
121
+ "lib/address-check",
107
122
  "evm-contract-call":
108
123
  "evm-contract-call",
109
124
  "evm-contract-call.js":
110
125
  "evm-contract-call",
111
126
  "evm-contract-call-dynamic.js":
112
127
  "lib/evm-contract-call-dynamic",
128
+ "evm-contract-deployments-dir.js":
129
+ "evm-contract-deployments-dir",
130
+ "evm-contract-deployments-dir":
131
+ "evm-contract-deployments-dir",
113
132
  "evm-contract-call-static.js":
114
133
  "lib/evm-contract-call-static" },
115
134
  "scripts": {
116
135
  "build-fs-worker":
117
136
  "npx webpack --mode 'production' --config 'fs-worker.webpack.config.cjs' --stats-error-details && cp 'fs-worker.js' 'dist/'{'evm-contract-call','evm-contracts-tools','libevm-contract-call'}",
118
- "build-lib":
137
+ "build-libevm-contract-call":
119
138
  "npx webpack --mode 'production' --config 'libevm-contract-call.webpack.config.cjs' --stats-error-details && mv 'libevm-contract-call.js' 'dist/libevm-contract-call'",
139
+ "build-libevm-contract-deployments-dir":
140
+ "npx webpack --mode 'production' --config 'libevm-contract-deployments-dir.webpack.config.cjs' --stats-error-details && mv 'libevm-contract-deployments-dir.js' 'dist/libevm-contract-deployments-dir'",
141
+ "build-lib":
142
+ "npm run build-libevm-contract-call && npm run build-libevm-contract-deployments-dir",
143
+ "build-evm-contract-call":
144
+ "npx webpack --mode 'production' --config 'evm-contract-call.webpack.config.cjs' --stats-error-details && mv 'evm-contract-call.js' 'dist/evm-contract-call'",
145
+ "build-evm-contracts-tools":
146
+ "npx webpack --mode 'production' --config 'webpack.config.cjs' --stats-error-details && mv 'evm-contracts-tools.js' 'dist/evm-contracts-tools'",
147
+ "build-evm-contract-deployments-dir":
148
+ "npx webpack --mode 'production' --config 'evm-contract-deployments-dir.webpack.config.cjs' --stats-error-details && mv 'evm-contract-deployments-dir.js' 'dist/evm-contract-deployments-dir' && npx webpack --mode 'production' --config 'webpack.config.cjs' --stats-error-details && mv 'evm-contracts-tools.js' 'dist/evm-contracts-tools'",
120
149
  "build-bin":
121
- "npx webpack --mode 'production' --config 'evm-contract-call.webpack.config.cjs' --stats-error-details && mv 'evm-contract-call.js' 'dist/evm-contract-call' && npx webpack --mode 'production' --config 'webpack.config.cjs' --stats-error-details && mv 'evm-contracts-tools.js' 'dist/evm-contracts-tools'",
150
+ "npm run build-evm-contract-call && npm run build-evm-contract-deployments-dir && npm run build-evm-contracts-tools",
151
+ "build-man":
152
+ "make build-man",
122
153
  "build":
123
- "npm run lint && npm run build-fs-worker && npm run build-lib",
154
+ "npm run lint && npm run build-fs-worker && npm run build-lib && npm run build-bin",
124
155
  "lint":
125
156
  "npx eslint .",
126
- "publish-pnm":
127
- "npm run build && npm publish --access public",
157
+ "publish-npm":
158
+ "npm run build-man && npm run build && npm publish --access public",
128
159
  "start":
129
160
  "npx safely-serve --help # index.html --port 3000 --https --no-cache",
130
161
  "test":