@0xobelisk/client 0.3.0 → 0.3.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.
@@ -0,0 +1,544 @@
1
+ import { TransactionBlock, TransactionExpiration, SuiObjectRef, SharedObjectRef, JsonRpcProvider, TransactionType, Transactions, ObjectCallArg } from '@mysten/sui.js';
2
+ import type { SuiTxArg, SuiObjectArg, SuiVecTxArg } from 'src/types';
3
+ export declare class SuiTxBlock {
4
+ txBlock: TransactionBlock;
5
+ constructor(transaction?: TransactionBlock);
6
+ address(value: string): {
7
+ kind: "Input";
8
+ index: number;
9
+ type?: "object" | "pure" | undefined;
10
+ value?: any;
11
+ };
12
+ pure(value: unknown, type?: string): {
13
+ kind: "Input";
14
+ index: number;
15
+ type?: "object" | "pure" | undefined;
16
+ value?: any;
17
+ };
18
+ object(value: string | ObjectCallArg): {
19
+ kind: "Input";
20
+ index: number;
21
+ type?: "object" | "pure" | undefined;
22
+ value?: any;
23
+ };
24
+ objectRef(ref: SuiObjectRef): {
25
+ kind: "Input";
26
+ index: number;
27
+ type?: "object" | "pure" | undefined;
28
+ value?: any;
29
+ };
30
+ sharedObjectRef(ref: SharedObjectRef): {
31
+ kind: "Input";
32
+ index: number;
33
+ type?: "object" | "pure" | undefined;
34
+ value?: any;
35
+ };
36
+ setSender(sender: string): void;
37
+ setSenderIfNotSet(sender: string): void;
38
+ setExpiration(expiration?: TransactionExpiration): void;
39
+ setGasPrice(price: number | bigint): void;
40
+ setGasBudget(budget: number | bigint): void;
41
+ setGasOwner(owner: string): void;
42
+ setGasPayment(payments: SuiObjectRef[]): void;
43
+ add(transaction: TransactionType): ({
44
+ kind: "Input";
45
+ index: number;
46
+ type?: "object" | "pure" | undefined;
47
+ value?: any;
48
+ } | {
49
+ kind: "GasCoin";
50
+ } | {
51
+ kind: "Result";
52
+ index: number;
53
+ } | {
54
+ kind: "NestedResult";
55
+ index: number;
56
+ resultIndex: number;
57
+ }) & ({
58
+ kind: "Input";
59
+ index: number;
60
+ type?: "object" | "pure" | undefined;
61
+ value?: any;
62
+ } | {
63
+ kind: "GasCoin";
64
+ } | {
65
+ kind: "Result";
66
+ index: number;
67
+ } | {
68
+ kind: "NestedResult";
69
+ index: number;
70
+ resultIndex: number;
71
+ })[];
72
+ serialize(): string;
73
+ build(params?: {
74
+ provider?: JsonRpcProvider;
75
+ onlyTransactionKind?: boolean;
76
+ }): Promise<Uint8Array>;
77
+ getDigest({ provider }?: {
78
+ provider?: JsonRpcProvider;
79
+ }): Promise<string>;
80
+ get gas(): {
81
+ kind: "Input";
82
+ index: number;
83
+ type?: "object" | "pure" | undefined;
84
+ value?: any;
85
+ } | {
86
+ kind: "GasCoin";
87
+ } | {
88
+ kind: "Result";
89
+ index: number;
90
+ } | {
91
+ kind: "NestedResult";
92
+ index: number;
93
+ resultIndex: number;
94
+ };
95
+ get blockData(): {
96
+ version: 1;
97
+ transactions: ({
98
+ arguments: ({
99
+ kind: "Input";
100
+ index: number;
101
+ type?: "object" | "pure" | undefined;
102
+ value?: any;
103
+ } | {
104
+ kind: "GasCoin";
105
+ } | {
106
+ kind: "Result";
107
+ index: number;
108
+ } | {
109
+ kind: "NestedResult";
110
+ index: number;
111
+ resultIndex: number;
112
+ })[];
113
+ kind: "MoveCall";
114
+ target: `${string}::${string}::${string}`;
115
+ typeArguments: string[];
116
+ } | {
117
+ objects: ({
118
+ kind: "Input";
119
+ index: number;
120
+ type?: "object" | "pure" | undefined;
121
+ value?: any;
122
+ } | {
123
+ kind: "GasCoin";
124
+ } | {
125
+ kind: "Result";
126
+ index: number;
127
+ } | {
128
+ kind: "NestedResult";
129
+ index: number;
130
+ resultIndex: number;
131
+ })[];
132
+ kind: "TransferObjects";
133
+ address: {
134
+ kind: "Input";
135
+ index: number;
136
+ type?: "object" | "pure" | undefined;
137
+ value?: any;
138
+ } | {
139
+ kind: "GasCoin";
140
+ } | {
141
+ kind: "Result";
142
+ index: number;
143
+ } | {
144
+ kind: "NestedResult";
145
+ index: number;
146
+ resultIndex: number;
147
+ };
148
+ } | {
149
+ kind: "SplitCoins";
150
+ coin: {
151
+ kind: "Input";
152
+ index: number;
153
+ type?: "object" | "pure" | undefined;
154
+ value?: any;
155
+ } | {
156
+ kind: "GasCoin";
157
+ } | {
158
+ kind: "Result";
159
+ index: number;
160
+ } | {
161
+ kind: "NestedResult";
162
+ index: number;
163
+ resultIndex: number;
164
+ };
165
+ amounts: ({
166
+ kind: "Input";
167
+ index: number;
168
+ type?: "object" | "pure" | undefined;
169
+ value?: any;
170
+ } | {
171
+ kind: "GasCoin";
172
+ } | {
173
+ kind: "Result";
174
+ index: number;
175
+ } | {
176
+ kind: "NestedResult";
177
+ index: number;
178
+ resultIndex: number;
179
+ })[];
180
+ } | {
181
+ kind: "MergeCoins";
182
+ destination: {
183
+ kind: "Input";
184
+ index: number;
185
+ type?: "object" | "pure" | undefined;
186
+ value?: any;
187
+ } | {
188
+ kind: "GasCoin";
189
+ } | {
190
+ kind: "Result";
191
+ index: number;
192
+ } | {
193
+ kind: "NestedResult";
194
+ index: number;
195
+ resultIndex: number;
196
+ };
197
+ sources: ({
198
+ kind: "Input";
199
+ index: number;
200
+ type?: "object" | "pure" | undefined;
201
+ value?: any;
202
+ } | {
203
+ kind: "GasCoin";
204
+ } | {
205
+ kind: "Result";
206
+ index: number;
207
+ } | {
208
+ kind: "NestedResult";
209
+ index: number;
210
+ resultIndex: number;
211
+ })[];
212
+ } | {
213
+ objects: ({
214
+ kind: "Input";
215
+ index: number;
216
+ type?: "object" | "pure" | undefined;
217
+ value?: any;
218
+ } | {
219
+ kind: "GasCoin";
220
+ } | {
221
+ kind: "Result";
222
+ index: number;
223
+ } | {
224
+ kind: "NestedResult";
225
+ index: number;
226
+ resultIndex: number;
227
+ })[];
228
+ kind: "MakeMoveVec";
229
+ type?: {
230
+ None: true | null;
231
+ } | {
232
+ Some: Record<string, unknown>;
233
+ } | undefined;
234
+ } | {
235
+ kind: "Publish";
236
+ dependencies: string[];
237
+ modules: number[][];
238
+ } | {
239
+ packageId: string;
240
+ kind: "Upgrade";
241
+ dependencies: string[];
242
+ modules: number[][];
243
+ ticket: {
244
+ kind: "Input";
245
+ index: number;
246
+ type?: "object" | "pure" | undefined;
247
+ value?: any;
248
+ } | {
249
+ kind: "GasCoin";
250
+ } | {
251
+ kind: "Result";
252
+ index: number;
253
+ } | {
254
+ kind: "NestedResult";
255
+ index: number;
256
+ resultIndex: number;
257
+ };
258
+ })[];
259
+ inputs: {
260
+ kind: "Input";
261
+ index: number;
262
+ type?: "object" | "pure" | undefined;
263
+ value?: any;
264
+ }[];
265
+ gasConfig: {
266
+ payment?: {
267
+ objectId: string;
268
+ version: string | number;
269
+ digest: string;
270
+ }[] | undefined;
271
+ owner?: string | undefined;
272
+ price?: string | undefined;
273
+ budget?: string | undefined;
274
+ };
275
+ sender?: string | undefined;
276
+ expiration?: {
277
+ Epoch: number;
278
+ } | {
279
+ None: true | null;
280
+ } | null | undefined;
281
+ };
282
+ transferObjects(objects: SuiObjectArg[], recipient: string): this;
283
+ splitCoins(coin: SuiObjectArg, amounts: number[]): ({
284
+ kind: "Input";
285
+ index: number;
286
+ type?: "object" | "pure" | undefined;
287
+ value?: any;
288
+ } | {
289
+ kind: "GasCoin";
290
+ } | {
291
+ kind: "Result";
292
+ index: number;
293
+ } | {
294
+ kind: "NestedResult";
295
+ index: number;
296
+ resultIndex: number;
297
+ })[];
298
+ mergeCoins(destination: SuiObjectArg, sources: SuiObjectArg[]): ({
299
+ kind: "Input";
300
+ index: number;
301
+ type?: "object" | "pure" | undefined;
302
+ value?: any;
303
+ } | {
304
+ kind: "GasCoin";
305
+ } | {
306
+ kind: "Result";
307
+ index: number;
308
+ } | {
309
+ kind: "NestedResult";
310
+ index: number;
311
+ resultIndex: number;
312
+ }) & ({
313
+ kind: "Input";
314
+ index: number;
315
+ type?: "object" | "pure" | undefined;
316
+ value?: any;
317
+ } | {
318
+ kind: "GasCoin";
319
+ } | {
320
+ kind: "Result";
321
+ index: number;
322
+ } | {
323
+ kind: "NestedResult";
324
+ index: number;
325
+ resultIndex: number;
326
+ })[];
327
+ publish(...args: Parameters<(typeof Transactions)['Publish']>): ({
328
+ kind: "Input";
329
+ index: number;
330
+ type?: "object" | "pure" | undefined;
331
+ value?: any;
332
+ } | {
333
+ kind: "GasCoin";
334
+ } | {
335
+ kind: "Result";
336
+ index: number;
337
+ } | {
338
+ kind: "NestedResult";
339
+ index: number;
340
+ resultIndex: number;
341
+ }) & ({
342
+ kind: "Input";
343
+ index: number;
344
+ type?: "object" | "pure" | undefined;
345
+ value?: any;
346
+ } | {
347
+ kind: "GasCoin";
348
+ } | {
349
+ kind: "Result";
350
+ index: number;
351
+ } | {
352
+ kind: "NestedResult";
353
+ index: number;
354
+ resultIndex: number;
355
+ })[];
356
+ upgrade(...args: Parameters<(typeof Transactions)['Upgrade']>): ({
357
+ kind: "Input";
358
+ index: number;
359
+ type?: "object" | "pure" | undefined;
360
+ value?: any;
361
+ } | {
362
+ kind: "GasCoin";
363
+ } | {
364
+ kind: "Result";
365
+ index: number;
366
+ } | {
367
+ kind: "NestedResult";
368
+ index: number;
369
+ resultIndex: number;
370
+ }) & ({
371
+ kind: "Input";
372
+ index: number;
373
+ type?: "object" | "pure" | undefined;
374
+ value?: any;
375
+ } | {
376
+ kind: "GasCoin";
377
+ } | {
378
+ kind: "Result";
379
+ index: number;
380
+ } | {
381
+ kind: "NestedResult";
382
+ index: number;
383
+ resultIndex: number;
384
+ })[];
385
+ makeMoveVec(...args: Parameters<(typeof Transactions)['MakeMoveVec']>): ({
386
+ kind: "Input";
387
+ index: number;
388
+ type?: "object" | "pure" | undefined;
389
+ value?: any;
390
+ } | {
391
+ kind: "GasCoin";
392
+ } | {
393
+ kind: "Result";
394
+ index: number;
395
+ } | {
396
+ kind: "NestedResult";
397
+ index: number;
398
+ resultIndex: number;
399
+ }) & ({
400
+ kind: "Input";
401
+ index: number;
402
+ type?: "object" | "pure" | undefined;
403
+ value?: any;
404
+ } | {
405
+ kind: "GasCoin";
406
+ } | {
407
+ kind: "Result";
408
+ index: number;
409
+ } | {
410
+ kind: "NestedResult";
411
+ index: number;
412
+ resultIndex: number;
413
+ })[];
414
+ /**
415
+ * @description Move call
416
+ * @param target `${string}::${string}::${string}`, e.g. `0x3::sui_system::request_add_stake`
417
+ * @param args the arguments of the move call, such as `['0x1', '0x2']`
418
+ * @param typeArgs the type arguments of the move call, such as `['0x2::sui::SUI']`
419
+ */
420
+ moveCall(target: string, args?: (SuiTxArg | SuiVecTxArg)[], typeArgs?: string[]): ({
421
+ kind: "Input";
422
+ index: number;
423
+ type?: "object" | "pure" | undefined;
424
+ value?: any;
425
+ } | {
426
+ kind: "GasCoin";
427
+ } | {
428
+ kind: "Result";
429
+ index: number;
430
+ } | {
431
+ kind: "NestedResult";
432
+ index: number;
433
+ resultIndex: number;
434
+ }) & ({
435
+ kind: "Input";
436
+ index: number;
437
+ type?: "object" | "pure" | undefined;
438
+ value?: any;
439
+ } | {
440
+ kind: "GasCoin";
441
+ } | {
442
+ kind: "Result";
443
+ index: number;
444
+ } | {
445
+ kind: "NestedResult";
446
+ index: number;
447
+ resultIndex: number;
448
+ })[];
449
+ transferSuiToMany(recipients: string[], amounts: number[]): this;
450
+ transferSui(recipient: string, amount: number): this;
451
+ takeAmountFromCoins(coins: SuiObjectArg[], amount: number): ({
452
+ kind: "Input";
453
+ index: number;
454
+ type?: "object" | "pure" | undefined;
455
+ value?: any;
456
+ } | {
457
+ kind: "GasCoin";
458
+ } | {
459
+ kind: "Result";
460
+ index: number;
461
+ } | {
462
+ kind: "NestedResult";
463
+ index: number;
464
+ resultIndex: number;
465
+ })[];
466
+ splitSUIFromGas(amounts: number[]): ({
467
+ kind: "Input";
468
+ index: number;
469
+ type?: "object" | "pure" | undefined;
470
+ value?: any;
471
+ } | {
472
+ kind: "GasCoin";
473
+ } | {
474
+ kind: "Result";
475
+ index: number;
476
+ } | {
477
+ kind: "NestedResult";
478
+ index: number;
479
+ resultIndex: number;
480
+ }) & ({
481
+ kind: "Input";
482
+ index: number;
483
+ type?: "object" | "pure" | undefined;
484
+ value?: any;
485
+ } | {
486
+ kind: "GasCoin";
487
+ } | {
488
+ kind: "Result";
489
+ index: number;
490
+ } | {
491
+ kind: "NestedResult";
492
+ index: number;
493
+ resultIndex: number;
494
+ })[];
495
+ splitMultiCoins(coins: SuiObjectArg[], amounts: number[]): {
496
+ splitedCoins: ({
497
+ kind: "Input";
498
+ index: number;
499
+ type?: "object" | "pure" | undefined;
500
+ value?: any;
501
+ } | {
502
+ kind: "GasCoin";
503
+ } | {
504
+ kind: "Result";
505
+ index: number;
506
+ } | {
507
+ kind: "NestedResult";
508
+ index: number;
509
+ resultIndex: number;
510
+ }) & ({
511
+ kind: "Input";
512
+ index: number;
513
+ type?: "object" | "pure" | undefined;
514
+ value?: any;
515
+ } | {
516
+ kind: "GasCoin";
517
+ } | {
518
+ kind: "Result";
519
+ index: number;
520
+ } | {
521
+ kind: "NestedResult";
522
+ index: number;
523
+ resultIndex: number;
524
+ })[];
525
+ mergedCoin: {
526
+ kind: "Input";
527
+ index: number;
528
+ type?: "object" | "pure" | undefined;
529
+ value?: any;
530
+ } | {
531
+ kind: "GasCoin";
532
+ } | {
533
+ kind: "Result";
534
+ index: number;
535
+ } | {
536
+ kind: "NestedResult";
537
+ index: number;
538
+ resultIndex: number;
539
+ };
540
+ };
541
+ transferCoinToMany(inputCoins: SuiObjectArg[], sender: string, recipients: string[], amounts: number[]): this;
542
+ transferCoin(inputCoins: SuiObjectArg[], sender: string, recipient: string, amount: number): this;
543
+ stakeSui(amount: number, validatorAddr: string): TransactionBlock;
544
+ }
@@ -0,0 +1,76 @@
1
+ import { TransactionArgument, TransactionBlock } from '@mysten/sui.js';
2
+ import { SuiTxArg, SuiInputTypes } from 'src/types';
3
+ export declare const getDefaultSuiInputType: (value: any) => SuiInputTypes;
4
+ /**
5
+ * Since we know the elements in the array are the same type
6
+ * If type is not provided, we will try to infer the type from the first element
7
+ * By default,
8
+ *
9
+ * string starting with `0x` =====> object id
10
+ * number, bigint ====> u64
11
+ * boolean =====> bool
12
+ *
13
+ *
14
+ * If type is provided, we will use the type to convert the array
15
+ * @param args
16
+ * @param type 'address' | 'bool' | 'u8' | 'u16' | 'u32' | 'u64' | 'u128' | 'u256' | 'object'
17
+ */
18
+ export declare function makeVecParam(txBlock: TransactionBlock, args: SuiTxArg[], type?: SuiInputTypes): ({
19
+ kind: "GasCoin";
20
+ } & ({
21
+ kind: "Input";
22
+ index: number;
23
+ type?: "object" | "pure" | undefined;
24
+ value?: any;
25
+ } | {
26
+ kind: "GasCoin";
27
+ } | {
28
+ kind: "Result";
29
+ index: number;
30
+ } | {
31
+ kind: "NestedResult";
32
+ index: number;
33
+ resultIndex: number;
34
+ })[]) | ({
35
+ kind: "Result";
36
+ index: number;
37
+ } & ({
38
+ kind: "Input";
39
+ index: number;
40
+ type?: "object" | "pure" | undefined;
41
+ value?: any;
42
+ } | {
43
+ kind: "GasCoin";
44
+ } | {
45
+ kind: "Result";
46
+ index: number;
47
+ } | {
48
+ kind: "NestedResult";
49
+ index: number;
50
+ resultIndex: number;
51
+ })[]) | ({
52
+ kind: "NestedResult";
53
+ index: number;
54
+ resultIndex: number;
55
+ } & ({
56
+ kind: "Input";
57
+ index: number;
58
+ type?: "object" | "pure" | undefined;
59
+ value?: any;
60
+ } | {
61
+ kind: "GasCoin";
62
+ } | {
63
+ kind: "Result";
64
+ index: number;
65
+ } | {
66
+ kind: "NestedResult";
67
+ index: number;
68
+ resultIndex: number;
69
+ })[]) | {
70
+ kind: "Input";
71
+ index: number;
72
+ type?: "object" | "pure" | undefined;
73
+ value?: any;
74
+ };
75
+ export declare function isMoveVecArg(arg: any): any;
76
+ export declare function convertArgs(txBlock: TransactionBlock, args: any[]): TransactionArgument[];
@@ -0,0 +1,34 @@
1
+ import { NetworkType } from 'src/types';
2
+ export declare function getMetadata(networkType: NetworkType, packageId: string): Promise<Record<string, {
3
+ address: string;
4
+ name: string;
5
+ fileFormatVersion: number;
6
+ friends: {
7
+ address: string;
8
+ name: string;
9
+ }[];
10
+ structs: Record<string, {
11
+ fields: {
12
+ type: import("@mysten/sui.js").SuiMoveNormalizedType;
13
+ name: string;
14
+ }[];
15
+ abilities: {
16
+ abilities: string[];
17
+ };
18
+ typeParameters: {
19
+ constraints: {
20
+ abilities: string[];
21
+ };
22
+ isPhantom: boolean;
23
+ }[];
24
+ }>;
25
+ exposedFunctions: Record<string, {
26
+ visibility: "Private" | "Public" | "Friend";
27
+ isEntry: boolean;
28
+ typeParameters: {
29
+ abilities: string[];
30
+ }[];
31
+ parameters: import("@mysten/sui.js").SuiMoveNormalizedType[];
32
+ return: import("@mysten/sui.js").SuiMoveNormalizedType[];
33
+ }>;
34
+ }> | undefined>;