libevm 0.0.32 → 0.0.35

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.
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ /** ------------------------------------------------------------------
4
+ * Copyright ©
5
+ * Pellegrino Prevete
6
+ * 2024, 2025, 2026
7
+ *
8
+ * All rights reserved
9
+ * ------------------------------------------------------------------
10
+ *
11
+ * This program is free software: you can redistribute it and/or
12
+ * modify it under the terms of the GNU General Public License as
13
+ * published by the Free Software Foundation, either version 3 of
14
+ * the License, or (at your option) any later version.
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program.
23
+ * If not, see <https://www.gnu.org/licenses/>.
24
+ */
25
+
26
+ import js from "@eslint/js";
27
+ import globals from "globals";
28
+ import { defineConfig } from "eslint/config";
29
+
30
+ const
31
+ _project =
32
+ "libevm";
33
+
34
+ const
35
+ _ignores = [
36
+ "build/**",
37
+ "dist/**",
38
+ "eslint.config.js",
39
+ "fs-worker.js",
40
+ "**/*.fs-worker.js",
41
+ `${_project}.js`,
42
+ `**/*.${_project}.js`,
43
+ "man/**",
44
+ "node_modules/**"
45
+ ];
46
+
47
+ export default defineConfig([
48
+ {
49
+ ignores:
50
+ _ignores,
51
+ rules:
52
+ { semi:
53
+ "error",
54
+ "prefer-const":
55
+ "error" },
56
+ files:
57
+ [ "**/*js,mjs,cjs}",
58
+ `**/${_project}*`
59
+ ],
60
+ plugins:
61
+ { js },
62
+ extends:
63
+ [ "js/recommended" ],
64
+ languageOptions:
65
+ { globals:
66
+ { ...globals.browser,
67
+ ...globals.node } } },
68
+ {
69
+ ignores:
70
+ _ignores,
71
+ rules:
72
+ { semi:
73
+ "error",
74
+ "prefer-const":
75
+ "error" },
76
+ files:
77
+ [ "**/*.{cjs,js}",
78
+ ],
79
+ languageOptions:
80
+ { sourceType:
81
+ "commonjs" } },
82
+ ]);
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+
3
+ /** ---------------------------------------------------------
4
+ * fs-worker.webpack.config.cjs
5
+ * ---------------------------------------------------------
6
+ * Copyright ©
7
+ * Pellegrino Prevete
8
+ * 2025, 2026
9
+ *
10
+ * All rights reserved
11
+ * ---------------------------------------------------------
12
+ *
13
+ * This program is free software: you can redistribute it and/or
14
+ * modify it under the terms of the GNU General Public License
15
+ * as published by the Free Software Foundation, either
16
+ * version 3 of the License, or (at your option) any later
17
+ * version.
18
+ *
19
+ * This program is distributed in the hope that it will be
20
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
21
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
22
+ * PURPOSE.
23
+ * See the GNU General Public License for more details.
24
+ *
25
+ * You should have received a copy of the
26
+ * GNU General Public License along with this program.
27
+ * If not, see <https://www.gnu.org/licenses/>.
28
+ */
29
+
30
+ const
31
+ _path =
32
+ require(
33
+ 'path');
34
+ const
35
+ _output_dir =
36
+ _path.resolve(
37
+ __dirname);
38
+ const
39
+ _input_file_name =
40
+ "fs-worker";
41
+ const
42
+ _input_file_path =
43
+ `./node_modules/opfs/${_input_file_name}`;
44
+ const
45
+ _output_file_name =
46
+ `${_input_file_name}.js`;
47
+ const
48
+ _output = {
49
+ path:
50
+ _output_dir,
51
+ filename:
52
+ _output_file_name
53
+ };
54
+ module.exports = {
55
+ entry:
56
+ _input_file_path,
57
+ output:
58
+ _output,
59
+ optimization: {
60
+ moduleIds: 'deterministic',
61
+ },
62
+ resolve: {
63
+ alias: {
64
+ "fs":
65
+ _path.resolve(
66
+ __dirname,
67
+ "node_modules/fs/fs"),
68
+ "node:fs":
69
+ _path.resolve(
70
+ __dirname,
71
+ "node_modules/opfs/opfs"),
72
+ "opfs":
73
+ _path.resolve(
74
+ __dirname,
75
+ 'node_modules/opfs/opfs'),
76
+ "path":
77
+ _path.resolve(
78
+ __dirname,
79
+ 'node_modules/path/mod.js'),
80
+ },
81
+ }
82
+ };
package/libevm CHANGED
@@ -29,62 +29,69 @@
29
29
 
30
30
  /* eslint-disable
31
31
  no-unused-vars */
32
+
32
33
  const
33
34
  _libcrash =
34
- require(
35
- 'crash-js');
35
+ await import(
36
+ "libcrash-js");
37
+ /* global
38
+ _homedir_get:
39
+ writable */
40
+ const
41
+ _homedir_get =
42
+ _libcrash._homedir_get;
36
43
  /* global
37
- _homedir_get */
38
- /* eslint-disable-next-line
39
- no-global-assign */
40
- _homedir_get =
41
- _libcrash._homedir_get;
44
+ _msg_error:
45
+ writable */
46
+ const
47
+ _msg_error =
48
+ _libcrash._msg_error;
42
49
  /* global
43
- _msg_error */
44
- /* eslint-disable-next-line
45
- no-global-assign */
46
- _msg_error =
47
- _libcrash._msg_error;
50
+ _msg_info:
51
+ writable */
52
+ const
53
+ _msg_info =
54
+ _libcrash._msg_info;
48
55
  /* global
49
- _msg_info */
50
- /* eslint-disable-next-line
51
- no-global-assign */
52
- _msg_info =
53
- _libcrash._msg_info;
56
+ _path_join:
57
+ writable */
58
+ const
59
+ _path_join =
60
+ _libcrash._path_join;
54
61
  /* global
55
- _path_join */
56
- /* eslint-disable-next-line
57
- no-global-assign */
58
- _path_join =
59
- _libcrash._path_join;
62
+ _require:
63
+ writable */
64
+ const
65
+ _require =
66
+ _libcrash._require;
60
67
  const
61
68
  _evm_chains_info_module =
62
- require(
69
+ await _require(
63
70
  'evm-chains-info');
64
71
  /* global
65
- _evm_chains_db_path_get */
66
- /* eslint-disable-next-line
67
- no-global-assign */
68
- _evm_chains_db_path_get =
69
- _evm_chains_info_module._evm_chains_db_path_get;
72
+ _evm_chains_db_path_get:
73
+ writable */
74
+ const
75
+ _evm_chains_db_path_get =
76
+ _evm_chains_info_module._evm_chains_db_path_get;
70
77
  /* global
71
- _rpc_backend_get */
72
- /* eslint-disable-next-line
73
- no-global-assign */
74
- _rpc_backend_get =
75
- _evm_chains_info_module._rpc_backend_get;
78
+ _rpc_backend_get:
79
+ writable */
80
+ const
81
+ _rpc_backend_get =
82
+ _evm_chains_info_module._rpc_backend_get;
76
83
  /* global
77
- _evm_chain_info_get */
78
- /* eslint-disable-next-line
79
- no-global-assign */
80
- _evm_chain_info_get =
81
- _evm_chains_info_module._evm_chain_info_get;
84
+ _evm_chain_info_get:
85
+ writable */
86
+ const
87
+ _evm_chain_info_get =
88
+ _evm_chains_info_module._evm_chain_info_get;
82
89
  /* global
83
- _evm_chains_info */
84
- /* eslint-disable-next-line
85
- no-global-assign */
86
- _evm_chains_info =
87
- _evm_chains_info_module._evm_chains_info;
90
+ _evm_chains_info:
91
+ writable */
92
+ const
93
+ _evm_chains_info =
94
+ _evm_chains_info_module._evm_chains_info;
88
95
 
89
96
  function
90
97
  _libevm_global_variables() {
@@ -574,14 +581,12 @@ async function
574
581
  _wallet_seed,
575
582
  _wallet_password,
576
583
  _wallet_path;
577
- /* eslint-disable
578
- prefer-const */
579
584
  _wallet_seed =
580
585
  "";
581
586
  const
582
587
  _evm_wallet_module =
583
- require(
584
- "evm-wallet.js");
588
+ await _require(
589
+ "evm-wallet");
585
590
  const
586
591
  _address_get =
587
592
  _evm_wallet_module._address_get;
@@ -749,31 +754,52 @@ function
749
754
  return _rpc;
750
755
  }
751
756
 
752
- module.exports = {
753
- _contract_abi_get:
754
- _contract_abi_get,
755
- _contract_bytecode_get:
756
- _contract_bytecode_get,
757
- _contract_compiler_output_get:
758
- _contract_compiler_output_get,
759
- _evm_chains_db_path_get:
760
- _evm_chains_db_path_get,
761
- _evm_chain_info_get:
762
- _evm_chain_info_get,
763
- _libevm_app_cmdline_parse:
764
- _libevm_app_cmdline_parse,
765
- _libevm_cmdline_parse:
766
- _libevm_cmdline_parse,
767
- _libevm_app_global_variables:
768
- _libevm_app_global_variables,
769
- _libevm_global_variables:
770
- _libevm_global_variables,
771
- _libevm_url_parse:
772
- _libevm_url_parse,
773
- _rpc_backend_get:
774
- _rpc_backend_get,
775
- _rpc_get:
776
- _rpc_get,
777
- _wallet_overrides_set:
778
- _wallet_overrides_set
757
+ // ES6 module exports
758
+
759
+ export {
760
+ _contract_abi_get,
761
+ _contract_bytecode_get,
762
+ _contract_compiler_output_get,
763
+ _evm_chains_db_path_get,
764
+ _evm_chain_info_get,
765
+ _libevm_app_cmdline_parse,
766
+ _libevm_cmdline_parse,
767
+ _libevm_app_global_variables,
768
+ _libevm_global_variables,
769
+ _libevm_url_parse,
770
+ _rpc_backend_get,
771
+ _rpc_get,
772
+ _wallet_overrides_set
779
773
  };
774
+
775
+
776
+ // Common Javascript exports
777
+
778
+ // module.exports = {
779
+ // _contract_abi_get:
780
+ // _contract_abi_get,
781
+ // _contract_bytecode_get:
782
+ // _contract_bytecode_get,
783
+ // _contract_compiler_output_get:
784
+ // _contract_compiler_output_get,
785
+ // _evm_chains_db_path_get:
786
+ // _evm_chains_db_path_get,
787
+ // _evm_chain_info_get:
788
+ // _evm_chain_info_get,
789
+ // _libevm_app_cmdline_parse:
790
+ // _libevm_app_cmdline_parse,
791
+ // _libevm_cmdline_parse:
792
+ // _libevm_cmdline_parse,
793
+ // _libevm_app_global_variables:
794
+ // _libevm_app_global_variables,
795
+ // _libevm_global_variables:
796
+ // _libevm_global_variables,
797
+ // _libevm_url_parse:
798
+ // _libevm_url_parse,
799
+ // _rpc_backend_get:
800
+ // _rpc_backend_get,
801
+ // _rpc_get:
802
+ // _rpc_get,
803
+ // _wallet_overrides_set:
804
+ // _wallet_overrides_set
805
+ // };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name":
3
3
  "libevm",
4
4
  "version":
5
- "0.0.32",
5
+ "0.0.35",
6
6
  "description":
7
7
  "Library providing useful functions to write native applications interacting with EVM-compatible blockchain networks.",
8
8
  "funding": {
@@ -19,12 +19,11 @@
19
19
  "COPYING",
20
20
  "README.md",
21
21
  "dist",
22
+ "eslint.config.mjs",
22
23
  "libevm",
23
- "fs-worker.webpack.config.js",
24
- "index.html",
24
+ "fs-worker.webpack.config.cjs",
25
25
  "package.json",
26
- "serve.json",
27
- "webpack.config.js"
26
+ "webpack.config.cjs"
28
27
  ],
29
28
  "keywords": [
30
29
  "ur",
@@ -58,30 +57,32 @@
58
57
  "https://github.com/tallero"
59
58
  },
60
59
  "devDependencies": {
60
+ "brace-expansion":
61
+ "^5.0.9",
61
62
  "crash-js-webpack":
62
- "^0.0.41",
63
- "flatted":
64
- "^3.2.9",
63
+ "^0.0.59",
64
+ "fast-uri":
65
+ "^4.1.2",
65
66
  "eslint":
66
- "^10.3.0",
67
+ "^10.9.0",
67
68
  "globals":
68
69
  "^17.3.0",
69
70
  "@eslint/js":
70
71
  "^10.0.1",
71
72
  "safely-serve":
72
- "^0.0.9",
73
+ "^0.0.16",
73
74
  "webpack":
74
- "^5.102.1",
75
+ "^5.109.2",
75
76
  "webpack-cli":
76
- "^6.0.1"
77
+ "^7.2.2"
77
78
  },
78
79
  "dependencies": {
79
- "crash-js":
80
- "^0.11.111111111111",
80
+ "libcrash-js":
81
+ "npm:crash-js@^100001.1000000000000001.1000000000000001",
81
82
  "evm-chains-info":
82
- "^0.0.28",
83
- "evm-wallet.js":
84
- "^0.0.70",
83
+ "^0.0.32",
84
+ "evm-wallet":
85
+ "npm:evm-wallet.js@^0.0.75",
85
86
  "ws":
86
87
  "^8.21.0",
87
88
  "yargs":
@@ -89,12 +90,14 @@
89
90
  },
90
91
  "overrides": {
91
92
  "evm-chains-info":
92
- "^0.0.28",
93
+ "^0.0.32",
94
+ "evm-wallet":
95
+ "npm:evm-wallet.js@^0.0.75",
93
96
  "libevm":
94
97
  "./libevm"
95
98
  },
96
99
  "type":
97
- "commonjs",
100
+ "module",
98
101
  "main":
99
102
  "libevm",
100
103
  "scripts": {
@@ -0,0 +1,153 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+
3
+ /** ----------------------------------------------------------------
4
+ * webpack.config.cjs
5
+ * ----------------------------------------------------------------
6
+ * Copyright ©
7
+ * Pellegrino Prevete
8
+ * 2024, 2025, 2026
9
+ *
10
+ * All rights reserved
11
+ * ----------------------------------------------------------------
12
+ *
13
+ * This program is free software: you can redistribute it and/or
14
+ * modify it under the terms of the GNU General Public License as
15
+ * published by the Free Software Foundation, either version 3 of
16
+ * the License, or (at your option) any later version.
17
+ *
18
+ * This program is distributed in the hope that it will be useful,
19
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ * GNU General Public License for more details.
22
+ *
23
+ * You should have received a copy of the GNU General Public License
24
+ * along with this program.
25
+ * If not, see <https://www.gnu.org/licenses/>.
26
+ */
27
+
28
+ const
29
+ _path =
30
+ require(
31
+ 'path');
32
+ const
33
+ _output_dir =
34
+ _path.resolve(
35
+ __dirname);
36
+ const
37
+ _input_file_name =
38
+ `libevm`;
39
+ const
40
+ _input_file_path =
41
+ `./${_input_file_name}`;
42
+ const
43
+ _output_file_name =
44
+ `${_input_file_name}.js`;
45
+ const
46
+ _output = {
47
+ path:
48
+ _output_dir,
49
+ filename:
50
+ _output_file_name
51
+ };
52
+ const
53
+ _node_fs_ignore =
54
+ { resourceRegExp:
55
+ /^node:fs$/ };
56
+ const
57
+ _yargs_ignore =
58
+ { resourceRegExp:
59
+ /^yargs$/ };
60
+ const
61
+ _yargs_helpers_ignore =
62
+ { resourceRegExp:
63
+ /^yargs\/helpers$/ };
64
+ const
65
+ _webpack =
66
+ require(
67
+ "webpack");
68
+ const
69
+ _ignore_plugin =
70
+ _webpack.IgnorePlugin;
71
+ const
72
+ _node_fs_ignore_plugin =
73
+ new _ignore_plugin(
74
+ _node_fs_ignore);
75
+ const
76
+ _yargs_ignore_plugin =
77
+ new _ignore_plugin(
78
+ _yargs_ignore);
79
+ const
80
+ _yargs_helpers_ignore_plugin =
81
+ new _ignore_plugin(
82
+ _yargs_helpers_ignore);
83
+ module.exports = {
84
+ entry:
85
+ _input_file_path,
86
+ output:
87
+ _output,
88
+ optimization: {
89
+ moduleIds: 'deterministic',
90
+ },
91
+ resolve: {
92
+ alias: {
93
+ "node:fs":
94
+ _path.resolve(
95
+ __dirname,
96
+ 'node_modules/opfs/opfs'),
97
+ "evm-chains-info":
98
+ _path.resolve(
99
+ __dirname,
100
+ "node_modules/evm-chains-info/libevm-chains-info"),
101
+ "evm-wallet":
102
+ _path.resolve(
103
+ __dirname,
104
+ "node_modules/evm-wallet/libevm-wallet"),
105
+ "fs":
106
+ _path.resolve(
107
+ __dirname,
108
+ "node_modules/fs/fs"),
109
+ "libevm":
110
+ _path.resolve(
111
+ __dirname,
112
+ "./libevm"),
113
+ "path":
114
+ _path.resolve(
115
+ __dirname,
116
+ 'node_modules/path/mod.js'),
117
+ "web-worker":
118
+ _path.resolve(
119
+ __dirname,
120
+ 'node_modules/web-worker/mod.js'),
121
+ "yargs":
122
+ _path.resolve(
123
+ __dirname,
124
+ 'node_modules/yargs/browser.mjs'),
125
+ "yargs/helpers":
126
+ _path.resolve(
127
+ __dirname,
128
+ 'node_modules/yargs/helpers/helpers.mjs'),
129
+ "yargs-parser":
130
+ _path.resolve(
131
+ __dirname,
132
+ 'node_modules/yargs-parser/browser.mjs'),
133
+ },
134
+ fallback: {
135
+ "utils":
136
+ false,
137
+ "web-worker":
138
+ false,
139
+ "yargs":
140
+ false,
141
+ "yargs/helpers":
142
+ false,
143
+ }
144
+ },
145
+ externals:
146
+ { yargs:
147
+ 'yargs' },
148
+ plugins: [
149
+ _node_fs_ignore_plugin,
150
+ _yargs_ignore_plugin,
151
+ _yargs_helpers_ignore_plugin
152
+ ]
153
+ };