@sentio/sdk 2.6.0-rc.1 → 2.6.0-rc.3
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.
- package/lib/move/abstract-codegen.d.ts +2 -0
- package/lib/move/abstract-codegen.js +72 -6
- package/lib/move/abstract-codegen.js.map +1 -1
- package/lib/move/abstract-move-coder.js +0 -2
- package/lib/move/abstract-move-coder.js.map +1 -1
- package/lib/move/index.d.ts +0 -1
- package/lib/move/index.js +0 -1
- package/lib/move/index.js.map +1 -1
- package/lib/move/utils.d.ts +2 -0
- package/lib/move/utils.js +3 -0
- package/lib/move/utils.js.map +1 -1
- package/lib/sui/builtin/0x1.d.ts +3 -16
- package/lib/sui/builtin/0x1.js +0 -25
- package/lib/sui/builtin/0x1.js.map +1 -1
- package/lib/sui/builtin/0x2.d.ts +68 -85
- package/lib/sui/builtin/0x2.js +1 -29
- package/lib/sui/builtin/0x2.js.map +1 -1
- package/lib/sui/codegen/codegen.js +21 -1
- package/lib/sui/codegen/codegen.js.map +1 -1
- package/lib/sui/move-coder.d.ts +1 -0
- package/lib/sui/move-coder.js +11 -0
- package/lib/sui/move-coder.js.map +1 -1
- package/lib/sui/sui-processor.js +1 -0
- package/lib/sui/sui-processor.js.map +1 -1
- package/package.json +4 -4
- package/src/move/abstract-codegen.ts +81 -6
- package/src/move/abstract-move-coder.ts +0 -2
- package/src/move/index.ts +0 -1
- package/src/move/utils.ts +6 -0
- package/src/sui/builtin/0x1.ts +3 -39
- package/src/sui/builtin/0x2.ts +69 -108
- package/src/sui/codegen/codegen.ts +23 -1
- package/src/sui/move-coder.ts +12 -0
- package/src/sui/sui-processor.ts +1 -0
- package/lib/move/ts-type.d.ts +0 -2
- package/lib/move/ts-type.js +0 -77
- package/lib/move/ts-type.js.map +0 -1
- package/src/move/ts-type.ts +0 -86
package/src/sui/builtin/0x2.ts
CHANGED
@@ -73,7 +73,7 @@ export class bcs extends SuiBaseProcessor {
|
|
73
73
|
export namespace bcs {
|
74
74
|
export class BCS {
|
75
75
|
static TYPE_QNAME = "0x2::bcs::BCS";
|
76
|
-
bytes:
|
76
|
+
bytes: number[];
|
77
77
|
}
|
78
78
|
|
79
79
|
export interface BCSInstance extends TypedEventInstance<BCS> {
|
@@ -227,11 +227,7 @@ export class coin extends SuiBaseProcessor {
|
|
227
227
|
}
|
228
228
|
|
229
229
|
export namespace coin {
|
230
|
-
export
|
231
|
-
static TYPE_QNAME = "0x2::coin::Coin";
|
232
|
-
id: object_.UID;
|
233
|
-
balance: balance.Balance<T0>;
|
234
|
-
}
|
230
|
+
export type Coin<T> = string;
|
235
231
|
|
236
232
|
export class CoinMetadata<T0> {
|
237
233
|
static TYPE_QNAME = "0x2::coin::CoinMetadata";
|
@@ -390,7 +386,7 @@ export namespace devnet_nft {
|
|
390
386
|
|
391
387
|
export class MintNFTEvent {
|
392
388
|
static TYPE_QNAME = "0x2::devnet_nft::MintNFTEvent";
|
393
|
-
object_id:
|
389
|
+
object_id: object_.ID;
|
394
390
|
creator: SuiAddress;
|
395
391
|
name: string;
|
396
392
|
}
|
@@ -407,8 +403,8 @@ export namespace devnet_nft {
|
|
407
403
|
}
|
408
404
|
|
409
405
|
export interface MintPayload
|
410
|
-
extends TypedFunctionPayload<[
|
411
|
-
arguments_decoded: [
|
406
|
+
extends TypedFunctionPayload<[number[], number[], number[]]> {
|
407
|
+
arguments_decoded: [number[], number[], number[]];
|
412
408
|
type_arguments: [];
|
413
409
|
}
|
414
410
|
|
@@ -450,7 +446,7 @@ export class digest extends SuiBaseProcessor {
|
|
450
446
|
export namespace digest {
|
451
447
|
export class Sha3256Digest {
|
452
448
|
static TYPE_QNAME = "0x2::digest::Sha3256Digest";
|
453
|
-
digest:
|
449
|
+
digest: number[];
|
454
450
|
}
|
455
451
|
|
456
452
|
export interface Sha3256DigestInstance
|
@@ -570,7 +566,7 @@ export class elliptic_curve extends SuiBaseProcessor {
|
|
570
566
|
export namespace elliptic_curve {
|
571
567
|
export class RistrettoPoint {
|
572
568
|
static TYPE_QNAME = "0x2::elliptic_curve::RistrettoPoint";
|
573
|
-
value:
|
569
|
+
value: number[];
|
574
570
|
}
|
575
571
|
|
576
572
|
export interface RistrettoPointInstance
|
@@ -581,7 +577,7 @@ export namespace elliptic_curve {
|
|
581
577
|
|
582
578
|
export class Scalar {
|
583
579
|
static TYPE_QNAME = "0x2::elliptic_curve::Scalar";
|
584
|
-
value:
|
580
|
+
value: number[];
|
585
581
|
}
|
586
582
|
|
587
583
|
export interface ScalarInstance extends TypedEventInstance<Scalar> {
|
@@ -677,10 +673,10 @@ export class groth16 extends SuiBaseProcessor {
|
|
677
673
|
export namespace groth16 {
|
678
674
|
export class PreparedVerifyingKey {
|
679
675
|
static TYPE_QNAME = "0x2::groth16::PreparedVerifyingKey";
|
680
|
-
vk_gamma_abc_g1_bytes:
|
681
|
-
alpha_g1_beta_g2_bytes:
|
682
|
-
gamma_g2_neg_pc_bytes:
|
683
|
-
delta_g2_neg_pc_bytes:
|
676
|
+
vk_gamma_abc_g1_bytes: number[];
|
677
|
+
alpha_g1_beta_g2_bytes: number[];
|
678
|
+
gamma_g2_neg_pc_bytes: number[];
|
679
|
+
delta_g2_neg_pc_bytes: number[];
|
684
680
|
}
|
685
681
|
|
686
682
|
export interface PreparedVerifyingKeyInstance
|
@@ -691,7 +687,7 @@ export namespace groth16 {
|
|
691
687
|
|
692
688
|
export class ProofPoints {
|
693
689
|
static TYPE_QNAME = "0x2::groth16::ProofPoints";
|
694
|
-
bytes:
|
690
|
+
bytes: number[];
|
695
691
|
}
|
696
692
|
|
697
693
|
export interface ProofPointsInstance extends TypedEventInstance<ProofPoints> {
|
@@ -701,7 +697,7 @@ export namespace groth16 {
|
|
701
697
|
|
702
698
|
export class PublicProofInputs {
|
703
699
|
static TYPE_QNAME = "0x2::groth16::PublicProofInputs";
|
704
|
-
bytes:
|
700
|
+
bytes: number[];
|
705
701
|
}
|
706
702
|
|
707
703
|
export interface PublicProofInputsInstance
|
@@ -838,8 +834,8 @@ export namespace locked_coin {
|
|
838
834
|
}
|
839
835
|
|
840
836
|
export interface LockCoinPayload<T0 = any>
|
841
|
-
extends TypedFunctionPayload<[
|
842
|
-
arguments_decoded: [
|
837
|
+
extends TypedFunctionPayload<[coin.Coin<T0>, SuiAddress, bigint]> {
|
838
|
+
arguments_decoded: [coin.Coin<T0>, SuiAddress, bigint];
|
843
839
|
type_arguments: [string];
|
844
840
|
}
|
845
841
|
|
@@ -852,48 +848,12 @@ export namespace locked_coin {
|
|
852
848
|
|
853
849
|
export namespace math {}
|
854
850
|
|
855
|
-
export class object_ extends SuiBaseProcessor {
|
856
|
-
constructor(options: SuiBindOptions) {
|
857
|
-
super("object", options);
|
858
|
-
}
|
859
|
-
static DEFAULT_OPTIONS: SuiBindOptions = {
|
860
|
-
address: "0x2",
|
861
|
-
network: SuiNetwork.MAIN_NET,
|
862
|
-
};
|
863
|
-
|
864
|
-
static bind(options: Partial<SuiBindOptions> = {}): object_ {
|
865
|
-
return new object_({ ...object_.DEFAULT_OPTIONS, ...options });
|
866
|
-
}
|
867
|
-
|
868
|
-
onEventID(
|
869
|
-
func: (event: object_.IDInstance, ctx: SuiContext) => void,
|
870
|
-
fetchConfig?: MoveFetchConfig
|
871
|
-
): object_ {
|
872
|
-
this.onMoveEvent(
|
873
|
-
func,
|
874
|
-
{
|
875
|
-
type: "object::ID",
|
876
|
-
},
|
877
|
-
fetchConfig
|
878
|
-
);
|
879
|
-
return this;
|
880
|
-
}
|
881
|
-
}
|
882
|
-
|
883
851
|
export namespace object_ {
|
884
|
-
export
|
885
|
-
static TYPE_QNAME = "0x2::object::ID";
|
886
|
-
bytes: SuiAddress;
|
887
|
-
}
|
888
|
-
|
889
|
-
export interface IDInstance extends TypedEventInstance<ID> {
|
890
|
-
fields_decoded: ID;
|
891
|
-
type_arguments: [];
|
892
|
-
}
|
852
|
+
export type ID = string;
|
893
853
|
|
894
854
|
export class UID {
|
895
855
|
static TYPE_QNAME = "0x2::object::UID";
|
896
|
-
id:
|
856
|
+
id: object_.ID;
|
897
857
|
}
|
898
858
|
}
|
899
859
|
|
@@ -1059,8 +1019,8 @@ export namespace pay {
|
|
1059
1019
|
}
|
1060
1020
|
|
1061
1021
|
export interface JoinVecAndTransferPayload<T0 = any>
|
1062
|
-
extends TypedFunctionPayload<[
|
1063
|
-
arguments_decoded: [
|
1022
|
+
extends TypedFunctionPayload<[coin.Coin<T0>[]]> {
|
1023
|
+
arguments_decoded: [coin.Coin<T0>[]];
|
1064
1024
|
type_arguments: [string];
|
1065
1025
|
}
|
1066
1026
|
|
@@ -1222,26 +1182,26 @@ export namespace safe {
|
|
1222
1182
|
export class OwnerCapability<T0> {
|
1223
1183
|
static TYPE_QNAME = "0x2::safe::OwnerCapability";
|
1224
1184
|
id: object_.UID;
|
1225
|
-
safe_id:
|
1185
|
+
safe_id: object_.ID;
|
1226
1186
|
}
|
1227
1187
|
|
1228
1188
|
export class Safe<T0> {
|
1229
1189
|
static TYPE_QNAME = "0x2::safe::Safe";
|
1230
1190
|
id: object_.UID;
|
1231
1191
|
balance: balance.Balance<T0>;
|
1232
|
-
allowed_safes: vec_set.VecSet<
|
1192
|
+
allowed_safes: vec_set.VecSet<object_.ID>;
|
1233
1193
|
}
|
1234
1194
|
|
1235
1195
|
export class TransferCapability<T0> {
|
1236
1196
|
static TYPE_QNAME = "0x2::safe::TransferCapability";
|
1237
1197
|
id: object_.UID;
|
1238
|
-
safe_id:
|
1198
|
+
safe_id: object_.ID;
|
1239
1199
|
amount: bigint;
|
1240
1200
|
}
|
1241
1201
|
|
1242
1202
|
export interface CreatePayload<T0 = any>
|
1243
|
-
extends TypedFunctionPayload<[
|
1244
|
-
arguments_decoded: [
|
1203
|
+
extends TypedFunctionPayload<[coin.Coin<T0>]> {
|
1204
|
+
arguments_decoded: [coin.Coin<T0>];
|
1245
1205
|
type_arguments: [string];
|
1246
1206
|
}
|
1247
1207
|
|
@@ -1421,7 +1381,7 @@ export namespace staking_pool {
|
|
1421
1381
|
export class Delegation {
|
1422
1382
|
static TYPE_QNAME = "0x2::staking_pool::Delegation";
|
1423
1383
|
id: object_.UID;
|
1424
|
-
staked_sui_id:
|
1384
|
+
staked_sui_id: object_.ID;
|
1425
1385
|
pool_tokens: balance.Balance<staking_pool.DelegationToken>;
|
1426
1386
|
principal_sui_amount: bigint;
|
1427
1387
|
}
|
@@ -1480,7 +1440,7 @@ export namespace staking_pool {
|
|
1480
1440
|
rewards_pool: balance.Balance<sui.SUI>;
|
1481
1441
|
delegation_token_supply: balance.Supply<staking_pool.DelegationToken>;
|
1482
1442
|
pending_delegations: linked_table.LinkedTable<
|
1483
|
-
|
1443
|
+
object_.ID,
|
1484
1444
|
staking_pool.PendingDelegationEntry
|
1485
1445
|
>;
|
1486
1446
|
pending_withdraws: table_vec.TableVec<staking_pool.PendingWithdrawEntry>;
|
@@ -1547,8 +1507,9 @@ export namespace sui {
|
|
1547
1507
|
dummy_field: Boolean;
|
1548
1508
|
}
|
1549
1509
|
|
1550
|
-
export interface TransferPayload
|
1551
|
-
|
1510
|
+
export interface TransferPayload
|
1511
|
+
extends TypedFunctionPayload<[coin.Coin<sui.SUI>]> {
|
1512
|
+
arguments_decoded: [coin.Coin<sui.SUI>];
|
1552
1513
|
type_arguments: [];
|
1553
1514
|
}
|
1554
1515
|
}
|
@@ -1991,18 +1952,18 @@ export namespace sui_system {
|
|
1991
1952
|
}
|
1992
1953
|
|
1993
1954
|
export interface RequestAddDelegationPayload
|
1994
|
-
extends TypedFunctionPayload<[SuiAddress,
|
1995
|
-
arguments_decoded: [SuiAddress,
|
1955
|
+
extends TypedFunctionPayload<[SuiAddress, coin.Coin<sui.SUI>, SuiAddress]> {
|
1956
|
+
arguments_decoded: [SuiAddress, coin.Coin<sui.SUI>, SuiAddress];
|
1996
1957
|
type_arguments: [];
|
1997
1958
|
}
|
1998
1959
|
|
1999
1960
|
export interface RequestAddDelegationMulCoinPayload
|
2000
1961
|
extends TypedFunctionPayload<
|
2001
|
-
[SuiAddress,
|
1962
|
+
[SuiAddress, coin.Coin<sui.SUI>[], _0x1.option.Option<bigint>, SuiAddress]
|
2002
1963
|
> {
|
2003
1964
|
arguments_decoded: [
|
2004
1965
|
SuiAddress,
|
2005
|
-
|
1966
|
+
coin.Coin<sui.SUI>[],
|
2006
1967
|
_0x1.option.Option<bigint>,
|
2007
1968
|
SuiAddress
|
2008
1969
|
];
|
@@ -2040,8 +2001,8 @@ export namespace sui_system {
|
|
2040
2001
|
}
|
2041
2002
|
|
2042
2003
|
export interface RequestAddStakePayload
|
2043
|
-
extends TypedFunctionPayload<[SuiAddress,
|
2044
|
-
arguments_decoded: [SuiAddress,
|
2004
|
+
extends TypedFunctionPayload<[SuiAddress, coin.Coin<sui.SUI>]> {
|
2005
|
+
arguments_decoded: [SuiAddress, coin.Coin<sui.SUI>];
|
2045
2006
|
type_arguments: [];
|
2046
2007
|
}
|
2047
2008
|
|
@@ -2057,36 +2018,36 @@ export namespace sui_system {
|
|
2057
2018
|
extends TypedFunctionPayload<
|
2058
2019
|
[
|
2059
2020
|
SuiAddress,
|
2060
|
-
|
2061
|
-
|
2062
|
-
|
2063
|
-
|
2064
|
-
|
2065
|
-
|
2066
|
-
|
2067
|
-
|
2068
|
-
|
2069
|
-
|
2070
|
-
|
2071
|
-
|
2021
|
+
number[],
|
2022
|
+
number[],
|
2023
|
+
number[],
|
2024
|
+
number[],
|
2025
|
+
number[],
|
2026
|
+
number[],
|
2027
|
+
number[],
|
2028
|
+
number[],
|
2029
|
+
number[],
|
2030
|
+
number[],
|
2031
|
+
number[],
|
2032
|
+
coin.Coin<sui.SUI>,
|
2072
2033
|
bigint,
|
2073
2034
|
bigint
|
2074
2035
|
]
|
2075
2036
|
> {
|
2076
2037
|
arguments_decoded: [
|
2077
2038
|
SuiAddress,
|
2078
|
-
|
2079
|
-
|
2080
|
-
|
2081
|
-
|
2082
|
-
|
2083
|
-
|
2084
|
-
|
2085
|
-
|
2086
|
-
|
2087
|
-
|
2088
|
-
|
2089
|
-
|
2039
|
+
number[],
|
2040
|
+
number[],
|
2041
|
+
number[],
|
2042
|
+
number[],
|
2043
|
+
number[],
|
2044
|
+
number[],
|
2045
|
+
number[],
|
2046
|
+
number[],
|
2047
|
+
number[],
|
2048
|
+
number[],
|
2049
|
+
number[],
|
2050
|
+
coin.Coin<sui.SUI>,
|
2090
2051
|
bigint,
|
2091
2052
|
bigint
|
2092
2053
|
];
|
@@ -2170,7 +2131,7 @@ export namespace tx_context {
|
|
2170
2131
|
export class TxContext {
|
2171
2132
|
static TYPE_QNAME = "0x2::tx_context::TxContext";
|
2172
2133
|
sender: SuiAddress;
|
2173
|
-
tx_hash:
|
2134
|
+
tx_hash: number[];
|
2174
2135
|
epoch: bigint;
|
2175
2136
|
ids_created: bigint;
|
2176
2137
|
}
|
@@ -2207,7 +2168,7 @@ export class typed_id extends SuiBaseProcessor {
|
|
2207
2168
|
export namespace typed_id {
|
2208
2169
|
export class TypedID<T0> {
|
2209
2170
|
static TYPE_QNAME = "0x2::typed_id::TypedID";
|
2210
|
-
id:
|
2171
|
+
id: object_.ID;
|
2211
2172
|
}
|
2212
2173
|
|
2213
2174
|
export interface TypedIDInstance extends TypedEventInstance<TypedID<any>> {
|
@@ -2302,17 +2263,17 @@ export namespace validator {
|
|
2302
2263
|
export class ValidatorMetadata {
|
2303
2264
|
static TYPE_QNAME = "0x2::validator::ValidatorMetadata";
|
2304
2265
|
sui_address: SuiAddress;
|
2305
|
-
pubkey_bytes:
|
2306
|
-
network_pubkey_bytes:
|
2307
|
-
worker_pubkey_bytes:
|
2308
|
-
proof_of_possession:
|
2266
|
+
pubkey_bytes: number[];
|
2267
|
+
network_pubkey_bytes: number[];
|
2268
|
+
worker_pubkey_bytes: number[];
|
2269
|
+
proof_of_possession: number[];
|
2309
2270
|
name: string;
|
2310
2271
|
description: string;
|
2311
2272
|
image_url: url.Url;
|
2312
2273
|
project_url: url.Url;
|
2313
|
-
net_address:
|
2314
|
-
consensus_address:
|
2315
|
-
worker_address:
|
2274
|
+
net_address: number[];
|
2275
|
+
consensus_address: number[];
|
2276
|
+
worker_address: number[];
|
2316
2277
|
next_epoch_stake: bigint;
|
2317
2278
|
next_epoch_delegation: bigint;
|
2318
2279
|
next_epoch_gas_price: bigint;
|
@@ -5,7 +5,7 @@ import { InternalMoveModule, InternalMoveStruct } from '../../move/internal-mode
|
|
5
5
|
import { AbstractCodegen } from '../../move/abstract-codegen.js'
|
6
6
|
import { JsonRpcProvider, SuiMoveNormalizedModules } from '@mysten/sui.js'
|
7
7
|
import { toInternalModule } from '../move-types.js'
|
8
|
-
import { moduleQname, SPLITTER, TypeDescriptor } from '../../move/index.js'
|
8
|
+
import { moduleQname, SPLITTER, structQname, TypeDescriptor } from '../../move/index.js'
|
9
9
|
import { getMeaningfulFunctionParams } from '../utils.js'
|
10
10
|
|
11
11
|
export async function codegen(abisDir: string, outDir = 'src/types/sui') {
|
@@ -69,4 +69,26 @@ class SuiCodegen extends AbstractCodegen<SuiMoveNormalizedModules, SuiNetwork> {
|
|
69
69
|
}
|
70
70
|
return res
|
71
71
|
}
|
72
|
+
|
73
|
+
generateStructs(module: InternalMoveModule, struct: InternalMoveStruct, events: Set<string>): string {
|
74
|
+
switch (structQname(module, struct)) {
|
75
|
+
case '0x2::object::ID':
|
76
|
+
return `export type ${struct.name} = string`
|
77
|
+
case '0x2::coin::Coin':
|
78
|
+
return `export type ${struct.name}<T> = string`
|
79
|
+
case '0x1::option::Option':
|
80
|
+
return `export type Option<T> = T | undefined`
|
81
|
+
}
|
82
|
+
return super.generateStructs(module, struct, events)
|
83
|
+
}
|
84
|
+
|
85
|
+
generateOnEvents(module: InternalMoveModule, struct: InternalMoveStruct): string {
|
86
|
+
switch (structQname(module, struct)) {
|
87
|
+
case '0x2::object::ID':
|
88
|
+
case '0x2::coin::Coin':
|
89
|
+
case '0x1::option::Option':
|
90
|
+
return ''
|
91
|
+
}
|
92
|
+
return super.generateOnEvents(module, struct)
|
93
|
+
}
|
72
94
|
}
|
package/src/sui/move-coder.ts
CHANGED
@@ -13,6 +13,18 @@ export class MoveCoder extends AbstractMoveCoder<MoveEvent> {
|
|
13
13
|
this.loadInternal(toInternalModule(module))
|
14
14
|
}
|
15
15
|
|
16
|
+
decode(data: any, type: TypeDescriptor): any {
|
17
|
+
switch (type.qname) {
|
18
|
+
case '0x2::object::ID':
|
19
|
+
case '0x2::coin::Coin':
|
20
|
+
return data
|
21
|
+
case '0x1::option::Option':
|
22
|
+
return this.decode(data, type.typeArgs[0])
|
23
|
+
default:
|
24
|
+
return super.decode(data, type)
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
16
28
|
decodeEvent<T>(event: MoveEvent): TypedEventInstance<T> | undefined {
|
17
29
|
const res = this.decodedInternal<T>({ ...event, data: event.fields })
|
18
30
|
return { ...event, fields_decoded: res?.data_decoded as T, type_arguments: res?.type_arguments || [] }
|
package/src/sui/sui-processor.ts
CHANGED
package/lib/move/ts-type.d.ts
DELETED
package/lib/move/ts-type.js
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
import { normalizeToJSName, SPLITTER, VECTOR_STR } from './utils.js';
|
2
|
-
export function generateTypeForDescriptor(type, currentAddress, addressType) {
|
3
|
-
if (type.qname.startsWith('&')) {
|
4
|
-
throw Error('Unexpected &');
|
5
|
-
}
|
6
|
-
if (type.reference) {
|
7
|
-
return addressType;
|
8
|
-
}
|
9
|
-
switch (type.qname) {
|
10
|
-
case 'signer': // TODO check this
|
11
|
-
case 'address':
|
12
|
-
case 'Address':
|
13
|
-
return addressType;
|
14
|
-
case '0x2::object::ID':
|
15
|
-
case '0x2::coin::Coin':
|
16
|
-
return 'string';
|
17
|
-
case '0x1::string::String':
|
18
|
-
return 'string';
|
19
|
-
case 'bool':
|
20
|
-
case 'Bool':
|
21
|
-
return 'Boolean';
|
22
|
-
case 'u8':
|
23
|
-
case 'U8':
|
24
|
-
case 'u16':
|
25
|
-
case 'U16':
|
26
|
-
case 'u32':
|
27
|
-
case 'U32':
|
28
|
-
return 'number';
|
29
|
-
case 'u64':
|
30
|
-
case 'U64':
|
31
|
-
case 'u128':
|
32
|
-
case 'U128':
|
33
|
-
case 'u256':
|
34
|
-
case 'U256':
|
35
|
-
return 'bigint';
|
36
|
-
}
|
37
|
-
if (type.qname.toLowerCase() === VECTOR_STR) {
|
38
|
-
// vector<u8> as hex string
|
39
|
-
const elementTypeQname = type.typeArgs[0].qname;
|
40
|
-
if (elementTypeQname === 'u8' || elementTypeQname === 'U8') {
|
41
|
-
return 'string';
|
42
|
-
}
|
43
|
-
if (elementTypeQname.startsWith('T') && !elementTypeQname.includes(SPLITTER)) {
|
44
|
-
return `${elementTypeQname}[] | string`;
|
45
|
-
}
|
46
|
-
return generateTypeForDescriptor(type.typeArgs[0], currentAddress, addressType) + '[]';
|
47
|
-
}
|
48
|
-
const simpleName = generateSimpleType(type.qname, currentAddress);
|
49
|
-
if (simpleName.length === 0) {
|
50
|
-
console.error('unexpected error');
|
51
|
-
}
|
52
|
-
if (simpleName.toLowerCase() === VECTOR_STR || simpleName.toLowerCase().startsWith(VECTOR_STR + SPLITTER)) {
|
53
|
-
console.error('unexpected vector type error');
|
54
|
-
}
|
55
|
-
if (type.typeArgs.length > 0) {
|
56
|
-
// return simpleName
|
57
|
-
return (simpleName +
|
58
|
-
'<' +
|
59
|
-
type.typeArgs.map((t) => generateTypeForDescriptor(t, currentAddress, addressType)).join(',') +
|
60
|
-
'>');
|
61
|
-
}
|
62
|
-
return simpleName;
|
63
|
-
}
|
64
|
-
function generateSimpleType(type, currentAddress) {
|
65
|
-
const parts = type.split(SPLITTER);
|
66
|
-
for (let i = 0; i < parts.length; i++) {
|
67
|
-
parts[i] = normalizeToJSName(parts[i]);
|
68
|
-
}
|
69
|
-
if (parts.length < 2) {
|
70
|
-
return parts[0];
|
71
|
-
}
|
72
|
-
if (parts[0] === currentAddress) {
|
73
|
-
return parts.slice(1).join('.');
|
74
|
-
}
|
75
|
-
return '_' + parts.join('.');
|
76
|
-
}
|
77
|
-
//# sourceMappingURL=ts-type.js.map
|
package/lib/move/ts-type.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ts-type.js","sourceRoot":"","sources":["../../src/move/ts-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { TypeDescriptor } from './types.js'\nimport { normalizeToJSName, SPLITTER, VECTOR_STR } from './utils.js'\n\nexport function generateTypeForDescriptor(type: TypeDescriptor, currentAddress: string, addressType: string): string {\n if (type.qname.startsWith('&')) {\n throw Error('Unexpected &')\n }\n if (type.reference) {\n return addressType\n }\n\n switch (type.qname) {\n case 'signer': // TODO check this\n case 'address':\n case 'Address':\n return addressType\n case '0x2::object::ID':\n case '0x2::coin::Coin':\n return 'string'\n case '0x1::string::String':\n return 'string'\n case 'bool':\n case 'Bool':\n return 'Boolean'\n case 'u8':\n case 'U8':\n case 'u16':\n case 'U16':\n case 'u32':\n case 'U32':\n return 'number'\n case 'u64':\n case 'U64':\n case 'u128':\n case 'U128':\n case 'u256':\n case 'U256':\n return 'bigint'\n }\n\n if (type.qname.toLowerCase() === VECTOR_STR) {\n // vector<u8> as hex string\n const elementTypeQname = type.typeArgs[0].qname\n if (elementTypeQname === 'u8' || elementTypeQname === 'U8') {\n return 'string'\n }\n if (elementTypeQname.startsWith('T') && !elementTypeQname.includes(SPLITTER)) {\n return `${elementTypeQname}[] | string`\n }\n return generateTypeForDescriptor(type.typeArgs[0], currentAddress, addressType) + '[]'\n }\n\n const simpleName = generateSimpleType(type.qname, currentAddress)\n if (simpleName.length === 0) {\n console.error('unexpected error')\n }\n if (simpleName.toLowerCase() === VECTOR_STR || simpleName.toLowerCase().startsWith(VECTOR_STR + SPLITTER)) {\n console.error('unexpected vector type error')\n }\n if (type.typeArgs.length > 0) {\n // return simpleName\n return (\n simpleName +\n '<' +\n type.typeArgs.map((t) => generateTypeForDescriptor(t, currentAddress, addressType)).join(',') +\n '>'\n )\n }\n return simpleName\n}\n\nfunction generateSimpleType(type: string, currentAddress: string): string {\n const parts = type.split(SPLITTER)\n\n for (let i = 0; i < parts.length; i++) {\n parts[i] = normalizeToJSName(parts[i])\n }\n\n if (parts.length < 2) {\n return parts[0]\n }\n if (parts[0] === currentAddress) {\n return parts.slice(1).join('.')\n }\n return '_' + parts.join('.')\n}\n"]}
|
package/src/move/ts-type.ts
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
import { TypeDescriptor } from './types.js'
|
2
|
-
import { normalizeToJSName, SPLITTER, VECTOR_STR } from './utils.js'
|
3
|
-
|
4
|
-
export function generateTypeForDescriptor(type: TypeDescriptor, currentAddress: string, addressType: string): string {
|
5
|
-
if (type.qname.startsWith('&')) {
|
6
|
-
throw Error('Unexpected &')
|
7
|
-
}
|
8
|
-
if (type.reference) {
|
9
|
-
return addressType
|
10
|
-
}
|
11
|
-
|
12
|
-
switch (type.qname) {
|
13
|
-
case 'signer': // TODO check this
|
14
|
-
case 'address':
|
15
|
-
case 'Address':
|
16
|
-
return addressType
|
17
|
-
case '0x2::object::ID':
|
18
|
-
case '0x2::coin::Coin':
|
19
|
-
return 'string'
|
20
|
-
case '0x1::string::String':
|
21
|
-
return 'string'
|
22
|
-
case 'bool':
|
23
|
-
case 'Bool':
|
24
|
-
return 'Boolean'
|
25
|
-
case 'u8':
|
26
|
-
case 'U8':
|
27
|
-
case 'u16':
|
28
|
-
case 'U16':
|
29
|
-
case 'u32':
|
30
|
-
case 'U32':
|
31
|
-
return 'number'
|
32
|
-
case 'u64':
|
33
|
-
case 'U64':
|
34
|
-
case 'u128':
|
35
|
-
case 'U128':
|
36
|
-
case 'u256':
|
37
|
-
case 'U256':
|
38
|
-
return 'bigint'
|
39
|
-
}
|
40
|
-
|
41
|
-
if (type.qname.toLowerCase() === VECTOR_STR) {
|
42
|
-
// vector<u8> as hex string
|
43
|
-
const elementTypeQname = type.typeArgs[0].qname
|
44
|
-
if (elementTypeQname === 'u8' || elementTypeQname === 'U8') {
|
45
|
-
return 'string'
|
46
|
-
}
|
47
|
-
if (elementTypeQname.startsWith('T') && !elementTypeQname.includes(SPLITTER)) {
|
48
|
-
return `${elementTypeQname}[] | string`
|
49
|
-
}
|
50
|
-
return generateTypeForDescriptor(type.typeArgs[0], currentAddress, addressType) + '[]'
|
51
|
-
}
|
52
|
-
|
53
|
-
const simpleName = generateSimpleType(type.qname, currentAddress)
|
54
|
-
if (simpleName.length === 0) {
|
55
|
-
console.error('unexpected error')
|
56
|
-
}
|
57
|
-
if (simpleName.toLowerCase() === VECTOR_STR || simpleName.toLowerCase().startsWith(VECTOR_STR + SPLITTER)) {
|
58
|
-
console.error('unexpected vector type error')
|
59
|
-
}
|
60
|
-
if (type.typeArgs.length > 0) {
|
61
|
-
// return simpleName
|
62
|
-
return (
|
63
|
-
simpleName +
|
64
|
-
'<' +
|
65
|
-
type.typeArgs.map((t) => generateTypeForDescriptor(t, currentAddress, addressType)).join(',') +
|
66
|
-
'>'
|
67
|
-
)
|
68
|
-
}
|
69
|
-
return simpleName
|
70
|
-
}
|
71
|
-
|
72
|
-
function generateSimpleType(type: string, currentAddress: string): string {
|
73
|
-
const parts = type.split(SPLITTER)
|
74
|
-
|
75
|
-
for (let i = 0; i < parts.length; i++) {
|
76
|
-
parts[i] = normalizeToJSName(parts[i])
|
77
|
-
}
|
78
|
-
|
79
|
-
if (parts.length < 2) {
|
80
|
-
return parts[0]
|
81
|
-
}
|
82
|
-
if (parts[0] === currentAddress) {
|
83
|
-
return parts.slice(1).join('.')
|
84
|
-
}
|
85
|
-
return '_' + parts.join('.')
|
86
|
-
}
|