@haneullabs/codegen 0.1.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/CHANGELOG.md +128 -33
  2. package/README.md +35 -33
  3. package/dist/bin/bash-complete.d.mts +6 -0
  4. package/dist/bin/bash-complete.d.mts.map +1 -0
  5. package/dist/bin/bash-complete.mjs +29 -0
  6. package/dist/bin/bash-complete.mjs.map +1 -0
  7. package/dist/bin/cli.d.mts +1 -0
  8. package/dist/bin/cli.mjs +24 -0
  9. package/dist/bin/cli.mjs.map +1 -0
  10. package/dist/cli/cli.mjs +28 -0
  11. package/dist/cli/cli.mjs.map +1 -0
  12. package/dist/cli/commands/generate/command.mjs +90 -0
  13. package/dist/cli/commands/generate/command.mjs.map +1 -0
  14. package/dist/cli/commands/generate/impl.mjs +72 -0
  15. package/dist/cli/commands/generate/impl.mjs.map +1 -0
  16. package/dist/cli/context.mjs +17 -0
  17. package/dist/cli/context.mjs.map +1 -0
  18. package/dist/config.d.mts +106 -0
  19. package/dist/config.d.mts.map +1 -0
  20. package/dist/config.mjs +70 -0
  21. package/dist/config.mjs.map +1 -0
  22. package/dist/file-builder.mjs +65 -0
  23. package/dist/file-builder.mjs.map +1 -0
  24. package/dist/{esm/generate-utils.js → generate-utils.mjs} +95 -27
  25. package/dist/generate-utils.mjs.map +1 -0
  26. package/dist/index.d.mts +21 -0
  27. package/dist/index.d.mts.map +1 -0
  28. package/dist/index.mjs +80 -0
  29. package/dist/index.mjs.map +1 -0
  30. package/dist/move-module-builder.mjs +350 -0
  31. package/dist/move-module-builder.mjs.map +1 -0
  32. package/dist/render-types.mjs +207 -0
  33. package/dist/render-types.mjs.map +1 -0
  34. package/dist/utils.mjs +89 -0
  35. package/dist/utils.mjs.map +1 -0
  36. package/package.json +27 -28
  37. package/src/bin/bash-complete.ts +18 -7
  38. package/src/bin/cli.ts +3 -9
  39. package/src/cli/commands/generate/command.ts +32 -0
  40. package/src/cli/commands/generate/impl.ts +93 -5
  41. package/src/config.ts +55 -7
  42. package/src/file-builder.ts +14 -1
  43. package/src/generate-utils.ts +88 -18
  44. package/src/index.ts +89 -29
  45. package/src/move-module-builder.ts +181 -76
  46. package/src/render-types.ts +82 -29
  47. package/dist/cjs/bin/bash-complete.d.ts +0 -2
  48. package/dist/cjs/bin/bash-complete.js +0 -51
  49. package/dist/cjs/bin/bash-complete.js.map +0 -7
  50. package/dist/cjs/bin/cli.d.ts +0 -2
  51. package/dist/cjs/bin/cli.js +0 -34
  52. package/dist/cjs/bin/cli.js.map +0 -7
  53. package/dist/cjs/cli/cli.d.ts +0 -1
  54. package/dist/cjs/cli/cli.js +0 -49
  55. package/dist/cjs/cli/cli.js.map +0 -7
  56. package/dist/cjs/cli/commands/generate/command.d.ts +0 -1
  57. package/dist/cjs/cli/commands/generate/command.js +0 -80
  58. package/dist/cjs/cli/commands/generate/command.js.map +0 -7
  59. package/dist/cjs/cli/commands/generate/impl.d.ts +0 -8
  60. package/dist/cjs/cli/commands/generate/impl.js +0 -66
  61. package/dist/cjs/cli/commands/generate/impl.js.map +0 -7
  62. package/dist/cjs/cli/context.d.ts +0 -6
  63. package/dist/cjs/cli/context.js +0 -45
  64. package/dist/cjs/cli/context.js.map +0 -7
  65. package/dist/cjs/config.d.ts +0 -51
  66. package/dist/cjs/config.js +0 -75
  67. package/dist/cjs/config.js.map +0 -7
  68. package/dist/cjs/file-builder.d.ts +0 -13
  69. package/dist/cjs/file-builder.js +0 -83
  70. package/dist/cjs/file-builder.js.map +0 -7
  71. package/dist/cjs/generate-utils.d.ts +0 -1
  72. package/dist/cjs/generate-utils.js +0 -187
  73. package/dist/cjs/generate-utils.js.map +0 -7
  74. package/dist/cjs/index.d.ts +0 -8
  75. package/dist/cjs/index.js +0 -124
  76. package/dist/cjs/index.js.map +0 -7
  77. package/dist/cjs/move-module-builder.d.ts +0 -26
  78. package/dist/cjs/move-module-builder.js +0 -464
  79. package/dist/cjs/move-module-builder.js.map +0 -7
  80. package/dist/cjs/package.json +0 -5
  81. package/dist/cjs/render-types.d.ts +0 -19
  82. package/dist/cjs/render-types.js +0 -313
  83. package/dist/cjs/render-types.js.map +0 -7
  84. package/dist/cjs/summary.d.ts +0 -3
  85. package/dist/cjs/summary.js +0 -218
  86. package/dist/cjs/summary.js.map +0 -7
  87. package/dist/cjs/types/deserialized.d.ts +0 -89
  88. package/dist/cjs/types/deserialized.js +0 -17
  89. package/dist/cjs/types/deserialized.js.map +0 -7
  90. package/dist/cjs/types/summary.d.ts +0 -105
  91. package/dist/cjs/types/summary.js +0 -17
  92. package/dist/cjs/types/summary.js.map +0 -7
  93. package/dist/cjs/utils.d.ts +0 -22
  94. package/dist/cjs/utils.js +0 -164
  95. package/dist/cjs/utils.js.map +0 -7
  96. package/dist/esm/bin/bash-complete.d.ts +0 -2
  97. package/dist/esm/bin/bash-complete.js +0 -31
  98. package/dist/esm/bin/bash-complete.js.map +0 -7
  99. package/dist/esm/bin/cli.d.ts +0 -2
  100. package/dist/esm/bin/cli.js +0 -32
  101. package/dist/esm/bin/cli.js.map +0 -7
  102. package/dist/esm/cli/cli.d.ts +0 -1
  103. package/dist/esm/cli/cli.js +0 -29
  104. package/dist/esm/cli/cli.js.map +0 -7
  105. package/dist/esm/cli/commands/generate/command.d.ts +0 -1
  106. package/dist/esm/cli/commands/generate/command.js +0 -50
  107. package/dist/esm/cli/commands/generate/command.js.map +0 -7
  108. package/dist/esm/cli/commands/generate/impl.d.ts +0 -8
  109. package/dist/esm/cli/commands/generate/impl.js +0 -46
  110. package/dist/esm/cli/commands/generate/impl.js.map +0 -7
  111. package/dist/esm/cli/context.d.ts +0 -6
  112. package/dist/esm/cli/context.js +0 -15
  113. package/dist/esm/cli/context.js.map +0 -7
  114. package/dist/esm/config.d.ts +0 -51
  115. package/dist/esm/config.js +0 -45
  116. package/dist/esm/config.js.map +0 -7
  117. package/dist/esm/file-builder.d.ts +0 -13
  118. package/dist/esm/file-builder.js +0 -63
  119. package/dist/esm/file-builder.js.map +0 -7
  120. package/dist/esm/generate-utils.d.ts +0 -1
  121. package/dist/esm/generate-utils.js.map +0 -7
  122. package/dist/esm/index.d.ts +0 -8
  123. package/dist/esm/index.js +0 -104
  124. package/dist/esm/index.js.map +0 -7
  125. package/dist/esm/move-module-builder.d.ts +0 -26
  126. package/dist/esm/move-module-builder.js +0 -457
  127. package/dist/esm/move-module-builder.js.map +0 -7
  128. package/dist/esm/package.json +0 -5
  129. package/dist/esm/render-types.d.ts +0 -19
  130. package/dist/esm/render-types.js +0 -293
  131. package/dist/esm/render-types.js.map +0 -7
  132. package/dist/esm/summary.d.ts +0 -3
  133. package/dist/esm/summary.js +0 -198
  134. package/dist/esm/summary.js.map +0 -7
  135. package/dist/esm/types/deserialized.d.ts +0 -89
  136. package/dist/esm/types/deserialized.js +0 -1
  137. package/dist/esm/types/deserialized.js.map +0 -7
  138. package/dist/esm/types/summary.d.ts +0 -105
  139. package/dist/esm/types/summary.js +0 -1
  140. package/dist/esm/types/summary.js.map +0 -7
  141. package/dist/esm/utils.d.ts +0 -22
  142. package/dist/esm/utils.js +0 -134
  143. package/dist/esm/utils.js.map +0 -7
  144. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  145. package/dist/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,99 @@
1
- # @haneullabs/codegen
1
+ # @mysten/codegen
2
+
3
+ ## 0.8.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 3d53583: Improve typing of generated bcs tuples
8
+
9
+ ## 0.8.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 99d1e00: Add default export condition
14
+ - Updated dependencies [99d1e00]
15
+ - @mysten/bcs@2.0.2
16
+ - @mysten/sui@2.3.2
17
+
18
+ ## 0.8.0
19
+
20
+ ### Minor Changes
21
+
22
+ - fcbf952: - Fix phantom type parameter index mismatch when generating BCS types for structs with
23
+ phantom types followed by non-phantom types
24
+ - Include phantom type parameters in generated MoveStruct names (e.g., `Pair<T, phantom U>`
25
+ instead of just `Pair<T>`)
26
+ - Add `includePhantomTypeParameters` config option to generate BCS types that include phantom type
27
+ parameters as function arguments
28
+ - Remove invalid `--yes` flag from `sui move summary` CLI calls
29
+
30
+ ### Patch Changes
31
+
32
+ - Updated dependencies [724a13a]
33
+ - Updated dependencies [fcbf952]
34
+ - @mysten/sui@2.3.0
35
+
36
+ ## 0.7.0
37
+
38
+ ### Minor Changes
39
+
40
+ - 03d43fa: Add `generate` option to package config for controlling type and function generation.
41
+ Replaces the old `modules` and `include` package-level properties with a unified
42
+ `generate: { types, functions, modules }` structure. Add CLI flags `--modules`, `--noTypes`,
43
+ `--noFunctions`, and `--private` to override generation options from the command line.
44
+ - 6000f4e: Add flag --yes to sui move summary to not block CI pipelines
45
+
46
+ ### Patch Changes
47
+
48
+ - Updated dependencies [6125fbd]
49
+ - @mysten/sui@2.2.0
50
+
51
+ ## 0.6.0
52
+
53
+ ### Minor Changes
54
+
55
+ - e00788c: Add automatic import aliasing to resolve naming conflicts and configurable import
56
+ extensions.
57
+
58
+ **Import Conflict Resolution:** When Move contracts define structs, enums, or functions with names
59
+ that conflict with SDK imports (e.g., `Transaction`, `BcsType`, `bcs`, `MoveStruct`,
60
+ `normalizeMoveArguments`), the codegen now automatically aliases the SDK imports to avoid
61
+ TypeScript compilation errors while preserving the user's original type names.
62
+
63
+ **Import Extension Configuration:** Added `importExtension` option to control file extensions in
64
+ generated import statements:
65
+ - Config file: `importExtension: '.js' | '.ts' | ''`
66
+ - CLI: `--import-extension .js|.ts|none`
67
+
68
+ This allows compatibility with different bundler/runtime configurations:
69
+ - `.js` (default): ESM compatible for Node.js
70
+ - `.ts`: For Bun, Deno, or bundlers that handle .ts imports directly
71
+ - `''` (none): For bundlers that don't require extensions
72
+
73
+ - e00788c: Update to use SuiJsonRpcClient instead of SuiClient
74
+
75
+ Updated all type signatures, internal usages, examples, and documentation to use
76
+ `SuiJsonRpcClient` from `@mysten/sui/jsonRpc` instead of the deprecated `SuiClient` from
77
+ `@mysten/sui/client`.
78
+
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [e00788c]
82
+ - Updated dependencies [e00788c]
83
+ - Updated dependencies [e00788c]
84
+ - Updated dependencies [e00788c]
85
+ - Updated dependencies [e00788c]
86
+ - Updated dependencies [e00788c]
87
+ - Updated dependencies [e00788c]
88
+ - Updated dependencies [e00788c]
89
+ - Updated dependencies [e00788c]
90
+ - Updated dependencies [e00788c]
91
+ - Updated dependencies [e00788c]
92
+ - Updated dependencies [e00788c]
93
+ - Updated dependencies [e00788c]
94
+ - Updated dependencies [e00788c]
95
+ - @mysten/sui@2.0.0
96
+ - @mysten/bcs@2.0.0
2
97
 
3
98
  ## 0.5.13
4
99
 
@@ -16,14 +111,14 @@
16
111
  ### Patch Changes
17
112
 
18
113
  - Updated dependencies [29e8b92]
19
- - @haneullabs/haneul@1.45.2
114
+ - @mysten/sui@1.45.2
20
115
 
21
116
  ## 0.5.11
22
117
 
23
118
  ### Patch Changes
24
119
 
25
120
  - Updated dependencies [e3811f1]
26
- - @haneullabs/haneul@1.45.1
121
+ - @mysten/sui@1.45.1
27
122
 
28
123
  ## 0.5.10
29
124
 
@@ -37,30 +132,30 @@
37
132
  consistency with the privateMethods option added in version 0.5.0.
38
133
 
39
134
  - Updated dependencies [88bdbac]
40
- - @haneullabs/haneul@1.45.0
135
+ - @mysten/sui@1.45.0
41
136
 
42
137
  ## 0.5.9
43
138
 
44
139
  ### Patch Changes
45
140
 
46
141
  - Updated dependencies [44d9b4f]
47
- - @haneullabs/haneul@1.44.0
142
+ - @mysten/sui@1.44.0
48
143
 
49
144
  ## 0.5.8
50
145
 
51
146
  ### Patch Changes
52
147
 
53
148
  - Updated dependencies [89fa2dc]
54
- - @haneullabs/bcs@1.9.2
55
- - @haneullabs/haneul@1.43.2
149
+ - @mysten/bcs@1.9.2
150
+ - @mysten/sui@1.43.2
56
151
 
57
152
  ## 0.5.7
58
153
 
59
154
  ### Patch Changes
60
155
 
61
156
  - Updated dependencies [a37829f]
62
- - @haneullabs/bcs@1.9.1
63
- - @haneullabs/haneul@1.43.1
157
+ - @mysten/bcs@1.9.1
158
+ - @mysten/sui@1.43.1
64
159
 
65
160
  ## 0.5.6
66
161
 
@@ -69,15 +164,15 @@
69
164
  - Updated dependencies [f3b19a7]
70
165
  - Updated dependencies [f3b19a7]
71
166
  - Updated dependencies [bf9f85c]
72
- - @haneullabs/haneul@1.43.0
73
- - @haneullabs/bcs@1.9.0
167
+ - @mysten/sui@1.43.0
168
+ - @mysten/bcs@1.9.0
74
169
 
75
170
  ## 0.5.5
76
171
 
77
172
  ### Patch Changes
78
173
 
79
174
  - Updated dependencies [98c8a27]
80
- - @haneullabs/haneul@1.42.0
175
+ - @mysten/sui@1.42.0
81
176
 
82
177
  ## 0.5.4
83
178
 
@@ -86,22 +181,22 @@
86
181
  - Updated dependencies [a17c337]
87
182
  - Updated dependencies [d554cd2]
88
183
  - Updated dependencies [04fcfbc]
89
- - @haneullabs/bcs@1.8.1
90
- - @haneullabs/haneul@1.41.0
184
+ - @mysten/bcs@1.8.1
185
+ - @mysten/sui@1.41.0
91
186
 
92
187
  ## 0.5.3
93
188
 
94
189
  ### Patch Changes
95
190
 
96
191
  - Updated dependencies [f5fc0c0]
97
- - @haneullabs/haneul@1.40.0
192
+ - @mysten/sui@1.40.0
98
193
 
99
194
  ## 0.5.2
100
195
 
101
196
  ### Patch Changes
102
197
 
103
198
  - Updated dependencies [a9f9035]
104
- - @haneullabs/haneul@1.39.1
199
+ - @mysten/sui@1.39.1
105
200
 
106
201
  ## 0.5.1
107
202
 
@@ -110,7 +205,7 @@
110
205
  - 24e6b36: Optional struct generation should be bcs.option instead of bcs.vector
111
206
  - Updated dependencies [ca92487]
112
207
  - Updated dependencies [5ab3c0a]
113
- - @haneullabs/haneul@1.39.0
208
+ - @mysten/sui@1.39.0
114
209
 
115
210
  ## 0.5.0
116
211
 
@@ -124,8 +219,8 @@
124
219
 
125
220
  - Updated dependencies [3c1741f]
126
221
  - Updated dependencies [ea1ac70]
127
- - @haneullabs/haneul@1.38.0
128
- - @haneullabs/bcs@1.8.0
222
+ - @mysten/sui@1.38.0
223
+ - @mysten/bcs@1.8.0
129
224
 
130
225
  ## 0.4.5
131
226
 
@@ -134,35 +229,35 @@
134
229
  - 78bd0e9: Update codegen arg normalization for object args
135
230
  - Updated dependencies [c689b98]
136
231
  - Updated dependencies [5b9ff1a]
137
- - @haneullabs/haneul@1.37.6
232
+ - @mysten/sui@1.37.6
138
233
 
139
234
  ## 0.4.4
140
235
 
141
236
  ### Patch Changes
142
237
 
143
238
  - Updated dependencies [3980d04]
144
- - @haneullabs/haneul@1.37.5
239
+ - @mysten/sui@1.37.5
145
240
 
146
241
  ## 0.4.3
147
242
 
148
243
  ### Patch Changes
149
244
 
150
245
  - Updated dependencies [6b03e57]
151
- - @haneullabs/haneul@1.37.4
246
+ - @mysten/sui@1.37.4
152
247
 
153
248
  ## 0.4.2
154
249
 
155
250
  ### Patch Changes
156
251
 
157
252
  - Updated dependencies [8ff1471]
158
- - @haneullabs/haneul@1.37.3
253
+ - @mysten/sui@1.37.3
159
254
 
160
255
  ## 0.4.1
161
256
 
162
257
  ### Patch Changes
163
258
 
164
259
  - Updated dependencies [660377c]
165
- - @haneullabs/haneul@1.37.2
260
+ - @mysten/sui@1.37.2
166
261
 
167
262
  ## 0.4.0
168
263
 
@@ -183,29 +278,29 @@
183
278
  - Updated dependencies [33230ed]
184
279
  - Updated dependencies [33230ed]
185
280
  - Updated dependencies [33230ed]
186
- - @haneullabs/bcs@1.7.0
187
- - @haneullabs/haneul@1.37.1
281
+ - @mysten/bcs@1.7.0
282
+ - @mysten/sui@1.37.1
188
283
 
189
284
  ## 0.2.5
190
285
 
191
286
  ### Patch Changes
192
287
 
193
288
  - Updated dependencies [72168f0]
194
- - @haneullabs/haneul@1.37.0
289
+ - @mysten/sui@1.37.0
195
290
 
196
291
  ## 0.2.4
197
292
 
198
293
  ### Patch Changes
199
294
 
200
295
  - Updated dependencies [44354ab]
201
- - @haneullabs/haneul@1.36.2
296
+ - @mysten/sui@1.36.2
202
297
 
203
298
  ## 0.2.3
204
299
 
205
300
  ### Patch Changes
206
301
 
207
302
  - Updated dependencies [c76ddc5]
208
- - @haneullabs/haneul@1.36.1
303
+ - @mysten/sui@1.36.1
209
304
 
210
305
  ## 0.2.2
211
306
 
@@ -223,8 +318,8 @@
223
318
  - Updated dependencies [783bb9e]
224
319
  - Updated dependencies [783bb9e]
225
320
  - Updated dependencies [5cbbb21]
226
- - @haneullabs/bcs@1.6.4
227
- - @haneullabs/haneul@1.36.0
321
+ - @mysten/bcs@1.6.4
322
+ - @mysten/sui@1.36.0
228
323
 
229
324
  ## 0.2.0
230
325
 
@@ -240,7 +335,7 @@
240
335
  - 888afe6: Fix falsy args
241
336
  - 4ee5185: Add argument interfaces for move calls
242
337
  - Updated dependencies [888afe6]
243
- - @haneullabs/haneul@1.35.0
338
+ - @mysten/sui@1.35.0
244
339
 
245
340
  ## 0.1.0
246
341
 
@@ -256,4 +351,4 @@
256
351
  - c0560fe: Fix check for context arg
257
352
  - c0560fe: remove support for generating from bytecode
258
353
  - Updated dependencies [3fb7a83]
259
- - @haneullabs/haneul@1.34.0
354
+ - @mysten/sui@1.34.0
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Sui typescript codegen
1
+ # Haneul typescript codegen
2
2
 
3
3
  ⚠️ **Warning**: This package is currently in development and may have breaking changes.
4
4
 
@@ -10,7 +10,7 @@ To use this package you will need to install it from npm:
10
10
  pnpm install @haneullabs/codegen
11
11
  ```
12
12
 
13
- Then create a `sui-codegen.config.ts` to define what packages you want to generate code for:
13
+ Then create a `haneul-codegen.config.ts` to define what packages you want to generate code for:
14
14
 
15
15
  ```ts
16
16
  import type { SuiCodegenConfig } from './src/config.js';
@@ -31,8 +31,8 @@ export default config;
31
31
  ```
32
32
 
33
33
  The `package` field should be the MVR name for your move package. If you have not registered your
34
- package on MVR yet, you can use the `@local-pkg` scope, and set up an override in your `HaneulClient`
35
- to resolve it to the correct address.
34
+ package on MVR yet, you can use the `@local-pkg` scope, and set up an override in your
35
+ `SuiGrpcClient` to resolve it to the correct address.
36
36
 
37
37
  ## Generating code
38
38
 
@@ -40,19 +40,19 @@ To generate code, you will first need to create `package_summaries` for your pac
40
40
  this by running the following command in the root of you move package:
41
41
 
42
42
  ```bash
43
- sui move summary
43
+ haneul move summary
44
44
  ```
45
45
 
46
46
  this will create a new `package_summaries` directory (which can be added to `.gitignore`) for the
47
47
  codegen tool to analyze when generating code for your package.
48
48
 
49
- If you are having trouble with this command, ensure you are using the latest version of the sui cli
49
+ If you are having trouble with this command, ensure you are using the latest version of the haneul cli
50
50
  (version `1.51.1` or later).
51
51
 
52
52
  Now that you have the `package_summaries` you can generate you typescript code, by running
53
53
 
54
54
  ```bash
55
- pnpm sui-ts-codegen generate
55
+ pnpm haneul-ts-codegen generate
56
56
  ```
57
57
 
58
58
  or by adding something the following script to your package.json and running `pnpm codegen`
@@ -60,21 +60,23 @@ or by adding something the following script to your package.json and running `pn
60
60
  ```json
61
61
  {
62
62
  "scripts": {
63
- "codegen": "sui-ts-codegen generate"
63
+ "codegen": "haneul-ts-codegen generate"
64
64
  }
65
65
  }
66
66
  ```
67
67
 
68
- ## Setting up HaneulClient
68
+ ## Setting up Haneul Client with MVR
69
69
 
70
70
  If your package is registered on MVR, the generated code should work without additional
71
- configuration. If you are using a `@local-pkg` name, you will need to configure your `HaneulClient` to
72
- resolver the package name correctly:
71
+ configuration. If you are using a `@local-pkg` name, you will need to configure your `SuiGrpcClient`
72
+ to resolve the package name correctly:
73
73
 
74
74
  ```ts
75
- const client = new HaneulClient({
75
+ import { SuiGrpcClient } from '@haneullabs/haneul/grpc';
76
+
77
+ const client = new SuiGrpcClient({
76
78
  network: 'testnet',
77
- url: testnetRpcUrl,
79
+ baseUrl: 'https://fullnode.testnet.haneul.io:443',
78
80
  mvr: {
79
81
  overrides: {
80
82
  packages: {
@@ -85,39 +87,39 @@ const client = new HaneulClient({
85
87
  });
86
88
  ```
87
89
 
88
- If you are using `dapp-kit`, you may need to set up your network config and `HaneulClientProvider`:
90
+ If you are using `dapp-kit-core`, you can configure package overrides when creating your dApp Kit
91
+ instance:
89
92
 
90
93
  ```ts
91
- const { networkConfig, useNetworkVariable, useNetworkVariables } = createNetworkConfig({
94
+ import { createDAppKit } from '@haneullabs/dapp-kit-core';
95
+ import { SuiGrpcClient } from '@haneullabs/haneul/grpc';
96
+
97
+ const GRPC_URLS = {
98
+ testnet: 'https://fullnode.testnet.haneul.io:443',
99
+ };
100
+
101
+ const PACKAGE_IDS = {
92
102
  testnet: {
93
- url: getFullnodeUrl('testnet'),
94
- variables: {
95
- yourPackageId: YOUR_TESTNET_PACKAGE_ID,
96
- },
103
+ yourPackage: YOUR_TESTNET_PACKAGE_ID,
97
104
  },
98
- });
99
- ```
105
+ };
100
106
 
101
- ```tsx
102
- <HaneulClientProvider
103
- networks={networkConfig}
104
- defaultNetwork="testnet"
105
- createClient={(network, config) => {
106
- return new HaneulClient({
107
+ const dAppKit = createDAppKit({
108
+ networks: ['testnet'],
109
+ createClient: (network) => {
110
+ return new SuiGrpcClient({
107
111
  network,
108
- url: config.url,
112
+ baseUrl: GRPC_URLS[network],
109
113
  mvr: {
110
114
  overrides: {
111
115
  packages: {
112
- '@local-pkg/your-package': config.variables.yourPackageId,
116
+ '@local-pkg/your-package': PACKAGE_IDS[network].yourPackage,
113
117
  },
114
118
  },
115
119
  },
116
120
  });
117
- }}
118
- >
119
- <App />
120
- </HaneulClientProvider>
121
+ },
122
+ });
121
123
  ```
122
124
 
123
125
  ## Calling Move Functions
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ //#region src/bin/bash-complete.d.ts
3
+ declare function main(): Promise<void>;
4
+ //#endregion
5
+ export { main };
6
+ //# sourceMappingURL=bash-complete.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash-complete.d.mts","names":[],"sources":["../../src/bin/bash-complete.ts"],"sourcesContent":[],"mappings":";;iBAqBsB,IAAA,CAAA,GAAI"}
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env node
2
+ import { buildContext } from "../cli/context.mjs";
3
+ import { buildCli } from "../cli/cli.mjs";
4
+ import { readFile } from "node:fs/promises";
5
+ import { resolve } from "node:path";
6
+ import { proposeCompletions } from "@stricli/core";
7
+
8
+ //#region src/bin/bash-complete.ts
9
+ async function getVersion() {
10
+ const dirname = import.meta.dirname;
11
+ const packageJsonPath = resolve(dirname, dirname.endsWith("src/bin") ? "../../package.json" : "../../package.json");
12
+ return JSON.parse(await readFile(packageJsonPath, "utf-8")).version;
13
+ }
14
+ async function main() {
15
+ const cli = buildCli(await getVersion());
16
+ const inputs = process.argv.slice(3);
17
+ if (process.env["COMP_LINE"]?.endsWith(" ")) inputs.push("");
18
+ try {
19
+ for (const { completion } of await proposeCompletions(cli, inputs, buildContext(process))) process.stdout.write(`${completion}\n`);
20
+ } catch {}
21
+ }
22
+ main().then(() => process.exit(0), (error) => {
23
+ console.error(error);
24
+ process.exit(1);
25
+ });
26
+
27
+ //#endregion
28
+ export { main };
29
+ //# sourceMappingURL=bash-complete.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash-complete.mjs","names":[],"sources":["../../src/bin/bash-complete.ts"],"sourcesContent":["#!/usr/bin/env node\n// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { proposeCompletions } from '@stricli/core';\nimport { readFile } from 'node:fs/promises';\nimport { resolve } from 'node:path';\nimport { buildContext } from '../cli/context.js';\nimport { buildCli } from '../cli/cli.js';\n\nasync function getVersion() {\n\t// @ts-ignore\n\tconst dirname = import.meta.dirname;\n\tconst packageJsonPath = resolve(\n\t\tdirname,\n\t\tdirname.endsWith('src/bin') ? '../../package.json' : '../../package.json',\n\t);\n\tconst packageJson: { version: string } = JSON.parse(await readFile(packageJsonPath, 'utf-8'));\n\treturn packageJson.version;\n}\n\nexport async function main() {\n\tconst version = await getVersion();\n\tconst cli = buildCli(version);\n\n\tconst inputs = process.argv.slice(3);\n\tif (process.env['COMP_LINE']?.endsWith(' ')) {\n\t\tinputs.push('');\n\t}\n\n\ttry {\n\t\tfor (const { completion } of await proposeCompletions(cli, inputs, buildContext(process))) {\n\t\t\tprocess.stdout.write(`${completion}\\n`);\n\t\t}\n\t} catch {\n\t\t// ignore\n\t}\n}\n\nmain().then(\n\t() => process.exit(0),\n\t(error) => {\n\t\tconsole.error(error);\n\t\tprocess.exit(1);\n\t},\n);\n"],"mappings":";;;;;;;;AAUA,eAAe,aAAa;CAE3B,MAAM,UAAU,OAAO,KAAK;CAC5B,MAAM,kBAAkB,QACvB,SACA,QAAQ,SAAS,UAAU,GAAG,uBAAuB,qBACrD;AAED,QADyC,KAAK,MAAM,MAAM,SAAS,iBAAiB,QAAQ,CAAC,CAC1E;;AAGpB,eAAsB,OAAO;CAE5B,MAAM,MAAM,SADI,MAAM,YAAY,CACL;CAE7B,MAAM,SAAS,QAAQ,KAAK,MAAM,EAAE;AACpC,KAAI,QAAQ,IAAI,cAAc,SAAS,IAAI,CAC1C,QAAO,KAAK,GAAG;AAGhB,KAAI;AACH,OAAK,MAAM,EAAE,gBAAgB,MAAM,mBAAmB,KAAK,QAAQ,aAAa,QAAQ,CAAC,CACxF,SAAQ,OAAO,MAAM,GAAG,WAAW,IAAI;SAEjC;;AAKT,MAAM,CAAC,WACA,QAAQ,KAAK,EAAE,GACpB,UAAU;AACV,SAAQ,MAAM,MAAM;AACpB,SAAQ,KAAK,EAAE;EAEhB"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ import { buildContext } from "../cli/context.mjs";
3
+ import { buildCli } from "../cli/cli.mjs";
4
+ import { readFile } from "node:fs/promises";
5
+ import { resolve } from "node:path";
6
+ import { run } from "@stricli/core";
7
+
8
+ //#region src/bin/cli.ts
9
+ async function getVersion() {
10
+ const dirname = import.meta.dirname;
11
+ const packageJsonPath = resolve(dirname, dirname.endsWith("src/bin") ? "../../package.json" : "../../package.json");
12
+ return JSON.parse(await readFile(packageJsonPath, "utf-8")).version;
13
+ }
14
+ async function main() {
15
+ await run(buildCli(await getVersion()), process.argv.slice(2), buildContext(process));
16
+ }
17
+ main().then(() => process.exit(0), (error) => {
18
+ console.error(error);
19
+ process.exit(1);
20
+ });
21
+
22
+ //#endregion
23
+ export { };
24
+ //# sourceMappingURL=cli.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.mjs","names":[],"sources":["../../src/bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { run } from '@stricli/core';\nimport { buildContext } from '../cli/context.js';\nimport { buildCli } from '../cli/cli.js';\nimport { readFile } from 'node:fs/promises';\nimport { resolve } from 'node:path';\n\nasync function getVersion() {\n\t// @ts-ignore\n\tconst dirname = import.meta.dirname;\n\n\tconst packageJsonPath = resolve(\n\t\tdirname,\n\t\tdirname.endsWith('src/bin') ? '../../package.json' : '../../package.json',\n\t);\n\tconst packageJson: { version: string } = JSON.parse(await readFile(packageJsonPath, 'utf-8'));\n\treturn packageJson.version;\n}\n\nasync function main() {\n\tconst version = await getVersion();\n\tawait run(buildCli(version), process.argv.slice(2), buildContext(process));\n}\n\nmain().then(\n\t() => process.exit(0),\n\t(error) => {\n\t\tconsole.error(error);\n\t\tprocess.exit(1);\n\t},\n);\n"],"mappings":";;;;;;;;AAUA,eAAe,aAAa;CAE3B,MAAM,UAAU,OAAO,KAAK;CAE5B,MAAM,kBAAkB,QACvB,SACA,QAAQ,SAAS,UAAU,GAAG,uBAAuB,qBACrD;AAED,QADyC,KAAK,MAAM,MAAM,SAAS,iBAAiB,QAAQ,CAAC,CAC1E;;AAGpB,eAAe,OAAO;AAErB,OAAM,IAAI,SADM,MAAM,YAAY,CACP,EAAE,QAAQ,KAAK,MAAM,EAAE,EAAE,aAAa,QAAQ,CAAC;;AAG3E,MAAM,CAAC,WACA,QAAQ,KAAK,EAAE,GACpB,UAAU;AACV,SAAQ,MAAM,MAAM;AACpB,SAAQ,KAAK,EAAE;EAEhB"}
@@ -0,0 +1,28 @@
1
+ import { generateCommand } from "./commands/generate/command.mjs";
2
+ import { buildApplication, buildRouteMap } from "@stricli/core";
3
+ import { buildInstallCommand, buildUninstallCommand } from "@stricli/auto-complete";
4
+
5
+ //#region src/cli/cli.ts
6
+ function buildCli(version) {
7
+ return buildApplication(buildRouteMap({
8
+ routes: {
9
+ generate: generateCommand,
10
+ install: buildInstallCommand("haneul-ts-codegen", { bash: "__haneul-ts-codegen_bash_complete" }),
11
+ uninstall: buildUninstallCommand("haneul-ts-codegen", { bash: true })
12
+ },
13
+ docs: {
14
+ brief: "Generate TypeScript bindings for your Move code",
15
+ hideRoute: {
16
+ install: true,
17
+ uninstall: true
18
+ }
19
+ }
20
+ }), {
21
+ name: "haneul-ts-codegen",
22
+ versionInfo: { currentVersion: version }
23
+ });
24
+ }
25
+
26
+ //#endregion
27
+ export { buildCli };
28
+ //# sourceMappingURL=cli.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.mjs","names":[],"sources":["../../src/cli/cli.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { buildApplication, buildRouteMap } from '@stricli/core';\nimport { buildInstallCommand, buildUninstallCommand } from '@stricli/auto-complete';\nimport { generateCommand } from './commands/generate/command.js';\n\nexport function buildCli(version: string) {\n\tconst routes = buildRouteMap({\n\t\troutes: {\n\t\t\tgenerate: generateCommand,\n\t\t\tinstall: buildInstallCommand('haneul-ts-codegen', { bash: '__haneul-ts-codegen_bash_complete' }),\n\t\t\tuninstall: buildUninstallCommand('haneul-ts-codegen', { bash: true }),\n\t\t},\n\t\tdocs: {\n\t\t\tbrief: 'Generate TypeScript bindings for your Move code',\n\t\t\thideRoute: {\n\t\t\t\tinstall: true,\n\t\t\t\tuninstall: true,\n\t\t\t},\n\t\t},\n\t});\n\n\treturn buildApplication(routes, {\n\t\tname: 'haneul-ts-codegen',\n\t\tversionInfo: {\n\t\t\tcurrentVersion: version,\n\t\t},\n\t});\n}\n"],"mappings":";;;;;AAMA,SAAgB,SAAS,SAAiB;AAgBzC,QAAO,iBAfQ,cAAc;EAC5B,QAAQ;GACP,UAAU;GACV,SAAS,oBAAoB,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;GAChG,WAAW,sBAAsB,qBAAqB,EAAE,MAAM,MAAM,CAAC;GACrE;EACD,MAAM;GACL,OAAO;GACP,WAAW;IACV,SAAS;IACT,WAAW;IACX;GACD;EACD,CAAC,EAE8B;EAC/B,MAAM;EACN,aAAa,EACZ,gBAAgB,SAChB;EACD,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { buildCommand } from "@stricli/core";
2
+
3
+ //#region src/cli/commands/generate/command.ts
4
+ const generateCommand = buildCommand({
5
+ loader: async () => (await import("./impl.mjs")).default,
6
+ parameters: {
7
+ positional: {
8
+ kind: "array",
9
+ parameter: {
10
+ parse: String,
11
+ brief: "package name, mvr name, or path to a move package"
12
+ }
13
+ },
14
+ flags: {
15
+ outputDir: {
16
+ kind: "parsed",
17
+ parse: String,
18
+ brief: "Output directory",
19
+ optional: true
20
+ },
21
+ noPrune: {
22
+ kind: "parsed",
23
+ parse: Boolean,
24
+ optional: true,
25
+ brief: "generate all types and functions in dependencies"
26
+ },
27
+ noSummaries: {
28
+ kind: "parsed",
29
+ parse: Boolean,
30
+ optional: true,
31
+ brief: "Do not generate summaries for packages"
32
+ },
33
+ network: {
34
+ kind: "enum",
35
+ values: ["mainnet", "testnet"],
36
+ optional: true,
37
+ brief: "Network to generate for (default: testnet)"
38
+ },
39
+ importExtension: {
40
+ kind: "enum",
41
+ values: [
42
+ ".js",
43
+ ".ts",
44
+ "none"
45
+ ],
46
+ optional: true,
47
+ brief: "File extension for import statements (default: .js)"
48
+ },
49
+ modules: {
50
+ kind: "parsed",
51
+ parse: String,
52
+ optional: true,
53
+ variadic: ",",
54
+ brief: "Only generate from these modules (comma-separated)"
55
+ },
56
+ noTypes: {
57
+ kind: "parsed",
58
+ parse: Boolean,
59
+ optional: true,
60
+ brief: "Skip type generation"
61
+ },
62
+ noFunctions: {
63
+ kind: "parsed",
64
+ parse: Boolean,
65
+ optional: true,
66
+ brief: "Skip function generation"
67
+ },
68
+ private: {
69
+ kind: "enum",
70
+ values: [
71
+ "none",
72
+ "entry",
73
+ "all"
74
+ ],
75
+ optional: true,
76
+ brief: "Which private functions to generate (default: entry)"
77
+ }
78
+ },
79
+ aliases: {
80
+ o: "outputDir",
81
+ n: "network",
82
+ m: "modules"
83
+ }
84
+ },
85
+ docs: { brief: "Generate BCS and moveCall helpers from you Move code" }
86
+ });
87
+
88
+ //#endregion
89
+ export { generateCommand };
90
+ //# sourceMappingURL=command.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.mjs","names":[],"sources":["../../../../src/cli/commands/generate/command.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { buildCommand } from '@stricli/core';\n\nexport const generateCommand = buildCommand({\n\tloader: async () => (await import('./impl.js')).default,\n\tparameters: {\n\t\tpositional: {\n\t\t\tkind: 'array',\n\t\t\tparameter: {\n\t\t\t\tparse: String,\n\t\t\t\tbrief: 'package name, mvr name, or path to a move package',\n\t\t\t},\n\t\t},\n\t\tflags: {\n\t\t\toutputDir: {\n\t\t\t\tkind: 'parsed',\n\t\t\t\tparse: String,\n\t\t\t\tbrief: 'Output directory',\n\t\t\t\toptional: true,\n\t\t\t},\n\t\t\tnoPrune: {\n\t\t\t\tkind: 'parsed',\n\t\t\t\tparse: Boolean,\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'generate all types and functions in dependencies',\n\t\t\t},\n\t\t\tnoSummaries: {\n\t\t\t\tkind: 'parsed',\n\t\t\t\tparse: Boolean,\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'Do not generate summaries for packages',\n\t\t\t},\n\t\t\tnetwork: {\n\t\t\t\tkind: 'enum',\n\t\t\t\tvalues: ['mainnet', 'testnet'],\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'Network to generate for (default: testnet)',\n\t\t\t},\n\t\t\timportExtension: {\n\t\t\t\tkind: 'enum',\n\t\t\t\tvalues: ['.js', '.ts', 'none'],\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'File extension for import statements (default: .js)',\n\t\t\t},\n\t\t\tmodules: {\n\t\t\t\tkind: 'parsed',\n\t\t\t\tparse: String,\n\t\t\t\toptional: true,\n\t\t\t\tvariadic: ',',\n\t\t\t\tbrief: 'Only generate from these modules (comma-separated)',\n\t\t\t},\n\t\t\tnoTypes: {\n\t\t\t\tkind: 'parsed',\n\t\t\t\tparse: Boolean,\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'Skip type generation',\n\t\t\t},\n\t\t\tnoFunctions: {\n\t\t\t\tkind: 'parsed',\n\t\t\t\tparse: Boolean,\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'Skip function generation',\n\t\t\t},\n\t\t\tprivate: {\n\t\t\t\tkind: 'enum',\n\t\t\t\tvalues: ['none', 'entry', 'all'],\n\t\t\t\toptional: true,\n\t\t\t\tbrief: 'Which private functions to generate (default: entry)',\n\t\t\t},\n\t\t},\n\t\taliases: {\n\t\t\to: 'outputDir',\n\t\t\tn: 'network',\n\t\t\tm: 'modules',\n\t\t},\n\t},\n\tdocs: {\n\t\tbrief: 'Generate BCS and moveCall helpers from you Move code',\n\t},\n});\n"],"mappings":";;;AAKA,MAAa,kBAAkB,aAAa;CAC3C,QAAQ,aAAa,MAAM,OAAO,eAAc;CAChD,YAAY;EACX,YAAY;GACX,MAAM;GACN,WAAW;IACV,OAAO;IACP,OAAO;IACP;GACD;EACD,OAAO;GACN,WAAW;IACV,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV;GACD,SAAS;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP;GACD,aAAa;IACZ,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP;GACD,SAAS;IACR,MAAM;IACN,QAAQ,CAAC,WAAW,UAAU;IAC9B,UAAU;IACV,OAAO;IACP;GACD,iBAAiB;IAChB,MAAM;IACN,QAAQ;KAAC;KAAO;KAAO;KAAO;IAC9B,UAAU;IACV,OAAO;IACP;GACD,SAAS;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,UAAU;IACV,OAAO;IACP;GACD,SAAS;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP;GACD,aAAa;IACZ,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP;GACD,SAAS;IACR,MAAM;IACN,QAAQ;KAAC;KAAQ;KAAS;KAAM;IAChC,UAAU;IACV,OAAO;IACP;GACD;EACD,SAAS;GACR,GAAG;GACH,GAAG;GACH,GAAG;GACH;EACD;CACD,MAAM,EACL,OAAO,wDACP;CACD,CAAC"}