@typemove/sui 1.13.5-rc.2 → 2.0.0-rc.1

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 (86) hide show
  1. package/Readme.md +19 -17
  2. package/dist/esm/codegen/run.js +8 -9
  3. package/package.json +4 -4
  4. package/dist/esm/builtin/0x1.d.ts +0 -1030
  5. package/dist/esm/builtin/0x1.d.ts.map +0 -1
  6. package/dist/esm/builtin/0x1.js +0 -6379
  7. package/dist/esm/builtin/0x1.js.map +0 -1
  8. package/dist/esm/builtin/0x2.d.ts +0 -4788
  9. package/dist/esm/builtin/0x2.d.ts.map +0 -1
  10. package/dist/esm/builtin/0x2.js +0 -19505
  11. package/dist/esm/builtin/0x2.js.map +0 -1
  12. package/dist/esm/builtin/0x3.d.ts +0 -1964
  13. package/dist/esm/builtin/0x3.d.ts.map +0 -1
  14. package/dist/esm/builtin/0x3.js +0 -6231
  15. package/dist/esm/builtin/0x3.js.map +0 -1
  16. package/dist/esm/builtin/index.d.ts +0 -4
  17. package/dist/esm/builtin/index.d.ts.map +0 -1
  18. package/dist/esm/builtin/index.js +0 -7
  19. package/dist/esm/builtin/index.js.map +0 -1
  20. package/dist/esm/codegen/codegen.d.ts +0 -20
  21. package/dist/esm/codegen/codegen.d.ts.map +0 -1
  22. package/dist/esm/codegen/codegen.js +0 -245
  23. package/dist/esm/codegen/codegen.js.map +0 -1
  24. package/dist/esm/codegen/index.d.ts +0 -2
  25. package/dist/esm/codegen/index.d.ts.map +0 -1
  26. package/dist/esm/codegen/index.js +0 -2
  27. package/dist/esm/codegen/index.js.map +0 -1
  28. package/dist/esm/codegen/run.d.ts +0 -3
  29. package/dist/esm/codegen/run.d.ts.map +0 -1
  30. package/dist/esm/codegen/run.js.map +0 -1
  31. package/dist/esm/index.d.ts +0 -4
  32. package/dist/esm/index.d.ts.map +0 -1
  33. package/dist/esm/index.js +0 -4
  34. package/dist/esm/index.js.map +0 -1
  35. package/dist/esm/models.d.ts +0 -18
  36. package/dist/esm/models.d.ts.map +0 -1
  37. package/dist/esm/models.js +0 -2
  38. package/dist/esm/models.js.map +0 -1
  39. package/dist/esm/move-coder.d.ts +0 -26
  40. package/dist/esm/move-coder.d.ts.map +0 -1
  41. package/dist/esm/move-coder.js +0 -266
  42. package/dist/esm/move-coder.js.map +0 -1
  43. package/dist/esm/move-coder.test.d.ts +0 -2
  44. package/dist/esm/move-coder.test.d.ts.map +0 -1
  45. package/dist/esm/move-coder.test.js.map +0 -1
  46. package/dist/esm/sui-chain-adapter.d.ts +0 -16
  47. package/dist/esm/sui-chain-adapter.d.ts.map +0 -1
  48. package/dist/esm/sui-chain-adapter.js +0 -95
  49. package/dist/esm/sui-chain-adapter.js.map +0 -1
  50. package/dist/esm/to-internal.d.ts +0 -4
  51. package/dist/esm/to-internal.d.ts.map +0 -1
  52. package/dist/esm/to-internal.js +0 -96
  53. package/dist/esm/to-internal.js.map +0 -1
  54. package/dist/esm/transaction.d.ts +0 -15
  55. package/dist/esm/transaction.d.ts.map +0 -1
  56. package/dist/esm/transaction.js +0 -83
  57. package/dist/esm/transaction.js.map +0 -1
  58. package/src/abis/0x1.json +0 -6047
  59. package/src/abis/0x2.json +0 -31413
  60. package/src/abis/0x3.json +0 -10832
  61. package/src/builtin/0x1.ts +0 -9007
  62. package/src/builtin/0x2.ts +0 -28899
  63. package/src/builtin/0x3.ts +0 -9789
  64. package/src/builtin/index.ts +0 -6
  65. package/src/codegen/codegen.ts +0 -288
  66. package/src/codegen/index.ts +0 -1
  67. package/src/codegen/run.ts +0 -58
  68. package/src/index.ts +0 -4
  69. package/src/models.ts +0 -21
  70. package/src/move-coder.ts +0 -313
  71. package/src/sui-chain-adapter.ts +0 -121
  72. package/src/tests/abis/testnet/0x1e2b124f746a339b3cf99b9f969393a96594519aafb1d06517aacfeeae20e7a5.json +0 -265
  73. package/src/tests/abis/testnet/0x6c4a21e3e7e6b6d51c4604021633e1d97e24e37a696f8c082cd48f37503e602a.json +0 -2429
  74. package/src/tests/abis/testnet/0x7f7a37c826c88bcfe9aecc042453395ddfa9df6f29cb7c97590bf86cf2b0a75e.json +0 -1356
  75. package/src/tests/abis/testnet/0xdee9.json +0 -5523
  76. package/src/tests/abis/testnet/0xebaa2ad3eacc230f309cd933958cc52684df0a41ae7ac214d186b80f830867d2.json +0 -10060
  77. package/src/tests/abis/testnet/enum.json +0 -5941
  78. package/src/tests/types/testnet/0x1e2b124f746a339b3cf99b9f969393a96594519aafb1d06517aacfeeae20e7a5.ts +0 -288
  79. package/src/tests/types/testnet/0x6c4a21e3e7e6b6d51c4604021633e1d97e24e37a696f8c082cd48f37503e602a.ts +0 -2468
  80. package/src/tests/types/testnet/0x7f7a37c826c88bcfe9aecc042453395ddfa9df6f29cb7c97590bf86cf2b0a75e.ts +0 -1371
  81. package/src/tests/types/testnet/0xdee9.ts +0 -4472
  82. package/src/tests/types/testnet/0xebaa2ad3eacc230f309cd933958cc52684df0a41ae7ac214d186b80f830867d2.ts +0 -9495
  83. package/src/tests/types/testnet/enum.ts +0 -5404
  84. package/src/tests/types/testnet/index.ts +0 -9
  85. package/src/to-internal.ts +0 -127
  86. package/src/transaction.ts +0 -127
package/Readme.md CHANGED
@@ -77,29 +77,29 @@ export interface DeliveryInfo {
77
77
 
78
78
  let deliveryInfo: DeliveryInfo | undefined =
79
79
  // @ts-ignore
80
- data.content.fields.info.fields.delivery_info
80
+ data.json.info.delivery_info
81
81
  ? {
82
82
  // @ts-ignore
83
- round: data.content.fields.info.fields.delivery_info.fields.round,
83
+ round: data.json.info.delivery_info.round,
84
84
  // @ts-ignore
85
- price: data.content.fields.info.fields.delivery_info.fields.price,
85
+ price: data.json.info.delivery_info.price,
86
86
  // @ts-ignore
87
- size: data.content.fields.info.fields.delivery_info.fields.size,
87
+ size: data.json.info.delivery_info.size,
88
88
  // @ts-ignore
89
- premium: data.content.fields.info.fields.delivery_info.fields.premium,
89
+ premium: data.json.info.delivery_info.premium,
90
90
  // @ts-ignore
91
- tsMs: data.content.fields.info.fields.delivery_info.fields.ts_ms,
91
+ tsMs: data.json.info.delivery_info.ts_ms,
92
92
  }
93
93
  : undefined;
94
94
  let info: Info = {
95
95
  // @ts-ignore
96
- index: data.content.fields.info.fields.index,
96
+ index: data.json.info.index,
97
97
  // @ts-ignore
98
- creator: data.content.fields.info.fields.creator,
98
+ creator: data.json.info.creator,
99
99
  // @ts-ignore
100
- createTsMs: data.content.fields.info.fields.create_ts_ms,
100
+ createTsMs: data.json.info.create_ts_ms,
101
101
  // @ts-ignore
102
- round: data.content.fields.info.fields.round,
102
+ round: data.json.info.round,
103
103
  deliveryInfo,
104
104
  };
105
105
 
@@ -130,15 +130,15 @@ res = (await _0x2.math.view.min(client, [20n, 4n]))
130
130
  console.log(res?.results_decoded[0])
131
131
  ```
132
132
 
133
- Typemove's generated view function stubs wraps the `devInspectTransactionBlock` API and decode the result,
134
- it adds an fully typed `results_decoded` field to the result object. e.g. the above `min` function generated has type annotation as below:
133
+ Typemove's generated view function stubs wrap the gRPC `simulateTransaction` API and decode the result,
134
+ adding a fully typed `results_decoded` field to the result object. e.g. the above `min` function generated has type annotation as below:
135
135
 
136
136
  ```typescript
137
137
  module math {
138
138
  export async function min(
139
- client: SuiClient,
139
+ client: SuiGrpcClient,
140
140
  args: [bigint | TransactionArgument, bigint | TransactionArgument],
141
- ): Promise<TypedDevInspectResults<[bigint]>> {
141
+ ): Promise<TypedSimulateResults<[bigint]>> {
142
142
  ...
143
143
  }
144
144
  }
@@ -150,12 +150,14 @@ Similar to original transaction building process, but you could use generated bu
150
150
 
151
151
  ```typescript
152
152
  import { clob_v2 } from './types/testnet/0xdee9.js'
153
+ import { getGrpcClient, getGrpcFullnodeUrl } from '@typemove/sui'
154
+ import { Transaction } from '@mysten/sui/transactions'
153
155
 
154
- const client = new SuiClient({ url: getFullnodeUrl('testnet') })
155
- const tx = new TransactionBlock()
156
+ const client = getGrpcClient(getGrpcFullnodeUrl('testnet'))
157
+ const tx = new Transaction()
156
158
  clob_v2.builder.createAccount(tx, ["0xd9e6dc1e7f0790c18acf96b629f0a236d56de2f96537d921197bcb0e071b12bd"])
157
159
  ... more tx build
158
- client.signAndExecuteTransactionBlock({transactionBlock: tx, signer: keypair})
160
+ client.signAndExecuteTransaction({ transaction: tx, signer: keypair })
159
161
  ```
160
162
 
161
163
  Checkout our [tests](./src/tests/move-call.test.ts) for more examples.
@@ -4,8 +4,7 @@ import { Command } from 'commander';
4
4
  import { createRequire } from 'module';
5
5
  import fs from 'fs';
6
6
  import path from 'path';
7
- import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
8
- import { inferNetworkFromUrl } from '../sui-chain-adapter.js';
7
+ import { getGrpcClient, getGrpcFullnodeUrl, SuiChainAdapter } from '../sui-chain-adapter.js';
9
8
  const require = createRequire(import.meta.url);
10
9
  let pkg = undefined;
11
10
  try {
@@ -26,17 +25,17 @@ program
26
25
  .option('-n, --network <mainnet|testnet|$url>', 'Network to use, could be either "mainnet", "testnet" or any node URL', 'mainnet')
27
26
  .action(async (location, options) => {
28
27
  let endpoint = options.network;
29
- if (endpoint == 'mainnet') {
30
- endpoint = 'https://fullnode.mainnet.sui.io/';
28
+ if (endpoint === 'mainnet' || endpoint === 'testnet' || endpoint === 'devnet' || endpoint === 'localnet') {
29
+ endpoint = getGrpcFullnodeUrl(endpoint);
31
30
  }
32
- if (endpoint == 'testnet') {
33
- endpoint = 'https://fullnode.testnet.sui.io/';
34
- }
35
- const suiClient = new SuiJsonRpcClient({ url: endpoint, network: inferNetworkFromUrl(endpoint) });
31
+ const suiClient = getGrpcClient(endpoint);
36
32
  let abisDir = location;
37
33
  if (location.startsWith('0x')) {
38
34
  const abiAddress = abisDir;
39
- const abi = await suiClient.getNormalizedMoveModulesByPackage({ package: abiAddress });
35
+ // Fetch via adapter so the on-disk shape matches what codegen reads back.
36
+ // ABI is serialized as { address, module }[] — the address is included
37
+ // because the proto Module doesn't carry the package id per entry.
38
+ const abi = await new SuiChainAdapter(suiClient).fetchModules(abiAddress);
40
39
  abisDir = options.abiDir;
41
40
  if (!fs.existsSync(abisDir)) {
42
41
  fs.mkdirSync(abisDir, { recursive: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typemove/sui",
3
- "version": "1.13.5-rc.2",
3
+ "version": "2.0.0-rc.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -22,12 +22,12 @@
22
22
  ],
23
23
  "types": "./dist/esm/index.d.ts",
24
24
  "dependencies": {
25
- "@mysten/sui": "~2.4.0",
25
+ "@mysten/sui": "~2.17.0",
26
26
  "chalk": "^5.3.0",
27
27
  "commander": "^14.0.0",
28
28
  "prettier": "^3.2.4",
29
29
  "radash": "^12.0.0",
30
- "@typemove/move": "1.13.5-rc.2"
30
+ "@typemove/move": "2.0.0-rc.1"
31
31
  },
32
32
  "url": "https://github.com/sentioxyz/typemove",
33
33
  "scripts": {
@@ -36,6 +36,6 @@
36
36
  "build:all": "pnpm --filter=$(node -p \"require('./package.json').name\")... build",
37
37
  "gen": "pnpm _gen 0x1 && pnpm _gen 0x2 && pnpm _gen 0x3",
38
38
  "gen:test": "tsx src/codegen/run.ts -t src/tests/types/testnet -n testnet src/tests/abis/testnet",
39
- "test": "glob -c 'tsx --test' '**/*.test.ts'"
39
+ "test": "tsx --test '**/*.test.ts'"
40
40
  }
41
41
  }