dequanto 0.1.39 → 0.1.45

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 (204) hide show
  1. package/lib/cjs/clients/ClientPool.js +23 -2
  2. package/lib/cjs/clients/ClientPool.js.map +1 -1
  3. package/lib/cjs/clients/WalletClient.js +98 -0
  4. package/lib/cjs/clients/WalletClient.js.map +1 -0
  5. package/lib/cjs/clients/Web3Client.js +39 -10
  6. package/lib/cjs/clients/Web3Client.js.map +1 -1
  7. package/lib/cjs/clients/Web3ClientFactory.js +7 -37
  8. package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
  9. package/lib/cjs/config/Config.js +4 -1
  10. package/lib/cjs/config/Config.js.map +1 -1
  11. package/lib/cjs/config/ConfigDefaults.js +3 -6
  12. package/lib/cjs/config/ConfigDefaults.js.map +1 -1
  13. package/lib/cjs/config/ConfigProvider.js +5 -1
  14. package/lib/cjs/config/ConfigProvider.js.map +1 -1
  15. package/lib/cjs/contracts/ContractWriter.js.map +1 -1
  16. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +10 -1
  17. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  18. package/lib/cjs/explorer/BlockchainExplorer.js +65 -43
  19. package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
  20. package/lib/cjs/explorer/BlockchainExplorerFactory.js +6 -4
  21. package/lib/cjs/explorer/BlockchainExplorerFactory.js.map +1 -1
  22. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js +5 -5
  23. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  24. package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
  25. package/lib/cjs/json/JsonArrayStore.js +1 -1
  26. package/lib/cjs/json/JsonArrayStore.js.map +1 -1
  27. package/lib/cjs/json/JsonObjectStore.js +2 -1
  28. package/lib/cjs/json/JsonObjectStore.js.map +1 -1
  29. package/lib/cjs/json/JsonStoreFs.js +84 -18
  30. package/lib/cjs/json/JsonStoreFs.js.map +1 -1
  31. package/lib/cjs/models/TChain.js +4 -0
  32. package/lib/cjs/models/TChain.js.map +1 -0
  33. package/lib/cjs/models/TExplorer.js +4 -0
  34. package/lib/cjs/models/TExplorer.js.map +1 -0
  35. package/lib/cjs/models/TPlatform.js +1 -0
  36. package/lib/cjs/models/TPlatform.js.map +1 -1
  37. package/lib/cjs/rpc/transports/ITransport.js.map +1 -1
  38. package/lib/cjs/rpc/transports/RpcTransport.js +4 -0
  39. package/lib/cjs/rpc/transports/RpcTransport.js.map +1 -1
  40. package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js +14 -2
  41. package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  42. package/lib/cjs/rpc/transports/compatibility/IEIP6963Provider.js +4 -0
  43. package/lib/cjs/rpc/transports/compatibility/IEIP6963Provider.js.map +1 -0
  44. package/lib/cjs/safe/GnosisSafeHandler.js.map +1 -1
  45. package/lib/cjs/tokens/TokenProviders/TPChain.js +5 -1
  46. package/lib/cjs/tokens/TokenProviders/TPChain.js.map +1 -1
  47. package/lib/cjs/txs/TxWriter.js +8 -1
  48. package/lib/cjs/txs/TxWriter.js.map +1 -1
  49. package/lib/cjs/utils/$buffer.js.map +1 -1
  50. package/lib/cjs/utils/$config.js +67 -2
  51. package/lib/cjs/utils/$config.js.map +1 -1
  52. package/lib/cjs/utils/$dependency.js +4 -0
  53. package/lib/cjs/utils/$dependency.js.map +1 -1
  54. package/lib/cjs/utils/$path.js +9 -0
  55. package/lib/cjs/utils/$path.js.map +1 -1
  56. package/lib/cjs/utils/$ref.js +30 -0
  57. package/lib/cjs/utils/$ref.js.map +1 -0
  58. package/lib/cjs/utils/$secret.js +15 -2
  59. package/lib/cjs/utils/$secret.js.map +1 -1
  60. package/lib/cjs/utils/$sig.js +18 -9
  61. package/lib/cjs/utils/$sig.js.map +1 -1
  62. package/lib/cjs/wallets/EIP6963ProviderFactory.js +192 -0
  63. package/lib/cjs/wallets/EIP6963ProviderFactory.js.map +1 -0
  64. package/lib/cjs/wallets/Signer.js +30 -0
  65. package/lib/cjs/wallets/Signer.js.map +1 -0
  66. package/lib/esm/clients/ClientPool.js.map +1 -1
  67. package/lib/esm/clients/ClientPool.mjs +23 -2
  68. package/lib/esm/clients/WalletClient.js.map +1 -0
  69. package/lib/esm/clients/WalletClient.mjs +91 -0
  70. package/lib/esm/clients/Web3Client.js.map +1 -1
  71. package/lib/esm/clients/Web3Client.mjs +39 -10
  72. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  73. package/lib/esm/clients/Web3ClientFactory.mjs +7 -37
  74. package/lib/esm/config/Config.js.map +1 -1
  75. package/lib/esm/config/Config.mjs +4 -1
  76. package/lib/esm/config/ConfigDefaults.js.map +1 -1
  77. package/lib/esm/config/ConfigDefaults.mjs +3 -6
  78. package/lib/esm/config/ConfigProvider.js.map +1 -1
  79. package/lib/esm/config/ConfigProvider.mjs +5 -1
  80. package/lib/esm/contracts/ContractWriter.js.map +1 -1
  81. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  82. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +10 -1
  83. package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
  84. package/lib/esm/explorer/BlockchainExplorer.mjs +65 -43
  85. package/lib/esm/explorer/BlockchainExplorerFactory.js.map +1 -1
  86. package/lib/esm/explorer/BlockchainExplorerFactory.mjs +6 -4
  87. package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  88. package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +5 -5
  89. package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
  90. package/lib/esm/json/JsonArrayStore.js.map +1 -1
  91. package/lib/esm/json/JsonArrayStore.mjs +1 -1
  92. package/lib/esm/json/JsonObjectStore.js.map +1 -1
  93. package/lib/esm/json/JsonObjectStore.mjs +2 -1
  94. package/lib/esm/json/JsonStoreFs.js.map +1 -1
  95. package/lib/esm/json/JsonStoreFs.mjs +84 -18
  96. package/lib/esm/models/TChain.js.map +1 -0
  97. package/lib/esm/models/TChain.mjs +3 -0
  98. package/lib/esm/models/TExplorer.js.map +1 -0
  99. package/lib/esm/models/TExplorer.mjs +3 -0
  100. package/lib/esm/models/TPlatform.js.map +1 -1
  101. package/lib/esm/models/TPlatform.mjs +1 -0
  102. package/lib/esm/rpc/transports/ITransport.js.map +1 -1
  103. package/lib/esm/rpc/transports/RpcTransport.js.map +1 -1
  104. package/lib/esm/rpc/transports/RpcTransport.mjs +4 -0
  105. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  106. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.mjs +14 -2
  107. package/lib/esm/rpc/transports/compatibility/IEIP6963Provider.js.map +1 -0
  108. package/lib/esm/rpc/transports/compatibility/IEIP6963Provider.mjs +3 -0
  109. package/lib/esm/safe/GnosisSafeHandler.js.map +1 -1
  110. package/lib/esm/tokens/TokenProviders/TPChain.js.map +1 -1
  111. package/lib/esm/tokens/TokenProviders/TPChain.mjs +5 -1
  112. package/lib/esm/txs/TxWriter.js.map +1 -1
  113. package/lib/esm/txs/TxWriter.mjs +8 -1
  114. package/lib/esm/utils/$buffer.js.map +1 -1
  115. package/lib/esm/utils/$config.js.map +1 -1
  116. package/lib/esm/utils/$config.mjs +64 -2
  117. package/lib/esm/utils/$dependency.js.map +1 -1
  118. package/lib/esm/utils/$dependency.mjs +4 -0
  119. package/lib/esm/utils/$path.js.map +1 -1
  120. package/lib/esm/utils/$path.mjs +9 -0
  121. package/lib/esm/utils/$ref.js.map +1 -0
  122. package/lib/esm/utils/$ref.mjs +27 -0
  123. package/lib/esm/utils/$secret.js.map +1 -1
  124. package/lib/esm/utils/$secret.mjs +15 -2
  125. package/lib/esm/utils/$sig.js.map +1 -1
  126. package/lib/esm/utils/$sig.mjs +18 -9
  127. package/lib/esm/wallets/EIP6963ProviderFactory.js.map +1 -0
  128. package/lib/esm/wallets/EIP6963ProviderFactory.mjs +185 -0
  129. package/lib/esm/wallets/Signer.js.map +1 -0
  130. package/lib/esm/wallets/Signer.mjs +26 -0
  131. package/lib/types/clients/ClientPool.d.ts +13 -5
  132. package/lib/types/clients/WalletClient.d.ts +28 -0
  133. package/lib/types/clients/Web3Client.d.ts +7 -4
  134. package/lib/types/clients/Web3ClientFactory.d.ts +1 -1
  135. package/lib/types/clients/interfaces/IWeb3Client.d.ts +2 -5
  136. package/lib/types/config/AConfigBase.d.ts +0 -7
  137. package/lib/types/config/interface/IConfigData.d.ts +5 -2
  138. package/lib/types/explorer/BlockchainExplorer.d.ts +7 -4
  139. package/lib/types/explorer/BlockchainExplorerFactory.d.ts +7 -3
  140. package/lib/types/explorer/verifiers/FsHtmlVerifier.d.ts +3 -3
  141. package/lib/types/json/JsonArrayMultiStore.d.ts +2 -2
  142. package/lib/types/json/JsonArrayStore.d.ts +4 -3
  143. package/lib/types/json/JsonObjectStore.d.ts +5 -3
  144. package/lib/types/json/JsonStoreFs.d.ts +3 -2
  145. package/lib/types/models/TAccount.d.ts +9 -0
  146. package/lib/types/models/TChain.d.ts +45 -0
  147. package/lib/types/models/TEth.d.ts +8 -0
  148. package/lib/types/models/TExplorer.d.ts +31 -0
  149. package/lib/types/rpc/transports/ITransport.d.ts +2 -1
  150. package/lib/types/rpc/transports/compatibility/EIP1193Transport.d.ts +5 -1
  151. package/lib/types/rpc/transports/compatibility/IEIP6963Provider.d.ts +21 -0
  152. package/lib/types/utils/$config.d.ts +5 -0
  153. package/lib/types/utils/$ref.d.ts +11 -0
  154. package/lib/types/utils/$secret.d.ts +1 -0
  155. package/lib/types/utils/$sig.d.ts +1 -0
  156. package/lib/types/wallets/EIP6963ProviderFactory.d.ts +47 -0
  157. package/lib/types/wallets/Signer.d.ts +15 -0
  158. package/package.json +1 -1
  159. package/src/clients/ClientPool.ts +49 -15
  160. package/src/clients/WalletClient.ts +115 -0
  161. package/src/clients/Web3Client.ts +47 -16
  162. package/src/clients/Web3ClientFactory.ts +8 -39
  163. package/src/clients/interfaces/IWeb3Client.ts +2 -7
  164. package/src/config/AConfigBase.ts +3 -11
  165. package/src/config/Config.ts +6 -1
  166. package/src/config/ConfigDefaults.ts +3 -6
  167. package/src/config/ConfigProvider.ts +5 -1
  168. package/src/config/interface/IConfigData.ts +9 -4
  169. package/src/contracts/ContractWriter.ts +1 -0
  170. package/src/contracts/deploy/storage/DeploymentsStorage.ts +13 -3
  171. package/src/explorer/BlockchainExplorer.ts +82 -51
  172. package/src/explorer/BlockchainExplorerFactory.ts +19 -6
  173. package/src/explorer/verifiers/FsHtmlVerifier.ts +8 -8
  174. package/src/json/JsonArrayMultiStore.ts +2 -2
  175. package/src/json/JsonArrayStore.ts +5 -2
  176. package/src/json/JsonObjectStore.ts +7 -4
  177. package/src/json/JsonStoreFs.ts +103 -18
  178. package/src/models/TAccount.ts +10 -2
  179. package/src/models/TChain.ts +56 -0
  180. package/src/models/TEth.ts +9 -3
  181. package/src/models/TExplorer.ts +35 -0
  182. package/src/models/TPlatform.ts +1 -0
  183. package/src/rpc/transports/ITransport.ts +2 -1
  184. package/src/rpc/transports/RpcTransport.ts +4 -0
  185. package/src/rpc/transports/compatibility/EIP1193Transport.ts +19 -6
  186. package/src/rpc/transports/compatibility/IEIP6963Provider.ts +22 -0
  187. package/src/safe/GnosisSafeHandler.ts +1 -1
  188. package/src/tokens/TokenProviders/TPChain.ts +5 -1
  189. package/src/txs/TxWriter.ts +8 -2
  190. package/src/utils/$buffer.ts +1 -1
  191. package/src/utils/$config.ts +73 -2
  192. package/src/utils/$dependency.ts +5 -0
  193. package/src/utils/$path.ts +9 -0
  194. package/src/utils/$ref.ts +40 -0
  195. package/src/utils/$secret.ts +16 -3
  196. package/src/utils/$sig.ts +19 -10
  197. package/src/wallets/EIP6963ProviderFactory.ts +252 -0
  198. package/src/wallets/Signer.ts +32 -0
  199. package/lib/cjs/wallets/WalletBsc.js +0 -19
  200. package/lib/cjs/wallets/WalletBsc.js.map +0 -1
  201. package/lib/esm/wallets/WalletBsc.js.map +0 -1
  202. package/lib/esm/wallets/WalletBsc.mjs +0 -12
  203. package/lib/types/wallets/WalletBsc.d.ts +0 -10
  204. package/src/wallets/WalletBsc.ts +0 -13
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.$config = void 0;
7
+ const alot_1 = __importDefault(require("alot"));
8
+ const atma_utils_1 = require("atma-utils");
4
9
  const Config_1 = require("../config/Config.js");
5
10
  const ConfigDefaults_1 = require("../config/ConfigDefaults.js");
6
- const atma_utils_1 = require("atma-utils");
11
+ const _require_1 = require("./$require.js");
7
12
  const $global = typeof global === 'undefined'
8
13
  ? window
9
14
  : global;
@@ -24,8 +29,68 @@ var $config;
24
29
  return value ?? $default;
25
30
  }
26
31
  $config.get = get;
32
+ function getWeb3Options(mix) {
33
+ let web3 = $config.get('web3');
34
+ let chains = $config.get('chains', []);
35
+ let platform;
36
+ if (typeof mix === 'number') {
37
+ let chain = alot_1.default.fromObject(web3).find(x => x.value.chainId === mix);
38
+ if (chain != null) {
39
+ platform = chain.key;
40
+ }
41
+ else {
42
+ let chain = chains.find(x => x.chainId === mix);
43
+ if (chain != null) {
44
+ platform = chain.platform;
45
+ }
46
+ }
47
+ _require_1.$require.notNull(platform, `Invalid platform for chainId ${mix}`);
48
+ }
49
+ else {
50
+ platform = mix;
51
+ }
52
+ if (platform.startsWith('hh:')) {
53
+ // Hardhat fork
54
+ return { platform };
55
+ }
56
+ let web3Config = web3[platform];
57
+ if (web3Config == null) {
58
+ // Find the configuration by the alias
59
+ let chain = alot_1.default
60
+ .fromObject(web3)
61
+ .filter(x => Array.isArray(x.value.aliases))
62
+ .find(x => x.value.aliases.includes(platform));
63
+ web3Config = chain?.value;
64
+ }
65
+ let chainConfig = chains.find(x => x.platform === platform || x.aliases?.includes(platform));
66
+ _require_1.$require.notNull(web3Config || chainConfig, `Unsupported platform ${platform} for web3 client`);
67
+ return {
68
+ platform,
69
+ ...(chainConfig ?? {}),
70
+ ...(web3Config ?? {}),
71
+ };
72
+ }
73
+ $config.getWeb3Options = getWeb3Options;
74
+ function getExplorerOptions(mix) {
75
+ let platform = getWeb3Options(mix).platform;
76
+ let explorer = $config.get(`blockchainExplorer`);
77
+ let chains = $config.get('chains', []);
78
+ let explorerConfig = explorer[platform];
79
+ let chainConfig = chains.find(x => x.platform === platform || x.aliases?.includes(platform));
80
+ _require_1.$require.notNull(explorerConfig || chainConfig, `Unsupported platform ${platform} for web3 client`);
81
+ return {
82
+ platform,
83
+ ...(chainConfig?.explorers?.[0] ?? {}),
84
+ ...(explorerConfig ?? {}),
85
+ };
86
+ }
87
+ $config.getExplorerOptions = getExplorerOptions;
27
88
  function set(path, value) {
28
- $global.app.config?.$set?.(path, value);
89
+ if (typeof $global.app?.config?.$set === 'function') {
90
+ $global.app.config.$set(path, value);
91
+ return;
92
+ }
93
+ (0, atma_utils_1.obj_setProperty)(Config_1.config, path, value);
29
94
  }
30
95
  $config.set = set;
31
96
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"$config.js","sourceRoot":"","sources":["../../../src/utils/$config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$config.js","sourceRoot":"","sources":["../../../src/utils/$config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  /** ESM and CJS Loader */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.$dependency = void 0;
5
+ const _is_1 = require("./$is.js");
5
6
  var $dependency;
6
7
  (function ($dependency) {
7
8
  async function load(name) {
@@ -12,6 +13,9 @@ var $dependency;
12
13
  }
13
14
  $dependency.load = load;
14
15
  function dirname() {
16
+ if (_is_1.$is.BROWSER) {
17
+ return location.origin;
18
+ }
15
19
  if (typeof __dirname !== 'undefined') {
16
20
  return __dirname;
17
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"$dependency.js","sourceRoot":"","sources":["../../../src/utils/$dependency.ts"],"names":[],"mappings":";AAAA,yBAAyB;;;AAEzB,IAAiB,WAAW,CAqB3B;AArBD,WAAiB,WAAW;IAEjB,KAAK,UAAU,IAAI,CAAW,IAAY;QAC7C,WAAW;QACX,MAAM,CAAC,GAAG,OAAO,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,QAAQ;IAGZ,CAAC;IAPqB,gBAAI,OAOzB,CAAA;IAED,SAAgB,OAAO;QACnB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YAClC,OAAO,SAAS,CAAC;SACpB;QACD,WAAW;QACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACpE,QAAQ;IAGZ,CAAC;IATe,mBAAO,UAStB,CAAA;AACL,CAAC,EArBgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAqB3B"}
1
+ {"version":3,"file":"$dependency.js","sourceRoot":"","sources":["../../../src/utils/$dependency.ts"],"names":[],"mappings":";AAAA,yBAAyB;;;AAEzB,+BAA4B;AAE5B,IAAiB,WAAW,CAwB3B;AAxBD,WAAiB,WAAW;IAEjB,KAAK,UAAU,IAAI,CAAW,IAAY;QAC7C,WAAW;QACX,MAAM,CAAC,GAAG,OAAO,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,QAAQ;IAGZ,CAAC;IAPqB,gBAAI,OAOzB,CAAA;IAED,SAAgB,OAAO;QACnB,IAAI,SAAG,CAAC,OAAO,EAAE;YACb,OAAO,QAAQ,CAAC,MAAM,CAAC;SAC1B;QACD,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YAClC,OAAO,SAAS,CAAC;SACpB;QACD,WAAW;QACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACpE,QAAQ;IAGZ,CAAC;IAZe,mBAAO,UAYtB,CAAA;AACL,CAAC,EAxBgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAwB3B"}
@@ -5,6 +5,7 @@ const atma_utils_1 = require("atma-utils");
5
5
  const _config_1 = require("./$config.js");
6
6
  const atma_io_1 = require("atma-io");
7
7
  const _dependency_1 = require("./$dependency.js");
8
+ const _is_1 = require("./$is.js");
8
9
  var $path;
9
10
  (function ($path) {
10
11
  let root = null;
@@ -81,6 +82,14 @@ var $path;
81
82
  $path.getRelativePath = getRelativePath;
82
83
  function getRoot() {
83
84
  let base = _config_1.$config.get('settings.base');
85
+ if (_is_1.$is.BROWSER) {
86
+ let root = _dependency_1.$dependency.dirname();
87
+ if (base != null && isAbsolute(base)) {
88
+ return base;
89
+ }
90
+ base ??= '/node_modules/dequanto/';
91
+ return atma_utils_1.class_Uri.combine(root, base);
92
+ }
84
93
  if (base != null) {
85
94
  let cwd = process.cwd();
86
95
  return atma_utils_1.class_Uri.combine('file://' + cwd, base);
@@ -1 +1 @@
1
- {"version":3,"file":"$path.js","sourceRoot":"","sources":["../../../src/utils/$path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$path.js","sourceRoot":"","sources":["../../../src/utils/$path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.$ref = void 0;
4
+ const atma_utils_1 = require("atma-utils");
5
+ var $ref;
6
+ (function ($ref) {
7
+ function getGlobal() {
8
+ if (typeof window !== 'undefined' && typeof window === 'object') {
9
+ const g = window;
10
+ return g;
11
+ }
12
+ if (typeof global !== 'undefined' && typeof global === 'object') {
13
+ const g = global;
14
+ if (typeof g.addEventListener !== 'function' || typeof g.dispatchEvent !== 'function') {
15
+ const emitter = new atma_utils_1.class_EventEmitter;
16
+ g.addEventListener = function (event, fn) {
17
+ emitter.on(event, fn);
18
+ };
19
+ g.dispatchEvent = function (event) {
20
+ emitter.emit(event.type, event);
21
+ };
22
+ }
23
+ return g;
24
+ }
25
+ throw new Error('No global object found');
26
+ }
27
+ $ref.getGlobal = getGlobal;
28
+ })($ref = exports.$ref || (exports.$ref = {}));
29
+ //# sourceMappingURL=$ref.js.map
30
+ //# sourceMappingURL=$ref.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$ref.js","sourceRoot":"","sources":["../../../src/utils/$ref.ts"],"names":[],"mappings":";;;AAEA,2CAAgD;AAchD,IAAiB,IAAI,CAuBpB;AAvBD,WAAiB,IAAI;IACjB,SAAgB,SAAS;QACrB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC7D,MAAM,CAAC,GAAG,MAAwB,CAAC;YACnC,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAM,QAAQ,EAAE;YAC9D,MAAM,CAAC,GAAG,MAAwB,CAAC;YAEnC,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,EAAE;gBACnF,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;gBACvC,CAAC,CAAC,gBAAgB,GAAG,UAAU,KAAa,EAAE,EAAkB;oBAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,CAAC,CAAC,aAAa,GAAG,UAAU,KAAkB;oBAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC,CAAC;aACL;YAED,OAAO,CAAC,CAAC;SACZ;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IArBe,cAAS,YAqBxB,CAAA;AACL,CAAC,EAvBgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAuBpB"}
@@ -9,8 +9,8 @@ var $secret;
9
9
  if (pin == null || pin.length === 0) {
10
10
  return null;
11
11
  }
12
- let id = await _machine_1.$machine.id();
13
- return `${id}:${pin}`;
12
+ let machineKey = parameters?.machineKey ?? getMachineKeyFromCli() ?? getMachineKeyFromEnv() ?? await _machine_1.$machine.id();
13
+ return `${machineKey}:${pin}`;
14
14
  }
15
15
  $secret.getPin = getPin;
16
16
  function getPinFromCli() {
@@ -26,6 +26,19 @@ var $secret;
26
26
  function getPinFromEnv() {
27
27
  return process.env.PIN;
28
28
  }
29
+ function getMachineKeyFromCli() {
30
+ let args = process.argv;
31
+ for (let i = 0; i < args.length - 1; i++) {
32
+ let key = args[i].replace(/^\-+/, '');
33
+ if (key === 'machineKey' || key === 'machine-key') {
34
+ return args[i + 1];
35
+ }
36
+ }
37
+ return null;
38
+ }
39
+ function getMachineKeyFromEnv() {
40
+ return process.env.MACHINE_KEY;
41
+ }
29
42
  })($secret = exports.$secret || (exports.$secret = {}));
30
43
  //# sourceMappingURL=$secret.js.map
31
44
  //# sourceMappingURL=$secret.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"$secret.js","sourceRoot":"","sources":["../../../src/utils/$secret.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,IAAiB,OAAO,CAwBvB;AAxBD,WAAiB,OAAO;IACb,KAAK,UAAU,MAAM,CAAC,UAA6B;QAEtD,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC;QAChE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;QACD,IAAI,EAAE,GAAG,MAAM,mBAAQ,CAAC,EAAE,EAAE,CAAC;QAC7B,OAAO,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;IAC1B,CAAC;IARqB,cAAM,SAQ3B,CAAA;IAED,SAAS,aAAa;QAClB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE;gBAC9B,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACtB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS,aAAa;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3B,CAAC;AACL,CAAC,EAxBgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAwBvB"}
1
+ {"version":3,"file":"$secret.js","sourceRoot":"","sources":["../../../src/utils/$secret.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,IAAiB,OAAO,CAqCvB;AArCD,WAAiB,OAAO;IACb,KAAK,UAAU,MAAM,CAAC,UAAkD;QAE3E,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC;QAChE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;QACD,IAAI,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,oBAAoB,EAAE,IAAI,oBAAoB,EAAE,IAAI,MAAM,mBAAQ,CAAC,EAAE,EAAE,CAAC;QACnH,OAAO,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC;IAClC,CAAC;IARqB,cAAM,SAQ3B,CAAA;IAED,SAAS,aAAa;QAClB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE;gBAC9B,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACtB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS,aAAa;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,SAAS,oBAAoB;QACzB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAI,aAAa,EAAE;gBAC9C,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACtB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS,oBAAoB;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACnC,CAAC;AACL,CAAC,EArCgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAqCvB"}
@@ -20,31 +20,31 @@ var $sig;
20
20
  if (account.key != null) {
21
21
  return await KeyUtils.withKey(account, account => $ec.$eip191.signTypedData(typedData, account));
22
22
  }
23
- return $rpc.signTypedData(rpc, typedData, account);
23
+ let signer = await $rpc.ensureRpcSigner(account, rpc);
24
+ return $rpc.signTypedData(signer, typedData, account);
24
25
  }
25
26
  $sig.signTypedData = signTypedData;
26
27
  async function sign(message, account, rpc) {
27
28
  if (account.key != null) {
28
29
  return await KeyUtils.withKey(account, account => $ec.sign(message, account));
29
30
  }
30
- return $rpc.sign(rpc, message, account);
31
+ let signer = await $rpc.ensureRpcSigner(account, rpc);
32
+ return $rpc.sign(signer, message, account);
31
33
  }
32
34
  $sig.sign = sign;
33
35
  async function signMessage(message, account, mix) {
34
36
  if (account.key != null) {
35
37
  return await KeyUtils.withKey(account, account => $ec.$eip191.signMessage(message, account));
36
38
  }
37
- let rpc = 'getRpc' in mix
38
- ? await mix.getRpc()
39
- : mix;
40
- return $rpc.signMessage(rpc, message, account);
39
+ let signer = await $rpc.ensureRpcSigner(account, mix);
40
+ return $rpc.signMessage(signer, message, account);
41
41
  }
42
42
  $sig.signMessage = signMessage;
43
43
  async function signTx(tx, account, rpc) {
44
44
  tx.from ??= account.address;
45
45
  if (_hex_1.$hex.isEmpty(account.key)) {
46
- _require_1.$require.notNull(rpc, `The account has no private key locally, and the RPC handler is not provided`);
47
- return $rpc.signTx(rpc, tx);
46
+ let signer = await $rpc.ensureRpcSigner(account, rpc);
47
+ return $rpc.signTx(signer, tx);
48
48
  }
49
49
  return await KeyUtils.withKey(account, account => $ec.signTx(tx, account));
50
50
  }
@@ -69,6 +69,15 @@ var $sig;
69
69
  $sig.recoverTx = recoverTx;
70
70
  let $rpc;
71
71
  (function ($rpc) {
72
+ async function ensureRpcSigner(account, mix) {
73
+ if (account.signer) {
74
+ return account.signer;
75
+ }
76
+ _require_1.$require.notNull(mix, `Rpc signer is not provided for ${account.address}`);
77
+ let rpc = 'getRpc' in mix ? await mix.getRpc() : mix;
78
+ return rpc;
79
+ }
80
+ $rpc.ensureRpcSigner = ensureRpcSigner;
72
81
  async function signTx(rpc, tx) {
73
82
  let body = {
74
83
  type: _hex_1.$hex.ensure(tx.type),
@@ -258,7 +267,7 @@ var $sig;
258
267
  let r = '0x' + signature.substring(2, 2 + 64);
259
268
  let s = '0x' + signature.substring(2 + 64, 2 + 64 + 64);
260
269
  let v = '0x' + signature.substring(2 + 64 + 64);
261
- return { r, s, v };
270
+ return { r, s, v, signature };
262
271
  }
263
272
  utils.splitSignature = splitSignature;
264
273
  function toUint8Array(message, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"$sig.js","sourceRoot":"","sources":["../../../src/utils/$sig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$sig.js","sourceRoot":"","sources":["../../../src/utils/$sig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EIP6963ProviderFactory = void 0;
7
+ const alot_1 = __importDefault(require("alot"));
8
+ const _address_1 = require("../utils/$address.js");
9
+ const _ref_1 = require("../utils/$ref.js");
10
+ const _require_1 = require("../utils/$require.js");
11
+ const atma_utils_1 = require("atma-utils");
12
+ class EIP6963ProviderFactory extends atma_utils_1.class_EventEmitter {
13
+ constructor() {
14
+ super();
15
+ this.listeners = {};
16
+ this.providers = [];
17
+ this.global = _ref_1.$ref.getGlobal();
18
+ this.onAnnounceProvider = this.onAnnounceProvider.bind(this);
19
+ this.listenToNewProvider();
20
+ this.requestProvider();
21
+ }
22
+ isConnected(address) {
23
+ let has = this.providers.some(x => {
24
+ return address != null
25
+ ? x.accounts?.some(account => _address_1.$address.eq(account, address))
26
+ : x.accounts?.length > 0;
27
+ });
28
+ return has;
29
+ }
30
+ async connect(id) {
31
+ let provider = this.getProviderOrFirst(id);
32
+ _require_1.$require.notNull(provider, `Wallet not found`);
33
+ this.selected = provider;
34
+ let accounts = await this.requestAccounts();
35
+ return accounts;
36
+ }
37
+ disconnect() {
38
+ let selected = this.selected;
39
+ this.selected = null;
40
+ this.emit('onAccountsDisconnected', selected);
41
+ }
42
+ useProvider(id) {
43
+ this.selected = this.getProvider(id);
44
+ }
45
+ getProviders() {
46
+ return this.providers;
47
+ }
48
+ async requestAccounts(id) {
49
+ let provider = await this.getProvider(id);
50
+ let accounts = await this.selected.provider.request({ method: 'eth_requestAccounts' });
51
+ if (accounts?.length > 0) {
52
+ let arr = [
53
+ ...(provider.accounts ?? []),
54
+ ...(accounts),
55
+ ]
56
+ .filter(Boolean)
57
+ .map(String);
58
+ provider.accounts = (0, alot_1.default)(arr).distinct().toArray();
59
+ this.emit('onAccountsConnected', provider, provider.accounts);
60
+ }
61
+ return provider.accounts;
62
+ }
63
+ requestProvider() {
64
+ if (typeof this.global.ethereum?.request === 'function') {
65
+ this.onAnnounceProvider({
66
+ detail: {
67
+ info: {
68
+ rdns: 'injected',
69
+ uuid: 'injected',
70
+ name: 'Browser Wallet'
71
+ },
72
+ provider: this.global.ethereum,
73
+ }
74
+ });
75
+ }
76
+ this.global.dispatchEvent(new CustomEvent('eip6963:requestProvider'));
77
+ }
78
+ listenToNewProvider() {
79
+ this.global.addEventListener('eip6963:announceProvider', this.onAnnounceProvider);
80
+ }
81
+ async onAnnounceProvider(event) {
82
+ let injectedProvider = this.providers.find(x => x.info?.rdns === 'injected');
83
+ if (injectedProvider) {
84
+ // Remove directly injected provider
85
+ this.providers = this.providers.filter(x => x.info?.rdns !== 'injected');
86
+ this.removeEventListeners(injectedProvider);
87
+ }
88
+ let { detail } = event;
89
+ let { info, provider } = detail;
90
+ if (this.providers.some(x => this.getId(x.info) === this.getId(info))) {
91
+ return;
92
+ }
93
+ let providerDetails = { info, provider, accounts: [] };
94
+ this.providers.push(providerDetails);
95
+ this.addEventListeners(providerDetails);
96
+ try {
97
+ const accounts = await provider.request({ method: 'eth_accounts' });
98
+ if (accounts?.length > 0) {
99
+ providerDetails.accounts = accounts;
100
+ this.emit('onAccountsConnected', providerDetails, accounts);
101
+ }
102
+ }
103
+ catch (error) {
104
+ // We load the accounts just in case if user has already connected previously, otherwise silently ignore the error
105
+ }
106
+ try {
107
+ const chainId = await provider.request({ method: 'eth_chainId' });
108
+ providerDetails.info.chainId = Number(chainId);
109
+ }
110
+ catch (error) {
111
+ // silently ignore the error
112
+ }
113
+ this.emit('onProviderRegistered', providerDetails);
114
+ }
115
+ getProviderOrFirst(id) {
116
+ if (id == null) {
117
+ return this.providers[0];
118
+ }
119
+ let provider = this.providers.find(x => this.getId(x.info) === id);
120
+ return provider;
121
+ }
122
+ getProvider(id, optional) {
123
+ if (id == null) {
124
+ optional !== true && _require_1.$require.notNull(this.selected, `Wallet is not connected`);
125
+ return this.selected;
126
+ }
127
+ let provider = this.providers.find(x => this.getId(x.info) === id);
128
+ optional !== true && _require_1.$require.notNull(provider, `Wallet is not found by ID ${id}`);
129
+ return provider;
130
+ }
131
+ getId(info) {
132
+ return info?.rdns ?? info?.name;
133
+ }
134
+ addEventListeners(providerDetails) {
135
+ let id = this.getId(providerDetails.info);
136
+ if (id in this.listeners) {
137
+ return;
138
+ }
139
+ const fns = {
140
+ accountsChanged: accounts => {
141
+ providerDetails.accounts = accounts;
142
+ this.emit('onAccountsChanged', providerDetails, accounts);
143
+ },
144
+ chainChanged: chainId => {
145
+ this.emit('onChainChanged', providerDetails, Number(chainId));
146
+ },
147
+ disconnect: () => {
148
+ this.emit('onAccountsDisconnected', providerDetails);
149
+ },
150
+ connect: (info) => {
151
+ this.emit('onProviderConnected', providerDetails, info.chainId);
152
+ },
153
+ };
154
+ let boundFnKey;
155
+ let provider = providerDetails.provider;
156
+ if (typeof provider.on === 'function') {
157
+ boundFnKey = 'on';
158
+ }
159
+ else if (typeof provider.addEventListener === 'function') {
160
+ boundFnKey = 'addEventListener';
161
+ }
162
+ if (boundFnKey == null) {
163
+ return;
164
+ }
165
+ for (let event in fns) {
166
+ provider[boundFnKey](event, fns[event]);
167
+ }
168
+ this.listeners[id] = fns;
169
+ }
170
+ removeEventListeners(providerDetails) {
171
+ let id = this.getId(providerDetails.info);
172
+ if (id in this.listeners === false) {
173
+ return;
174
+ }
175
+ let unboundFnKey;
176
+ let provider = providerDetails.provider;
177
+ if (typeof provider.removeListener === 'function') {
178
+ unboundFnKey = 'removeListener';
179
+ }
180
+ else if (typeof provider.removeEventListener === 'function') {
181
+ unboundFnKey = 'removeEventListener';
182
+ }
183
+ let fns = this.listeners[id];
184
+ for (let event in fns) {
185
+ provider[unboundFnKey](event, fns[event]);
186
+ }
187
+ delete this.listeners[id];
188
+ }
189
+ }
190
+ exports.EIP6963ProviderFactory = EIP6963ProviderFactory;
191
+ //# sourceMappingURL=EIP6963ProviderFactory.js.map
192
+ //# sourceMappingURL=EIP6963ProviderFactory.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EIP6963ProviderFactory.js","sourceRoot":"","sources":["../../../src/wallets/EIP6963ProviderFactory.ts"],"names":[],"mappings":"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"}