@alephium/web3 3.0.0-test.3 → 3.0.0-test.5

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 (129) hide show
  1. package/MIGRATION.md +157 -0
  2. package/README.md +4 -0
  3. package/dist/_cjs/index.d.ts +11 -11
  4. package/dist/_cjs/index.js +11 -11
  5. package/dist/_cjs/index.js.map +1 -1
  6. package/dist/_esm/address/address.d.ts +2 -2
  7. package/dist/_esm/address/address.js +9 -9
  8. package/dist/_esm/address/index.d.ts +1 -1
  9. package/dist/_esm/address/index.js +1 -1
  10. package/dist/_esm/api/api-alephium.js +1 -1
  11. package/dist/_esm/api/api-explorer.js +1 -1
  12. package/dist/_esm/api/explorer-provider.d.ts +2 -2
  13. package/dist/_esm/api/explorer-provider.js +2 -2
  14. package/dist/_esm/api/index.d.ts +6 -6
  15. package/dist/_esm/api/index.js +6 -6
  16. package/dist/_esm/api/node-provider.d.ts +4 -4
  17. package/dist/_esm/api/node-provider.js +4 -4
  18. package/dist/_esm/api/types.d.ts +1 -1
  19. package/dist/_esm/api/types.js +6 -6
  20. package/dist/_esm/api/utils.d.ts +1 -1
  21. package/dist/_esm/block/block.d.ts +3 -3
  22. package/dist/_esm/block/block.js +3 -3
  23. package/dist/_esm/block/index.d.ts +2 -2
  24. package/dist/_esm/block/index.js +1 -1
  25. package/dist/_esm/codec/array-codec.d.ts +2 -2
  26. package/dist/_esm/codec/array-codec.js +3 -3
  27. package/dist/_esm/codec/asset-output-codec.d.ts +6 -6
  28. package/dist/_esm/codec/asset-output-codec.js +10 -10
  29. package/dist/_esm/codec/bytestring-codec.d.ts +3 -3
  30. package/dist/_esm/codec/bytestring-codec.js +4 -4
  31. package/dist/_esm/codec/checksum-codec.d.ts +2 -2
  32. package/dist/_esm/codec/checksum-codec.js +4 -4
  33. package/dist/_esm/codec/codec.d.ts +1 -1
  34. package/dist/_esm/codec/codec.js +2 -2
  35. package/dist/_esm/codec/compact-int-codec.d.ts +2 -2
  36. package/dist/_esm/codec/compact-int-codec.js +2 -2
  37. package/dist/_esm/codec/contract-codec.d.ts +3 -3
  38. package/dist/_esm/codec/contract-codec.js +5 -5
  39. package/dist/_esm/codec/contract-output-codec.d.ts +4 -4
  40. package/dist/_esm/codec/contract-output-codec.js +8 -8
  41. package/dist/_esm/codec/contract-output-ref-codec.d.ts +2 -2
  42. package/dist/_esm/codec/contract-output-ref-codec.js +3 -3
  43. package/dist/_esm/codec/either-codec.d.ts +1 -1
  44. package/dist/_esm/codec/either-codec.js +1 -1
  45. package/dist/_esm/codec/index.d.ts +24 -24
  46. package/dist/_esm/codec/index.js +24 -24
  47. package/dist/_esm/codec/input-codec.d.ts +4 -4
  48. package/dist/_esm/codec/input-codec.js +5 -5
  49. package/dist/_esm/codec/instr-codec.d.ts +5 -5
  50. package/dist/_esm/codec/instr-codec.js +6 -6
  51. package/dist/_esm/codec/int-as-4bytes-codec.d.ts +2 -2
  52. package/dist/_esm/codec/int-as-4bytes-codec.js +1 -1
  53. package/dist/_esm/codec/lockup-script-codec.d.ts +4 -4
  54. package/dist/_esm/codec/lockup-script-codec.js +5 -5
  55. package/dist/_esm/codec/method-codec.d.ts +4 -4
  56. package/dist/_esm/codec/method-codec.js +5 -5
  57. package/dist/_esm/codec/option-codec.d.ts +1 -1
  58. package/dist/_esm/codec/option-codec.js +1 -1
  59. package/dist/_esm/codec/output-codec.d.ts +5 -5
  60. package/dist/_esm/codec/output-codec.js +4 -4
  61. package/dist/_esm/codec/public-key-like-codec.d.ts +2 -2
  62. package/dist/_esm/codec/public-key-like-codec.js +2 -2
  63. package/dist/_esm/codec/script-codec.d.ts +4 -4
  64. package/dist/_esm/codec/script-codec.js +3 -3
  65. package/dist/_esm/codec/signature-codec.d.ts +2 -2
  66. package/dist/_esm/codec/signature-codec.js +2 -2
  67. package/dist/_esm/codec/timestamp-codec.d.ts +2 -2
  68. package/dist/_esm/codec/timestamp-codec.js +2 -2
  69. package/dist/_esm/codec/token-codec.d.ts +2 -2
  70. package/dist/_esm/codec/token-codec.js +3 -3
  71. package/dist/_esm/codec/transaction-codec.d.ts +6 -6
  72. package/dist/_esm/codec/transaction-codec.js +8 -8
  73. package/dist/_esm/codec/unlock-script-codec.d.ts +4 -4
  74. package/dist/_esm/codec/unlock-script-codec.js +6 -6
  75. package/dist/_esm/codec/unsigned-tx-codec.d.ts +6 -6
  76. package/dist/_esm/codec/unsigned-tx-codec.js +7 -7
  77. package/dist/_esm/codec/val.d.ts +4 -4
  78. package/dist/_esm/codec/val.js +5 -5
  79. package/dist/_esm/contract/contract.d.ts +6 -6
  80. package/dist/_esm/contract/contract.js +10 -10
  81. package/dist/_esm/contract/dapp-tx-builder.d.ts +4 -4
  82. package/dist/_esm/contract/dapp-tx-builder.js +7 -7
  83. package/dist/_esm/contract/deployment.d.ts +2 -2
  84. package/dist/_esm/contract/events.d.ts +2 -2
  85. package/dist/_esm/contract/events.js +2 -2
  86. package/dist/_esm/contract/index.d.ts +6 -6
  87. package/dist/_esm/contract/index.js +6 -6
  88. package/dist/_esm/contract/ralph.d.ts +3 -3
  89. package/dist/_esm/contract/ralph.js +6 -6
  90. package/dist/_esm/contract/script-simulator.d.ts +4 -4
  91. package/dist/_esm/contract/script-simulator.js +5 -5
  92. package/dist/_esm/exchange/exchange.d.ts +3 -3
  93. package/dist/_esm/exchange/exchange.js +5 -5
  94. package/dist/_esm/exchange/index.d.ts +2 -2
  95. package/dist/_esm/exchange/index.js +1 -1
  96. package/dist/_esm/global.d.ts +2 -2
  97. package/dist/_esm/global.js +1 -1
  98. package/dist/_esm/index.d.ts +15 -15
  99. package/dist/_esm/index.js +15 -15
  100. package/dist/_esm/index.js.map +1 -1
  101. package/dist/_esm/signer/index.d.ts +3 -3
  102. package/dist/_esm/signer/index.js +3 -3
  103. package/dist/_esm/signer/signer.d.ts +3 -3
  104. package/dist/_esm/signer/signer.js +5 -5
  105. package/dist/_esm/signer/tx-builder.d.ts +2 -2
  106. package/dist/_esm/signer/tx-builder.js +10 -10
  107. package/dist/_esm/signer/types.d.ts +4 -4
  108. package/dist/_esm/signer/types.js +1 -1
  109. package/dist/_esm/token/index.d.ts +1 -1
  110. package/dist/_esm/token/index.js +1 -1
  111. package/dist/_esm/token/nft.d.ts +1 -1
  112. package/dist/_esm/token/nft.js +1 -1
  113. package/dist/_esm/transaction/index.d.ts +3 -3
  114. package/dist/_esm/transaction/index.js +3 -3
  115. package/dist/_esm/transaction/sign-verify.d.ts +1 -1
  116. package/dist/_esm/transaction/sign-verify.js +1 -1
  117. package/dist/_esm/transaction/status.d.ts +2 -2
  118. package/dist/_esm/transaction/status.js +2 -2
  119. package/dist/_esm/transaction/utils.d.ts +2 -2
  120. package/dist/_esm/transaction/utils.js +4 -4
  121. package/dist/_esm/utils/bs58.js +1 -1
  122. package/dist/_esm/utils/index.d.ts +7 -7
  123. package/dist/_esm/utils/index.js +7 -7
  124. package/dist/_esm/utils/number.d.ts +1 -1
  125. package/dist/_esm/utils/sign.d.ts +1 -1
  126. package/dist/_esm/utils/sign.js +1 -1
  127. package/dist/_esm/utils/utils.js +1 -1
  128. package/package.json +3 -2
  129. package/src/index.ts +11 -11
package/MIGRATION.md ADDED
@@ -0,0 +1,157 @@
1
+ # Migrating from v2 to v3
2
+
3
+ ## Breaking Changes
4
+
5
+ ### Node.js >= 20 required
6
+
7
+ The minimum Node.js version is now 20 (was 14). Node 18 is EOL since April 2025.
8
+
9
+ ### Deep imports removed
10
+
11
+ Internal `dist/` paths are no longer accessible. Use the new sub-path exports:
12
+
13
+ ```ts
14
+ // ❌ v2
15
+ import { FungibleTokenMetadata } from '@alephium/web3/dist/src/api/api-explorer'
16
+ import { Transaction } from '@alephium/web3/dist/src/api/api-alephium'
17
+
18
+ // ✅ v3
19
+ import { FungibleTokenMetadata } from '@alephium/web3/api/explorer'
20
+ import { Transaction } from '@alephium/web3/api/node'
21
+ ```
22
+
23
+ All types and functions from the main entry point (`import { ... } from '@alephium/web3'`) continue to work unchanged.
24
+
25
+ ### `BigInt.prototype.toJSON` monkey-patch removed
26
+
27
+ v2 globally mutated `BigInt.prototype.toJSON` on import, so `JSON.stringify` could handle BigInt values. v3 removes this side effect.
28
+
29
+ If your code relies on `JSON.stringify` working with BigInt values, use the `stringify` utility exported from the SDK:
30
+
31
+ ```ts
32
+ // ❌ v2 — worked because of the global monkey-patch
33
+ JSON.stringify({ amount: 1000n })
34
+
35
+ // ✅ v3 — use the stringify utility
36
+ import { stringify } from '@alephium/web3'
37
+ stringify({ amount: 1000n })
38
+ ```
39
+
40
+ `stringify` is a drop-in replacement for `JSON.stringify` that converts BigInt values to strings via a replacer function.
41
+
42
+ ### `password-crypto` removed from `@alephium/web3-wallet`
43
+
44
+ The `encrypt` and `decrypt` functions have been removed. If you were using them, you can implement equivalent functionality using the Web Crypto API or a library like `@metamask/browser-passworder`.
45
+
46
+ ### `publicKeyFromPrivateKey` accepts `Uint8Array`
47
+
48
+ The function now accepts `string | Uint8Array` for the private key parameter. This is backward compatible — existing string-based code continues to work. Passing `Uint8Array` allows secure memory cleanup after use.
49
+
50
+ ### ESM output structure changed
51
+
52
+ The package now emits dual CJS/ESM output:
53
+ - CJS: `dist/_cjs/` (with `{"type": "commonjs"}`)
54
+ - ESM: `dist/_esm/` (with `{"type": "module"}`)
55
+
56
+ If you were referencing `dist/src/` paths directly, update to use the `exports` entry points or the new sub-path exports.
57
+
58
+ ---
59
+
60
+ ## Dependencies Removed
61
+
62
+ These dependencies are no longer shipped with `@alephium/web3`. If your project depended on them being available transitively, you may need to install them directly:
63
+
64
+ | Removed | Replaced by |
65
+ |---|---|
66
+ | `elliptic` | `@noble/secp256k1`, `@noble/curves` |
67
+ | `bn.js` | Native `BigInt` |
68
+ | `blakejs` | `@noble/hashes/blake2b` |
69
+ | `crypto-browserify` | `globalThis.crypto` (native in Node 20+, browsers) |
70
+ | `stream-browserify` | Removed (not needed) |
71
+ | `path-browserify` | Removed (not needed) |
72
+ | `cross-fetch` | Native `fetch` (Node 20+, browsers) |
73
+
74
+ For `@alephium/web3-wallet`:
75
+
76
+ | Removed | Replaced by |
77
+ |---|---|
78
+ | `elliptic` | `@noble/secp256k1` |
79
+ | `bip32` | `@scure/bip32` |
80
+ | `bip39` | `@scure/bip39` |
81
+ | `buffer` | Not needed (Uint8Array throughout) |
82
+ | `fs-extra` | Removed (unused) |
83
+
84
+ ---
85
+
86
+ ## Polyfill Plugins No Longer Needed
87
+
88
+ If your project uses `vite-plugin-node-polyfills`, `rollup-plugin-node-polyfills`, or similar plugins solely for `@alephium/web3`, you can remove them. The SDK no longer requires Node.js polyfills in browser environments.
89
+
90
+ ```diff
91
+ // vite.config.ts
92
+ - import { nodePolyfills } from 'vite-plugin-node-polyfills'
93
+
94
+ export default defineConfig({
95
+ - plugins: [nodePolyfills()],
96
+ })
97
+ ```
98
+
99
+ ---
100
+
101
+ ## React Native / Expo
102
+
103
+ ### Simplified setup
104
+
105
+ v2 required up to 12 workarounds for React Native. v3 requires only 2 (plus pnpm-specific config):
106
+
107
+ **1. `react-native-get-random-values`**
108
+
109
+ Install and load before any `@alephium/web3` import:
110
+
111
+ ```ts
112
+ // Entry point (index.ts)
113
+ require('react-native-get-random-values')
114
+ ```
115
+
116
+ **2. Empty `fs` shim**
117
+
118
+ `contract.ts` contains a dynamic `import('fs')` that Metro resolves statically. Create an empty shim:
119
+
120
+ ```js
121
+ // shims/fs.js
122
+ module.exports = {}
123
+ ```
124
+
125
+ Add to `metro.config.js`:
126
+
127
+ ```js
128
+ config.resolver.extraNodeModules = {
129
+ ...config.resolver.extraNodeModules,
130
+ fs: path.resolve(__dirname, 'shims/fs.js')
131
+ }
132
+ ```
133
+
134
+ **pnpm users:** Add `node-linker=hoisted` to `.npmrc` (Metro is incompatible with pnpm's strict symlink layout).
135
+
136
+ ### What you can remove
137
+
138
+ The following are no longer needed for `@alephium/web3` (they may still be needed by other dependencies):
139
+
140
+ - `buffer` / `Buffer` polyfill
141
+ - `crypto-browserify` / `react-native-quick-crypto` (for web3 — may still be needed by WalletConnect)
142
+ - `stream-browserify` / `readable-stream`
143
+ - `path-browserify`
144
+ - `events`
145
+ - `process`
146
+ - Custom Metro resolver for UMD bundle
147
+ - `expo-dev-client` (if only needed for `react-native-quick-crypto`)
148
+
149
+ **v3 works with Expo Go** — no dev build required for the Alephium SDK itself.
150
+
151
+ ---
152
+
153
+ ## TypeScript
154
+
155
+ The SDK is now built with TypeScript 5.9 and uses `moduleResolution: "bundler"` internally. Consumers using `moduleResolution: "node"` (the default) are supported via the `typesVersions` field — no changes needed on your side.
156
+
157
+ If you upgrade your own project to `moduleResolution: "bundler"`, the `exports` field in `package.json` will be used for type resolution, which is more accurate.
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  The core package for building decentralized applications on Alephium.
4
4
 
5
+ ## Migrating from v2
6
+
7
+ See [MIGRATION.md](MIGRATION.md) for a complete guide to upgrading from v2 to v3, including breaking changes, removed dependencies, and React Native setup.
8
+
5
9
  ## Build
6
10
 
7
11
  This package uses a tsc dual-build to produce dual CJS/ESM output with proper type declarations. See the [monorepo README](../../README.md#build-system) for details on the build system, flags, and exports configuration.
@@ -1,15 +1,15 @@
1
- export * from './api';
2
- export * from './contract';
3
- export * from './signer';
4
- export * from './utils';
5
- export * from './transaction';
6
- export * from './token';
1
+ export * from './api/index';
2
+ export * from './contract/index';
3
+ export * from './signer/index';
4
+ export * from './utils/index';
5
+ export * from './transaction/index';
6
+ export * from './token/index';
7
7
  export * from './constants';
8
8
  export * as web3 from './global';
9
- export * as codec from './codec';
10
- export * as utils from './utils';
9
+ export * as codec from './codec/index';
10
+ export * as utils from './utils/index';
11
11
  export * from './debug';
12
- export * from './block';
13
- export * from './address';
14
- export * from './exchange';
12
+ export * from './block/index';
13
+ export * from './address/index';
14
+ export * from './exchange/index';
15
15
  export * from './error';
@@ -37,19 +37,19 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.utils = exports.codec = exports.web3 = void 0;
40
- __exportStar(require("./api"), exports);
41
- __exportStar(require("./contract"), exports);
42
- __exportStar(require("./signer"), exports);
43
- __exportStar(require("./utils"), exports);
44
- __exportStar(require("./transaction"), exports);
45
- __exportStar(require("./token"), exports);
40
+ __exportStar(require("./api/index"), exports);
41
+ __exportStar(require("./contract/index"), exports);
42
+ __exportStar(require("./signer/index"), exports);
43
+ __exportStar(require("./utils/index"), exports);
44
+ __exportStar(require("./transaction/index"), exports);
45
+ __exportStar(require("./token/index"), exports);
46
46
  __exportStar(require("./constants"), exports);
47
47
  exports.web3 = __importStar(require("./global"));
48
- exports.codec = __importStar(require("./codec"));
49
- exports.utils = __importStar(require("./utils"));
48
+ exports.codec = __importStar(require("./codec/index"));
49
+ exports.utils = __importStar(require("./utils/index"));
50
50
  __exportStar(require("./debug"), exports);
51
- __exportStar(require("./block"), exports);
52
- __exportStar(require("./address"), exports);
53
- __exportStar(require("./exchange"), exports);
51
+ __exportStar(require("./block/index"), exports);
52
+ __exportStar(require("./address/index"), exports);
53
+ __exportStar(require("./exchange/index"), exports);
54
54
  __exportStar(require("./error"), exports);
55
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,wCAAqB;AACrB,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB;AACvB,gDAA6B;AAC7B,0CAAuB;AAEvB,8CAA2B;AAC3B,iDAAgC;AAChC,iDAAgC;AAChC,iDAAgC;AAChC,0CAAuB;AACvB,0CAAuB;AACvB,4CAAyB;AACzB,6CAA0B;AAC1B,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,8CAA2B;AAC3B,mDAAgC;AAChC,iDAA8B;AAC9B,gDAA6B;AAC7B,sDAAmC;AACnC,gDAA6B;AAE7B,8CAA2B;AAC3B,iDAAgC;AAChC,uDAAsC;AACtC,uDAAsC;AACtC,0CAAuB;AACvB,gDAA6B;AAC7B,kDAA+B;AAC/B,mDAAgC;AAChC,0CAAuB"}
@@ -1,5 +1,5 @@
1
- import { KeyType } from '../signer';
2
- import { LockupScript } from '../codec/lockup-script-codec';
1
+ import { KeyType } from '../signer/index.js';
2
+ import { LockupScript } from '../codec/lockup-script-codec.js';
3
3
  export declare enum AddressType {
4
4
  P2PKH = 0,
5
5
  P2MPKH = 1,
@@ -1,16 +1,16 @@
1
1
  import * as secp from '@noble/secp256k1';
2
2
  import { p256 } from '@noble/curves/p256';
3
3
  import { ed25519 } from '@noble/curves/ed25519';
4
- import { TOTAL_NUMBER_OF_GROUPS } from '../constants';
4
+ import { TOTAL_NUMBER_OF_GROUPS } from '../constants.js';
5
5
  import { blake2b } from '@noble/hashes/blake2b';
6
- import bs58, { base58ToBytes } from '../utils/bs58';
7
- import { binToHex, concatBytes, hexToBinUnsafe, isHexString, xorByte } from '../utils';
8
- import { lockupScriptCodec } from '../codec/lockup-script-codec';
9
- import { i32Codec } from '../codec';
10
- import djb2 from '../utils/djb2';
11
- import { TraceableError } from '../error';
12
- import { byteCodec } from '../codec/codec';
13
- import { safePublicKeyLikeCodec } from '../codec/public-key-like-codec';
6
+ import bs58, { base58ToBytes } from '../utils/bs58.js';
7
+ import { binToHex, concatBytes, hexToBinUnsafe, isHexString, xorByte } from '../utils/index.js';
8
+ import { lockupScriptCodec } from '../codec/lockup-script-codec.js';
9
+ import { i32Codec } from '../codec/index.js';
10
+ import djb2 from '../utils/djb2.js';
11
+ import { TraceableError } from '../error.js';
12
+ import { byteCodec } from '../codec/codec.js';
13
+ import { safePublicKeyLikeCodec } from '../codec/public-key-like-codec.js';
14
14
  const PublicKeyHashSize = 32;
15
15
  export var AddressType;
16
16
  (function (AddressType) {
@@ -1 +1 @@
1
- export * from './address';
1
+ export * from './address.js';
@@ -1,2 +1,2 @@
1
- export * from './address';
1
+ export * from './address.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { convertHttpResponse, stringify } from './utils';
1
+ import { convertHttpResponse, stringify } from './utils.js';
2
2
  export var ContentType;
3
3
  (function (ContentType) {
4
4
  ContentType["Json"] = "application/json";
@@ -54,7 +54,7 @@ export var Currencies;
54
54
  Currencies["Thb"] = "thb";
55
55
  Currencies["Cny"] = "cny";
56
56
  })(Currencies || (Currencies = {}));
57
- import { convertHttpResponse, stringify } from './utils';
57
+ import { convertHttpResponse, stringify } from './utils.js';
58
58
  export var ContentType;
59
59
  (function (ContentType) {
60
60
  ContentType["Json"] = "application/json";
@@ -1,5 +1,5 @@
1
- import { ApiRequestArguments, ApiRequestHandler } from './types';
2
- import { Api as ExplorerApi } from './api-explorer';
1
+ import { ApiRequestArguments, ApiRequestHandler } from './types.js';
2
+ import { Api as ExplorerApi } from './api-explorer.js';
3
3
  export declare class ExplorerProvider {
4
4
  readonly blocks: ExplorerApi<string>['blocks'];
5
5
  readonly transactions: ExplorerApi<string>['transactions'];
@@ -1,5 +1,5 @@
1
- import { forwardRequests, request } from './types';
2
- import { Api as ExplorerApi } from './api-explorer';
1
+ import { forwardRequests, request } from './types.js';
2
+ import { Api as ExplorerApi } from './api-explorer.js';
3
3
  function initializeExplorerApi(baseUrl, apiKey, customFetch) {
4
4
  const explorerApi = new ExplorerApi({
5
5
  baseUrl: baseUrl,
@@ -1,6 +1,6 @@
1
- export * from './node-provider';
2
- export * from './explorer-provider';
3
- export * as node from './api-alephium';
4
- export * as explorer from './api-explorer';
5
- export * from './types';
6
- export * from './utils';
1
+ export * from './node-provider.js';
2
+ export * from './explorer-provider.js';
3
+ export * as node from './api-alephium.js';
4
+ export * as explorer from './api-explorer.js';
5
+ export * from './types.js';
6
+ export * from './utils.js';
@@ -1,7 +1,7 @@
1
- export * from './node-provider';
2
- export * from './explorer-provider';
3
- export * as node from './api-alephium';
4
- export * as explorer from './api-explorer';
5
- export * from './types';
6
- export * from './utils';
1
+ export * from './node-provider.js';
2
+ export * from './explorer-provider.js';
3
+ export * as node from './api-alephium.js';
4
+ export * as explorer from './api-explorer.js';
5
+ export * from './types.js';
6
+ export * from './utils.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
- import { ApiRequestArguments, ApiRequestHandler, FungibleTokenMetaData, NFTMetaData, NFTCollectionMetaData } from './types';
2
- import { Api as NodeApi } from './api-alephium';
3
- import { HexString } from '../utils';
4
- import * as node from '../api/api-alephium';
1
+ import { ApiRequestArguments, ApiRequestHandler, FungibleTokenMetaData, NFTMetaData, NFTCollectionMetaData } from './types.js';
2
+ import { Api as NodeApi } from './api-alephium.js';
3
+ import { HexString } from '../utils/index.js';
4
+ import * as node from '../api/api-alephium.js';
5
5
  interface NodeProviderApis {
6
6
  wallets: NodeApi<string>['wallets'];
7
7
  infos: NodeApi<string>['infos'];
@@ -1,7 +1,7 @@
1
- import { forwardRequests, request, StdInterfaceIds, requestWithLog } from './types';
2
- import { Api as NodeApi } from './api-alephium';
3
- import { hexToString, isHexString, toNonNegativeBigInt } from '../utils';
4
- import { addressFromContractId, addressFromTokenId, groupOfAddress } from '../address';
1
+ import { forwardRequests, request, StdInterfaceIds, requestWithLog } from './types.js';
2
+ import { Api as NodeApi } from './api-alephium.js';
3
+ import { hexToString, isHexString, toNonNegativeBigInt } from '../utils/index.js';
4
+ import { addressFromContractId, addressFromTokenId, groupOfAddress } from '../address/index.js';
5
5
  function initializeNodeApi(baseUrl, apiKey, customFetch) {
6
6
  const nodeApi = new NodeApi({
7
7
  baseUrl: baseUrl,
@@ -1,4 +1,4 @@
1
- import * as node from './api-alephium';
1
+ import * as node from './api-alephium.js';
2
2
  export type Number256 = bigint | string;
3
3
  export type Val = Number256 | boolean | string | Val[] | ValObject | Map<Val, Val>;
4
4
  export interface ValObject extends Record<string, Val> {
@@ -1,9 +1,9 @@
1
- import { hasExplicitGroupIndex } from '../address';
2
- import { ZERO_ADDRESS } from '../constants';
3
- import { isDebugModeEnabled } from '../debug';
4
- import { TraceableError } from '../error';
5
- import { assertType, base58ToBytes, binToHex, isBase58, isHexString } from '../utils';
6
- import { stringify } from './utils';
1
+ import { hasExplicitGroupIndex } from '../address/index.js';
2
+ import { ZERO_ADDRESS } from '../constants.js';
3
+ import { isDebugModeEnabled } from '../debug.js';
4
+ import { TraceableError } from '../error.js';
5
+ import { assertType, base58ToBytes, binToHex, isBase58, isHexString } from '../utils/index.js';
6
+ import { stringify } from './utils.js';
7
7
  export const PrimitiveTypes = ['U256', 'I256', 'Bool', 'ByteVec', 'Address'];
8
8
  assertType;
9
9
  export function toApiToken(token) {
@@ -1,4 +1,4 @@
1
- import * as node from '../api/api-alephium';
1
+ import * as node from '../api/api-alephium.js';
2
2
  export declare function convertHttpResponse<T>(response: {
3
3
  status: number;
4
4
  data: T;
@@ -1,6 +1,6 @@
1
- import { Subscription, SubscribeOptions } from '../utils/subscription';
2
- import * as node from '../api/api-alephium';
3
- import { NodeProvider } from '../api';
1
+ import { Subscription, SubscribeOptions } from '../utils/subscription.js';
2
+ import * as node from '../api/api-alephium.js';
3
+ import { NodeProvider } from '../api/index.js';
4
4
  export type ReorgCallback = (fromGroup: number, toGroup: number, orphanBlocks: node.BlockEntry[], newBlocks: node.BlockEntry[]) => Promise<void> | void;
5
5
  export interface BlockSubscribeOptions extends SubscribeOptions<node.BlockEntry[]> {
6
6
  reorgCallback?: ReorgCallback;
@@ -1,6 +1,6 @@
1
- import { Subscription } from '../utils/subscription';
2
- import * as web3 from '../global';
3
- import { TOTAL_NUMBER_OF_CHAINS } from '../constants';
1
+ import { Subscription } from '../utils/subscription.js';
2
+ import * as web3 from '../global.js';
3
+ import { TOTAL_NUMBER_OF_CHAINS } from '../constants.js';
4
4
  const DEFAULT_INTERVAL = 60 * 1000;
5
5
  const EXPIRE_DURATION = 20 * 1000;
6
6
  export class BlockSubscriptionBase extends Subscription {
@@ -1,2 +1,2 @@
1
- export type { ReorgCallback, BlockSubscribeOptions } from './block';
2
- export { BlockSubscription } from './block';
1
+ export type { ReorgCallback, BlockSubscribeOptions } from './block.js';
2
+ export { BlockSubscription } from './block.js';
@@ -1,2 +1,2 @@
1
- export { BlockSubscription } from './block';
1
+ export { BlockSubscription } from './block.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { Codec } from './codec';
2
- import { Reader } from './reader';
1
+ import { Codec } from './codec.js';
2
+ import { Reader } from './reader.js';
3
3
  export declare class ArrayCodec<T> extends Codec<T[]> {
4
4
  private childCodec;
5
5
  constructor(childCodec: Codec<T>);
@@ -1,6 +1,6 @@
1
- import { i32Codec } from './compact-int-codec';
2
- import { Codec } from './codec';
3
- import { concatBytes } from '../utils';
1
+ import { i32Codec } from './compact-int-codec.js';
2
+ import { Codec } from './codec.js';
3
+ import { concatBytes } from '../utils/index.js';
4
4
  export class ArrayCodec extends Codec {
5
5
  constructor(childCodec) {
6
6
  super();
@@ -1,9 +1,9 @@
1
- import { ArrayCodec } from './array-codec';
2
- import { ByteString } from './bytestring-codec';
3
- import { LockupScript } from './lockup-script-codec';
4
- import { FixedAssetOutput } from '../api/api-alephium';
5
- import { ObjectCodec } from './codec';
6
- import { Token } from './token-codec';
1
+ import { ArrayCodec } from './array-codec.js';
2
+ import { ByteString } from './bytestring-codec.js';
3
+ import { LockupScript } from './lockup-script-codec.js';
4
+ import { FixedAssetOutput } from '../api/api-alephium.js';
5
+ import { ObjectCodec } from './codec.js';
6
+ import { Token } from './token-codec.js';
7
7
  export interface AssetOutput {
8
8
  amount: bigint;
9
9
  lockupScript: LockupScript;
@@ -1,13 +1,13 @@
1
- import { ArrayCodec } from './array-codec';
2
- import { u256Codec } from './compact-int-codec';
3
- import { intAs4BytesCodec } from './int-as-4bytes-codec';
4
- import { timestampCodec } from './timestamp-codec';
5
- import { byteStringCodec } from './bytestring-codec';
6
- import { lockupScriptCodec } from './lockup-script-codec';
7
- import { blakeHash, createHint } from './hash';
8
- import { bs58, binToHex, hexToBinUnsafe, concatBytes } from '../utils';
9
- import { ObjectCodec } from './codec';
10
- import { tokensCodec } from './token-codec';
1
+ import { ArrayCodec } from './array-codec.js';
2
+ import { u256Codec } from './compact-int-codec.js';
3
+ import { intAs4BytesCodec } from './int-as-4bytes-codec.js';
4
+ import { timestampCodec } from './timestamp-codec.js';
5
+ import { byteStringCodec } from './bytestring-codec.js';
6
+ import { lockupScriptCodec } from './lockup-script-codec.js';
7
+ import { blakeHash, createHint } from './hash.js';
8
+ import { bs58, binToHex, hexToBinUnsafe, concatBytes } from '../utils/index.js';
9
+ import { ObjectCodec } from './codec.js';
10
+ import { tokensCodec } from './token-codec.js';
11
11
  export class AssetOutputCodec extends ObjectCodec {
12
12
  static toFixedAssetOutputs(txIdBytes, outputs) {
13
13
  return outputs.map((output, index) => AssetOutputCodec.toFixedAssetOutput(txIdBytes, output, index));
@@ -1,6 +1,6 @@
1
- import { Codec } from './codec';
2
- import { Reader } from './reader';
3
- import { ArrayCodec } from './array-codec';
1
+ import { Codec } from './codec.js';
2
+ import { Reader } from './reader.js';
3
+ import { ArrayCodec } from './array-codec.js';
4
4
  export type ByteString = Uint8Array;
5
5
  export declare class ByteStringCodec extends Codec<ByteString> {
6
6
  encode(input: ByteString): Uint8Array;
@@ -1,7 +1,7 @@
1
- import { i32Codec } from './compact-int-codec';
2
- import { Codec } from './codec';
3
- import { concatBytes } from '../utils';
4
- import { ArrayCodec } from './array-codec';
1
+ import { i32Codec } from './compact-int-codec.js';
2
+ import { Codec } from './codec.js';
3
+ import { concatBytes } from '../utils/index.js';
4
+ import { ArrayCodec } from './array-codec.js';
5
5
  export class ByteStringCodec extends Codec {
6
6
  encode(input) {
7
7
  return concatBytes([i32Codec.encode(input.length), input]);
@@ -1,5 +1,5 @@
1
- import { Reader } from './reader';
2
- import { Codec } from './codec';
1
+ import { Reader } from './reader.js';
2
+ import { Codec } from './codec.js';
3
3
  export declare class Checksum<T> extends Codec<T> {
4
4
  private rawCodec;
5
5
  constructor(rawCodec: Codec<T>);
@@ -1,7 +1,7 @@
1
- import { concatBytes } from '../utils';
2
- import djb2 from '../utils/djb2';
3
- import { intAs4BytesCodec } from './int-as-4bytes-codec';
4
- import { Codec } from './codec';
1
+ import { concatBytes } from '../utils/index.js';
2
+ import djb2 from '../utils/djb2.js';
3
+ import { intAs4BytesCodec } from './int-as-4bytes-codec.js';
4
+ import { Codec } from './codec.js';
5
5
  export class Checksum extends Codec {
6
6
  constructor(rawCodec) {
7
7
  super();
@@ -1,4 +1,4 @@
1
- import { Reader } from './reader';
1
+ import { Reader } from './reader.js';
2
2
  export declare abstract class Codec<T> {
3
3
  abstract encode(input: T): Uint8Array;
4
4
  decode(input: Uint8Array): T;
@@ -1,5 +1,5 @@
1
- import { concatBytes } from '../utils';
2
- import { Reader } from './reader';
1
+ import { concatBytes } from '../utils/index.js';
2
+ import { Reader } from './reader.js';
3
3
  export class Codec {
4
4
  decode(input) {
5
5
  const reader = new Reader(input);
@@ -1,5 +1,5 @@
1
- import { Codec } from './codec';
2
- import { Reader } from './reader';
1
+ import { Codec } from './codec.js';
2
+ import { Reader } from './reader.js';
3
3
  type FixedWidthMode = {
4
4
  type: 'SingleByte' | 'TwoByte' | 'FourByte';
5
5
  prefix: number;
@@ -1,5 +1,5 @@
1
- import { Codec, assert } from './codec';
2
- import { BigIntCodec } from './bigint-codec';
1
+ import { Codec, assert } from './codec.js';
2
+ import { BigIntCodec } from './bigint-codec.js';
3
3
  const maskRest = 0xc0;
4
4
  const maskMode = 0x3f;
5
5
  const maskModeNeg = 0xffffffc0;
@@ -1,6 +1,6 @@
1
- import { Codec } from './codec';
2
- import { Method } from './method-codec';
3
- import { Reader } from './reader';
1
+ import { Codec } from './codec.js';
2
+ import { Method } from './method-codec.js';
3
+ import { Reader } from './reader.js';
4
4
  export interface HalfDecodedContract {
5
5
  fieldLength: number;
6
6
  methodIndexes: number[];
@@ -1,8 +1,8 @@
1
- import { ArrayCodec } from './array-codec';
2
- import { Codec } from './codec';
3
- import { i32Codec } from './compact-int-codec';
4
- import { methodCodec } from './method-codec';
5
- import { concatBytes } from '../utils';
1
+ import { ArrayCodec } from './array-codec.js';
2
+ import { Codec } from './codec.js';
3
+ import { i32Codec } from './compact-int-codec.js';
4
+ import { methodCodec } from './method-codec.js';
5
+ import { concatBytes } from '../utils/index.js';
6
6
  const i32sCodec = new ArrayCodec(i32Codec);
7
7
  export class ContractCodec extends Codec {
8
8
  encode(input) {
@@ -1,7 +1,7 @@
1
- import { P2C } from './lockup-script-codec';
2
- import { ObjectCodec } from './codec';
3
- import { Token } from './token-codec';
4
- import { ContractOutput as ApiContractOutput } from '../api/api-alephium';
1
+ import { P2C } from './lockup-script-codec.js';
2
+ import { ObjectCodec } from './codec.js';
3
+ import { Token } from './token-codec.js';
4
+ import { ContractOutput as ApiContractOutput } from '../api/api-alephium.js';
5
5
  export interface ContractOutput {
6
6
  amount: bigint;
7
7
  lockupScript: P2C;