@bitgo-beta/sdk-coin-sui 3.0.3-beta.2101 → 3.0.3-beta.2102
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/dist/src/lib/grpcClient.d.ts +107 -0
- package/dist/src/lib/grpcClient.d.ts.map +1 -0
- package/dist/src/lib/grpcClient.js +120 -0
- package/dist/src/lib/mystenlab/types/coin.d.ts +1 -1
- package/dist/src/lib/mystenlab/types/events.d.ts +2 -2
- package/dist/src/lib/mystenlab/types/transactions.d.ts +1 -1
- package/dist/src/lib/utils.d.ts +67 -7
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +158 -51
- package/dist/src/sui.d.ts +12 -1
- package/dist/src/sui.d.ts.map +1 -1
- package/dist/src/sui.js +34 -13
- package/dist/test/unit/sui.js +14 -1
- package/dist/test/unit/utils.js +360 -72
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -8
- package/dist/src/lib/rpcClient.d.ts +0 -5
- package/dist/src/lib/rpcClient.d.ts.map +0 -1
- package/dist/src/lib/rpcClient.js +0 -81
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural surface of the GrpcCoreClient namespace of @mysten/sui that the
|
|
3
|
+
* Sui SDK's node interactions rely on. Shapes are verified against
|
|
4
|
+
* @mysten/sui@2.20.0 (src/grpc/core.ts); the exact version pin in package.json
|
|
5
|
+
* keeps them stable across upgrades, so no field is silently defaulted —
|
|
6
|
+
* helpers below hard-throw when expected fields are missing.
|
|
7
|
+
*/
|
|
8
|
+
export interface SuiGrpcCoreClient {
|
|
9
|
+
getBalance(options: {
|
|
10
|
+
owner: string;
|
|
11
|
+
coinType?: string;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
balance: {
|
|
14
|
+
balance: string;
|
|
15
|
+
coinType: string;
|
|
16
|
+
coinBalance: string;
|
|
17
|
+
addressBalance: string;
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
listCoins(options: {
|
|
21
|
+
owner: string;
|
|
22
|
+
coinType?: string;
|
|
23
|
+
cursor?: string | null;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
objects: Array<{
|
|
26
|
+
objectId: string;
|
|
27
|
+
version: string;
|
|
28
|
+
digest: string;
|
|
29
|
+
balance: string;
|
|
30
|
+
type?: string;
|
|
31
|
+
}>;
|
|
32
|
+
hasNextPage: boolean;
|
|
33
|
+
cursor: string | null;
|
|
34
|
+
}>;
|
|
35
|
+
simulateTransaction(options: {
|
|
36
|
+
transaction: Uint8Array;
|
|
37
|
+
checksEnabled: boolean;
|
|
38
|
+
include: {
|
|
39
|
+
effects: boolean;
|
|
40
|
+
};
|
|
41
|
+
}): Promise<{
|
|
42
|
+
$kind: 'Transaction' | 'FailedTransaction';
|
|
43
|
+
Transaction?: {
|
|
44
|
+
digest?: string;
|
|
45
|
+
status?: {
|
|
46
|
+
success?: boolean;
|
|
47
|
+
};
|
|
48
|
+
effects?: {
|
|
49
|
+
status?: {
|
|
50
|
+
success?: boolean;
|
|
51
|
+
};
|
|
52
|
+
gasUsed?: {
|
|
53
|
+
computationCost?: string;
|
|
54
|
+
storageCost?: string;
|
|
55
|
+
storageRebate?: string;
|
|
56
|
+
nonRefundableStorageFee?: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
FailedTransaction?: {
|
|
61
|
+
digest?: string;
|
|
62
|
+
};
|
|
63
|
+
}>;
|
|
64
|
+
getCurrentSystemState(): Promise<{
|
|
65
|
+
systemState?: {
|
|
66
|
+
epoch?: string | number | bigint | null;
|
|
67
|
+
};
|
|
68
|
+
}>;
|
|
69
|
+
getChainIdentifier(): Promise<{
|
|
70
|
+
chainIdentifier: string;
|
|
71
|
+
}>;
|
|
72
|
+
executeTransaction(options: {
|
|
73
|
+
transaction: Uint8Array;
|
|
74
|
+
signatures: string[];
|
|
75
|
+
}): Promise<{
|
|
76
|
+
$kind: 'Transaction' | 'FailedTransaction';
|
|
77
|
+
Transaction?: {
|
|
78
|
+
digest?: string;
|
|
79
|
+
};
|
|
80
|
+
FailedTransaction?: {
|
|
81
|
+
digest?: string;
|
|
82
|
+
};
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The real @mysten/sui SuiGrpcClient nests its methods under a `core`
|
|
87
|
+
* (GrpcCoreClient) namespace. Mirror that nesting so SDK call sites go through
|
|
88
|
+
* the same surface production consumers of @mysten/sui use.
|
|
89
|
+
*/
|
|
90
|
+
export interface SuiGrpcClient {
|
|
91
|
+
core: SuiGrpcCoreClient;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Creates a Sui gRPC client. Node: native transport; browser: gRPC-web
|
|
95
|
+
* (SuiGrpcClient's default fetch transport, given the URL as base). One
|
|
96
|
+
* client (and connection) is cached per url+network and reused across calls.
|
|
97
|
+
*/
|
|
98
|
+
export declare function createSuiGrpcClient(url: string, network: 'mainnet' | 'testnet'): Promise<SuiGrpcClient>;
|
|
99
|
+
/**
|
|
100
|
+
* Closes a client's underlying connection and evicts it from the cache, so
|
|
101
|
+
* the next createSuiGrpcClient for the same endpoint builds a fresh client.
|
|
102
|
+
* Idempotent; also accepts clients that were never cached.
|
|
103
|
+
*/
|
|
104
|
+
export declare function closeSuiGrpcClient(client: SuiGrpcClient): void;
|
|
105
|
+
/** Test-only: tear down every cached client so suites do not share sockets. */
|
|
106
|
+
export declare function __resetSuiGrpcClientCacheForTest(): void;
|
|
107
|
+
//# sourceMappingURL=grpcClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grpcClient.d.ts","sourceRoot":"","sources":["../../../src/lib/grpcClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACjE,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QACxF,OAAO,EAAE,KAAK,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,WAAW,EAAE,OAAO,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC,CAAC;IACH,mBAAmB,CAAC,OAAO,EAAE;QAC3B,WAAW,EAAE,UAAU,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;KAC/B,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,aAAa,GAAG,mBAAmB,CAAC;QAC3C,WAAW,CAAC,EAAE;YACZ,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC;YAC/B,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,EAAE;oBAAE,OAAO,CAAC,EAAE,OAAO,CAAA;iBAAE,CAAC;gBAC/B,OAAO,CAAC,EAAE;oBACR,eAAe,CAAC,EAAE,MAAM,CAAC;oBACzB,WAAW,CAAC,EAAE,MAAM,CAAC;oBACrB,aAAa,CAAC,EAAE,MAAM,CAAC;oBACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;iBAClC,CAAC;aACH,CAAC;SACH,CAAC;QACF,iBAAiB,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzC,CAAC,CAAC;IACH,qBAAqB,IAAI,OAAO,CAAC;QAAE,WAAW,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAChG,kBAAkB,IAAI,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,kBAAkB,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QACtF,KAAK,EAAE,aAAa,GAAG,mBAAmB,CAAC;QAC3C,WAAW,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,iBAAiB,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzC,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAwBD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAqC7G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAY9D;AAED,+EAA+E;AAC/E,wBAAgB,gCAAgC,IAAI,IAAI,CAKvD"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createSuiGrpcClient = createSuiGrpcClient;
|
|
37
|
+
exports.closeSuiGrpcClient = closeSuiGrpcClient;
|
|
38
|
+
exports.__resetSuiGrpcClientCacheForTest = __resetSuiGrpcClientCacheForTest;
|
|
39
|
+
/**
|
|
40
|
+
* Per-call deadline applied to every gRPC call made through this transport.
|
|
41
|
+
* The legacy JSON-RPC client enforced a request timeout; an unbounded gRPC
|
|
42
|
+
* deadline would let a hung fullnode hang balance/sweep/broadcast flows
|
|
43
|
+
* indefinitely. 10s bounds those flows while leaving headroom over the legacy
|
|
44
|
+
* 3s for dry-run simulations on loaded nodes.
|
|
45
|
+
*/
|
|
46
|
+
const SUI_GRPC_CALL_TIMEOUT_MS = 10000;
|
|
47
|
+
function isBrowserEnvironment() {
|
|
48
|
+
return typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
49
|
+
}
|
|
50
|
+
// protobuf-ts service clients hold their transport under a private `_transport`
|
|
51
|
+
// field that the structural SuiGrpcClient type cannot express; the shape is
|
|
52
|
+
// fixed at the pinned @mysten/sui version.
|
|
53
|
+
function transportOf(client) {
|
|
54
|
+
const transportHolder = client;
|
|
55
|
+
return transportHolder.transactionExecutionService._transport;
|
|
56
|
+
}
|
|
57
|
+
const clientCache = new Map();
|
|
58
|
+
/**
|
|
59
|
+
* Creates a Sui gRPC client. Node: native transport; browser: gRPC-web
|
|
60
|
+
* (SuiGrpcClient's default fetch transport, given the URL as base). One
|
|
61
|
+
* client (and connection) is cached per url+network and reused across calls.
|
|
62
|
+
*/
|
|
63
|
+
async function createSuiGrpcClient(url, network) {
|
|
64
|
+
const key = `${network}|${url}`;
|
|
65
|
+
const cached = clientCache.get(key);
|
|
66
|
+
if (cached) {
|
|
67
|
+
return cached.client;
|
|
68
|
+
}
|
|
69
|
+
// TS cannot resolve this ESM-only exports subpath under CJS resolution.
|
|
70
|
+
const grpcModule = require('@mysten/sui/grpc');
|
|
71
|
+
let client;
|
|
72
|
+
if (isBrowserEnvironment()) {
|
|
73
|
+
const { SuiGrpcClient } = grpcModule;
|
|
74
|
+
client = new SuiGrpcClient({ network, baseUrl: url });
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const [{ GrpcTransport }, { ChannelCredentials }] = await Promise.all([
|
|
78
|
+
Promise.resolve().then(() => __importStar(require('@protobuf-ts/grpc-transport'))),
|
|
79
|
+
Promise.resolve().then(() => __importStar(require('@grpc/grpc-js'))),
|
|
80
|
+
]);
|
|
81
|
+
const isTls = !url.startsWith('http://');
|
|
82
|
+
const host = url.replace(/^https?:\/\//i, '');
|
|
83
|
+
const transport = new GrpcTransport({
|
|
84
|
+
host,
|
|
85
|
+
channelCredentials: isTls ? ChannelCredentials.createSsl() : ChannelCredentials.createInsecure(),
|
|
86
|
+
timeout: SUI_GRPC_CALL_TIMEOUT_MS,
|
|
87
|
+
});
|
|
88
|
+
const { SuiGrpcClient: NativeSuiGrpcClient } = grpcModule;
|
|
89
|
+
client = new NativeSuiGrpcClient({ network, transport });
|
|
90
|
+
}
|
|
91
|
+
clientCache.set(key, { client });
|
|
92
|
+
return client;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Closes a client's underlying connection and evicts it from the cache, so
|
|
96
|
+
* the next createSuiGrpcClient for the same endpoint builds a fresh client.
|
|
97
|
+
* Idempotent; also accepts clients that were never cached.
|
|
98
|
+
*/
|
|
99
|
+
function closeSuiGrpcClient(client) {
|
|
100
|
+
for (const [key, cached] of clientCache.entries()) {
|
|
101
|
+
if (cached.client === client) {
|
|
102
|
+
clientCache.delete(key);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const transport = transportOf(client);
|
|
106
|
+
try {
|
|
107
|
+
transport.close?.();
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// transport already closed
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** Test-only: tear down every cached client so suites do not share sockets. */
|
|
114
|
+
function __resetSuiGrpcClientCacheForTest() {
|
|
115
|
+
for (const { client } of clientCache.values()) {
|
|
116
|
+
closeSuiGrpcClient(client);
|
|
117
|
+
}
|
|
118
|
+
clientCache.clear();
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JwY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ3JwY0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZGQSxrREFxQ0M7QUFPRCxnREFZQztBQUdELDRFQUtDO0FBM0ZEOzs7Ozs7R0FNRztBQUNILE1BQU0sd0JBQXdCLEdBQUcsS0FBTSxDQUFDO0FBRXhDLFNBQVMsb0JBQW9CO0lBQzNCLE9BQU8sT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUM7QUFDakYsQ0FBQztBQUVELGdGQUFnRjtBQUNoRiw0RUFBNEU7QUFDNUUsMkNBQTJDO0FBQzNDLFNBQVMsV0FBVyxDQUFDLE1BQXFCO0lBQ3hDLE1BQU0sZUFBZSxHQUFHLE1BQTZFLENBQUM7SUFDdEcsT0FBTyxlQUFlLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDO0FBQ2hFLENBQUM7QUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztBQUVqRTs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxPQUE4QjtJQUNuRixNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELHdFQUF3RTtJQUN4RSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBTTVDLENBQUM7SUFFRixJQUFJLE1BQXFCLENBQUM7SUFDMUIsSUFBSSxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDM0IsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUNyQyxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7OERBQzdELDZCQUE2Qjs4REFDN0IsZUFBZTtTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDbEMsSUFBSTtZQUNKLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRTtZQUNoRyxPQUFPLEVBQUUsd0JBQXdCO1NBQ2xDLENBQUMsQ0FBQztRQUNILE1BQU0sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDMUQsTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsTUFBcUI7SUFDdEQsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM3QixXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBMkIsQ0FBQztJQUNoRSxJQUFJLENBQUM7UUFDSCxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsMkJBQTJCO0lBQzdCLENBQUM7QUFDSCxDQUFDO0FBRUQsK0VBQStFO0FBQy9FLFNBQWdCLGdDQUFnQztJQUM5QyxLQUFLLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUM5QyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0cnVjdHVyYWwgc3VyZmFjZSBvZiB0aGUgR3JwY0NvcmVDbGllbnQgbmFtZXNwYWNlIG9mIEBteXN0ZW4vc3VpIHRoYXQgdGhlXG4gKiBTdWkgU0RLJ3Mgbm9kZSBpbnRlcmFjdGlvbnMgcmVseSBvbi4gU2hhcGVzIGFyZSB2ZXJpZmllZCBhZ2FpbnN0XG4gKiBAbXlzdGVuL3N1aUAyLjIwLjAgKHNyYy9ncnBjL2NvcmUudHMpOyB0aGUgZXhhY3QgdmVyc2lvbiBwaW4gaW4gcGFja2FnZS5qc29uXG4gKiBrZWVwcyB0aGVtIHN0YWJsZSBhY3Jvc3MgdXBncmFkZXMsIHNvIG5vIGZpZWxkIGlzIHNpbGVudGx5IGRlZmF1bHRlZCDigJRcbiAqIGhlbHBlcnMgYmVsb3cgaGFyZC10aHJvdyB3aGVuIGV4cGVjdGVkIGZpZWxkcyBhcmUgbWlzc2luZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWlHcnBjQ29yZUNsaWVudCB7XG4gIGdldEJhbGFuY2Uob3B0aW9uczogeyBvd25lcjogc3RyaW5nOyBjb2luVHlwZT86IHN0cmluZyB9KTogUHJvbWlzZTx7XG4gICAgYmFsYW5jZToge1xuICAgICAgYmFsYW5jZTogc3RyaW5nO1xuICAgICAgY29pblR5cGU6IHN0cmluZztcbiAgICAgIGNvaW5CYWxhbmNlOiBzdHJpbmc7XG4gICAgICBhZGRyZXNzQmFsYW5jZTogc3RyaW5nO1xuICAgIH07XG4gIH0+O1xuICBsaXN0Q29pbnMob3B0aW9uczogeyBvd25lcjogc3RyaW5nOyBjb2luVHlwZT86IHN0cmluZzsgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB9KTogUHJvbWlzZTx7XG4gICAgb2JqZWN0czogQXJyYXk8e1xuICAgICAgb2JqZWN0SWQ6IHN0cmluZztcbiAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICAgIGRpZ2VzdDogc3RyaW5nO1xuICAgICAgYmFsYW5jZTogc3RyaW5nO1xuICAgICAgdHlwZT86IHN0cmluZztcbiAgICB9PjtcbiAgICBoYXNOZXh0UGFnZTogYm9vbGVhbjtcbiAgICBjdXJzb3I6IHN0cmluZyB8IG51bGw7XG4gIH0+O1xuICBzaW11bGF0ZVRyYW5zYWN0aW9uKG9wdGlvbnM6IHtcbiAgICB0cmFuc2FjdGlvbjogVWludDhBcnJheTtcbiAgICBjaGVja3NFbmFibGVkOiBib29sZWFuO1xuICAgIGluY2x1ZGU6IHsgZWZmZWN0czogYm9vbGVhbiB9O1xuICB9KTogUHJvbWlzZTx7XG4gICAgJGtpbmQ6ICdUcmFuc2FjdGlvbicgfCAnRmFpbGVkVHJhbnNhY3Rpb24nO1xuICAgIFRyYW5zYWN0aW9uPzoge1xuICAgICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgICAgc3RhdHVzPzogeyBzdWNjZXNzPzogYm9vbGVhbiB9O1xuICAgICAgZWZmZWN0cz86IHtcbiAgICAgICAgc3RhdHVzPzogeyBzdWNjZXNzPzogYm9vbGVhbiB9O1xuICAgICAgICBnYXNVc2VkPzoge1xuICAgICAgICAgIGNvbXB1dGF0aW9uQ29zdD86IHN0cmluZztcbiAgICAgICAgICBzdG9yYWdlQ29zdD86IHN0cmluZztcbiAgICAgICAgICBzdG9yYWdlUmViYXRlPzogc3RyaW5nO1xuICAgICAgICAgIG5vblJlZnVuZGFibGVTdG9yYWdlRmVlPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9O1xuICAgIEZhaWxlZFRyYW5zYWN0aW9uPzogeyBkaWdlc3Q/OiBzdHJpbmcgfTtcbiAgfT47XG4gIGdldEN1cnJlbnRTeXN0ZW1TdGF0ZSgpOiBQcm9taXNlPHsgc3lzdGVtU3RhdGU/OiB7IGVwb2NoPzogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50IHwgbnVsbCB9IH0+O1xuICBnZXRDaGFpbklkZW50aWZpZXIoKTogUHJvbWlzZTx7IGNoYWluSWRlbnRpZmllcjogc3RyaW5nIH0+O1xuICBleGVjdXRlVHJhbnNhY3Rpb24ob3B0aW9uczogeyB0cmFuc2FjdGlvbjogVWludDhBcnJheTsgc2lnbmF0dXJlczogc3RyaW5nW10gfSk6IFByb21pc2U8e1xuICAgICRraW5kOiAnVHJhbnNhY3Rpb24nIHwgJ0ZhaWxlZFRyYW5zYWN0aW9uJztcbiAgICBUcmFuc2FjdGlvbj86IHsgZGlnZXN0Pzogc3RyaW5nIH07XG4gICAgRmFpbGVkVHJhbnNhY3Rpb24/OiB7IGRpZ2VzdD86IHN0cmluZyB9O1xuICB9Pjtcbn1cblxuLyoqXG4gKiBUaGUgcmVhbCBAbXlzdGVuL3N1aSBTdWlHcnBjQ2xpZW50IG5lc3RzIGl0cyBtZXRob2RzIHVuZGVyIGEgYGNvcmVgXG4gKiAoR3JwY0NvcmVDbGllbnQpIG5hbWVzcGFjZS4gTWlycm9yIHRoYXQgbmVzdGluZyBzbyBTREsgY2FsbCBzaXRlcyBnbyB0aHJvdWdoXG4gKiB0aGUgc2FtZSBzdXJmYWNlIHByb2R1Y3Rpb24gY29uc3VtZXJzIG9mIEBteXN0ZW4vc3VpIHVzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWlHcnBjQ2xpZW50IHtcbiAgY29yZTogU3VpR3JwY0NvcmVDbGllbnQ7XG59XG5cbi8qKlxuICogUGVyLWNhbGwgZGVhZGxpbmUgYXBwbGllZCB0byBldmVyeSBnUlBDIGNhbGwgbWFkZSB0aHJvdWdoIHRoaXMgdHJhbnNwb3J0LlxuICogVGhlIGxlZ2FjeSBKU09OLVJQQyBjbGllbnQgZW5mb3JjZWQgYSByZXF1ZXN0IHRpbWVvdXQ7IGFuIHVuYm91bmRlZCBnUlBDXG4gKiBkZWFkbGluZSB3b3VsZCBsZXQgYSBodW5nIGZ1bGxub2RlIGhhbmcgYmFsYW5jZS9zd2VlcC9icm9hZGNhc3QgZmxvd3NcbiAqIGluZGVmaW5pdGVseS4gMTBzIGJvdW5kcyB0aG9zZSBmbG93cyB3aGlsZSBsZWF2aW5nIGhlYWRyb29tIG92ZXIgdGhlIGxlZ2FjeVxuICogM3MgZm9yIGRyeS1ydW4gc2ltdWxhdGlvbnMgb24gbG9hZGVkIG5vZGVzLlxuICovXG5jb25zdCBTVUlfR1JQQ19DQUxMX1RJTUVPVVRfTVMgPSAxMF8wMDA7XG5cbmZ1bmN0aW9uIGlzQnJvd3NlckVudmlyb25tZW50KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5kb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCc7XG59XG5cbi8vIHByb3RvYnVmLXRzIHNlcnZpY2UgY2xpZW50cyBob2xkIHRoZWlyIHRyYW5zcG9ydCB1bmRlciBhIHByaXZhdGUgYF90cmFuc3BvcnRgXG4vLyBmaWVsZCB0aGF0IHRoZSBzdHJ1Y3R1cmFsIFN1aUdycGNDbGllbnQgdHlwZSBjYW5ub3QgZXhwcmVzczsgdGhlIHNoYXBlIGlzXG4vLyBmaXhlZCBhdCB0aGUgcGlubmVkIEBteXN0ZW4vc3VpIHZlcnNpb24uXG5mdW5jdGlvbiB0cmFuc3BvcnRPZihjbGllbnQ6IFN1aUdycGNDbGllbnQpOiB1bmtub3duIHtcbiAgY29uc3QgdHJhbnNwb3J0SG9sZGVyID0gY2xpZW50IGFzIHVua25vd24gYXMgeyB0cmFuc2FjdGlvbkV4ZWN1dGlvblNlcnZpY2U6IHsgX3RyYW5zcG9ydDogdW5rbm93biB9IH07XG4gIHJldHVybiB0cmFuc3BvcnRIb2xkZXIudHJhbnNhY3Rpb25FeGVjdXRpb25TZXJ2aWNlLl90cmFuc3BvcnQ7XG59XG5jb25zdCBjbGllbnRDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCB7IGNsaWVudDogU3VpR3JwY0NsaWVudCB9PigpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBTdWkgZ1JQQyBjbGllbnQuIE5vZGU6IG5hdGl2ZSB0cmFuc3BvcnQ7IGJyb3dzZXI6IGdSUEMtd2ViXG4gKiAoU3VpR3JwY0NsaWVudCdzIGRlZmF1bHQgZmV0Y2ggdHJhbnNwb3J0LCBnaXZlbiB0aGUgVVJMIGFzIGJhc2UpLiBPbmVcbiAqIGNsaWVudCAoYW5kIGNvbm5lY3Rpb24pIGlzIGNhY2hlZCBwZXIgdXJsK25ldHdvcmsgYW5kIHJldXNlZCBhY3Jvc3MgY2FsbHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVTdWlHcnBjQ2xpZW50KHVybDogc3RyaW5nLCBuZXR3b3JrOiAnbWFpbm5ldCcgfCAndGVzdG5ldCcpOiBQcm9taXNlPFN1aUdycGNDbGllbnQ+IHtcbiAgY29uc3Qga2V5ID0gYCR7bmV0d29ya318JHt1cmx9YDtcbiAgY29uc3QgY2FjaGVkID0gY2xpZW50Q2FjaGUuZ2V0KGtleSk7XG4gIGlmIChjYWNoZWQpIHtcbiAgICByZXR1cm4gY2FjaGVkLmNsaWVudDtcbiAgfVxuXG4gIC8vIFRTIGNhbm5vdCByZXNvbHZlIHRoaXMgRVNNLW9ubHkgZXhwb3J0cyBzdWJwYXRoIHVuZGVyIENKUyByZXNvbHV0aW9uLlxuICBjb25zdCBncnBjTW9kdWxlID0gcmVxdWlyZSgnQG15c3Rlbi9zdWkvZ3JwYycpIGFzIHtcbiAgICBTdWlHcnBjQ2xpZW50OiBuZXcgKG9wdGlvbnM6IHtcbiAgICAgIG5ldHdvcms6ICdtYWlubmV0JyB8ICd0ZXN0bmV0JztcbiAgICAgIHRyYW5zcG9ydD86IHVua25vd247XG4gICAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIH0pID0+IFN1aUdycGNDbGllbnQ7XG4gIH07XG5cbiAgbGV0IGNsaWVudDogU3VpR3JwY0NsaWVudDtcbiAgaWYgKGlzQnJvd3NlckVudmlyb25tZW50KCkpIHtcbiAgICBjb25zdCB7IFN1aUdycGNDbGllbnQgfSA9IGdycGNNb2R1bGU7XG4gICAgY2xpZW50ID0gbmV3IFN1aUdycGNDbGllbnQoeyBuZXR3b3JrLCBiYXNlVXJsOiB1cmwgfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgW3sgR3JwY1RyYW5zcG9ydCB9LCB7IENoYW5uZWxDcmVkZW50aWFscyB9XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIGltcG9ydCgnQHByb3RvYnVmLXRzL2dycGMtdHJhbnNwb3J0JyksXG4gICAgICBpbXBvcnQoJ0BncnBjL2dycGMtanMnKSxcbiAgICBdKTtcbiAgICBjb25zdCBpc1RscyA9ICF1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpO1xuICAgIGNvbnN0IGhvc3QgPSB1cmwucmVwbGFjZSgvXmh0dHBzPzpcXC9cXC8vaSwgJycpO1xuICAgIGNvbnN0IHRyYW5zcG9ydCA9IG5ldyBHcnBjVHJhbnNwb3J0KHtcbiAgICAgIGhvc3QsXG4gICAgICBjaGFubmVsQ3JlZGVudGlhbHM6IGlzVGxzID8gQ2hhbm5lbENyZWRlbnRpYWxzLmNyZWF0ZVNzbCgpIDogQ2hhbm5lbENyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCksXG4gICAgICB0aW1lb3V0OiBTVUlfR1JQQ19DQUxMX1RJTUVPVVRfTVMsXG4gICAgfSk7XG4gICAgY29uc3QgeyBTdWlHcnBjQ2xpZW50OiBOYXRpdmVTdWlHcnBjQ2xpZW50IH0gPSBncnBjTW9kdWxlO1xuICAgIGNsaWVudCA9IG5ldyBOYXRpdmVTdWlHcnBjQ2xpZW50KHsgbmV0d29yaywgdHJhbnNwb3J0IH0pO1xuICB9XG4gIGNsaWVudENhY2hlLnNldChrZXksIHsgY2xpZW50IH0pO1xuICByZXR1cm4gY2xpZW50O1xufVxuXG4vKipcbiAqIENsb3NlcyBhIGNsaWVudCdzIHVuZGVybHlpbmcgY29ubmVjdGlvbiBhbmQgZXZpY3RzIGl0IGZyb20gdGhlIGNhY2hlLCBzb1xuICogdGhlIG5leHQgY3JlYXRlU3VpR3JwY0NsaWVudCBmb3IgdGhlIHNhbWUgZW5kcG9pbnQgYnVpbGRzIGEgZnJlc2ggY2xpZW50LlxuICogSWRlbXBvdGVudDsgYWxzbyBhY2NlcHRzIGNsaWVudHMgdGhhdCB3ZXJlIG5ldmVyIGNhY2hlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlU3VpR3JwY0NsaWVudChjbGllbnQ6IFN1aUdycGNDbGllbnQpOiB2b2lkIHtcbiAgZm9yIChjb25zdCBba2V5LCBjYWNoZWRdIG9mIGNsaWVudENhY2hlLmVudHJpZXMoKSkge1xuICAgIGlmIChjYWNoZWQuY2xpZW50ID09PSBjbGllbnQpIHtcbiAgICAgIGNsaWVudENhY2hlLmRlbGV0ZShrZXkpO1xuICAgIH1cbiAgfVxuICBjb25zdCB0cmFuc3BvcnQgPSB0cmFuc3BvcnRPZihjbGllbnQpIGFzIHsgY2xvc2U/OiAoKSA9PiB2b2lkIH07XG4gIHRyeSB7XG4gICAgdHJhbnNwb3J0LmNsb3NlPy4oKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gdHJhbnNwb3J0IGFscmVhZHkgY2xvc2VkXG4gIH1cbn1cblxuLyoqIFRlc3Qtb25seTogdGVhciBkb3duIGV2ZXJ5IGNhY2hlZCBjbGllbnQgc28gc3VpdGVzIGRvIG5vdCBzaGFyZSBzb2NrZXRzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzZXRTdWlHcnBjQ2xpZW50Q2FjaGVGb3JUZXN0KCk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHsgY2xpZW50IH0gb2YgY2xpZW50Q2FjaGUudmFsdWVzKCkpIHtcbiAgICBjbG9zZVN1aUdycGNDbGllbnQoY2xpZW50KTtcbiAgfVxuICBjbGllbnRDYWNoZS5jbGVhcigpO1xufVxuIl19
|
|
@@ -27,8 +27,8 @@ export declare const PaginatedCoins: import("superstruct").Struct<{
|
|
|
27
27
|
coinObjectId: string;
|
|
28
28
|
lockedUntilEpoch: number | null;
|
|
29
29
|
}[];
|
|
30
|
-
hasNextPage: boolean;
|
|
31
30
|
nextCursor: string | null;
|
|
31
|
+
hasNextPage: boolean;
|
|
32
32
|
}, {
|
|
33
33
|
data: import("superstruct").Struct<{
|
|
34
34
|
digest: string;
|
|
@@ -91,11 +91,11 @@ export declare const PaginatedEvents: import("superstruct").Struct<{
|
|
|
91
91
|
parsedJson?: Record<string, any> | undefined;
|
|
92
92
|
timestampMs?: number | undefined;
|
|
93
93
|
}[];
|
|
94
|
-
hasNextPage: boolean;
|
|
95
94
|
nextCursor: {
|
|
96
95
|
txDigest: string;
|
|
97
96
|
eventSeq: number;
|
|
98
97
|
} | null;
|
|
98
|
+
hasNextPage: boolean;
|
|
99
99
|
}, {
|
|
100
100
|
data: import("superstruct").Struct<{
|
|
101
101
|
type: string;
|
|
@@ -147,6 +147,7 @@ export type PaginatedEvents = Infer<typeof PaginatedEvents>;
|
|
|
147
147
|
export declare const SubscriptionId: import("superstruct").Struct<number, null>;
|
|
148
148
|
export type SubscriptionId = Infer<typeof SubscriptionId>;
|
|
149
149
|
export declare const SubscriptionEvent: import("superstruct").Struct<{
|
|
150
|
+
subscription: number;
|
|
150
151
|
result: {
|
|
151
152
|
type: string;
|
|
152
153
|
id: {
|
|
@@ -160,7 +161,6 @@ export declare const SubscriptionEvent: import("superstruct").Struct<{
|
|
|
160
161
|
parsedJson?: Record<string, any> | undefined;
|
|
161
162
|
timestampMs?: number | undefined;
|
|
162
163
|
};
|
|
163
|
-
subscription: number;
|
|
164
164
|
}, {
|
|
165
165
|
subscription: import("superstruct").Struct<number, null>;
|
|
166
166
|
result: import("superstruct").Struct<{
|
|
@@ -4209,8 +4209,8 @@ export declare const PaginatedTransactionResponse: import("superstruct").Struct<
|
|
|
4209
4209
|
}[] | undefined;
|
|
4210
4210
|
errors?: string[] | undefined;
|
|
4211
4211
|
}[];
|
|
4212
|
-
hasNextPage: boolean;
|
|
4213
4212
|
nextCursor: string | null;
|
|
4213
|
+
hasNextPage: boolean;
|
|
4214
4214
|
}, {
|
|
4215
4215
|
data: import("superstruct").Struct<{
|
|
4216
4216
|
digest: string;
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -3,6 +3,13 @@ import BigNumber from 'bignumber.js';
|
|
|
3
3
|
import { RequestAddStake, RequestWalrusStakeWithPool, RequestWalrusWithdrawStake, StakingProgrammableTransaction, WalrusStakingProgrammableTransaction, WalrusWithdrawStakeProgrammableTransaction, SuiBalanceInfo, SuiObjectInfo, SuiProgrammableTransaction, SuiTransaction, SuiTransactionType } from './iface';
|
|
4
4
|
import { SuiJsonValue, SuiObjectRef } from './mystenlab/types';
|
|
5
5
|
import { ObjectCallArg, TransactionBlockInput, TransactionType as TransactionCommandType } from './mystenlab/builder';
|
|
6
|
+
import { createSuiGrpcClient, SuiGrpcClient } from './grpcClient';
|
|
7
|
+
/**
|
|
8
|
+
* First argument accepted by the exported util helpers: a pre-built gRPC
|
|
9
|
+
* client (current style) or the legacy node URL (backwards-compatible with
|
|
10
|
+
* the pre-migration signatures that took a JSON-RPC url).
|
|
11
|
+
*/
|
|
12
|
+
export type SuiGrpcClientOrUrl = SuiGrpcClient | string;
|
|
6
13
|
import { BaseNetwork } from '@bitgo-beta/statics';
|
|
7
14
|
export declare function isImmOrOwnedObj(obj: ObjectCallArg['Object']): obj is {
|
|
8
15
|
ImmOrOwned: SuiObjectRef;
|
|
@@ -101,19 +108,72 @@ export declare class Utils implements BaseUtils {
|
|
|
101
108
|
normalizeSuiObjectRef(obj: SuiObjectRef): SuiObjectRef;
|
|
102
109
|
transactionInput(type: 'object' | 'pure', index?: number, value?: unknown): TransactionBlockInput;
|
|
103
110
|
getAddressFromPublicKey(publicKey: string): string;
|
|
104
|
-
getFeeEstimate(url: string, txHex: string): Promise<BigNumber>;
|
|
105
111
|
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
112
|
+
* Test-only: swap (or reset with undefined) the factory used for url-style
|
|
113
|
+
* calls, mirroring the __setSuiEsmOverridesForTest seam in sui.ts.
|
|
114
|
+
*/
|
|
115
|
+
__setUrlClientFactoryForTest(factory: typeof createSuiGrpcClient | undefined): void;
|
|
116
|
+
/**
|
|
117
|
+
* Estimates the fee (in MIST) for a transaction by dry-running it against the
|
|
118
|
+
* Sui node with full transaction checks (sui_dryRunTransactionBlock parity).
|
|
119
|
+
* The returned estimate is max(computation + storage - rebate, computation).
|
|
120
|
+
* @param {SuiGrpcClient | string} clientOrUrl - A pre-built Sui gRPC client, or the
|
|
121
|
+
* legacy node URL (backwards compatible; the network is inferred from the URL).
|
|
122
|
+
* @param {string} txHex - The serialized transaction in base64 format.
|
|
123
|
+
* @returns {Promise<BigNumber>} - The estimated fee, floored at the computation cost.
|
|
124
|
+
* @throws when the simulation response carries no gas summary or any gas field,
|
|
125
|
+
* or when the simulated transaction fails execution.
|
|
126
|
+
*/
|
|
127
|
+
getFeeEstimate(clientOrUrl: SuiGrpcClientOrUrl, txHex: string): Promise<BigNumber>;
|
|
128
|
+
/**
|
|
129
|
+
* Returns the current epoch and chain identifier of the Sui network via the gRPC ledger service.
|
|
130
|
+
* The chain identifier is the digest of the genesis checkpoint (sequence number 0), matching
|
|
131
|
+
* what the legacy sui_getCheckpoint('0') JSON-RPC call returned.
|
|
132
|
+
* @param {SuiGrpcClient | string} clientOrUrl - A pre-built Sui gRPC client, or the
|
|
133
|
+
* legacy node URL (backwards compatible; the network is inferred from the URL).
|
|
108
134
|
* @returns {Promise<{ epoch: number; chainId: string }>} - The current epoch and chain identifier.
|
|
109
135
|
*/
|
|
110
|
-
getChainContext(
|
|
136
|
+
getChainContext(clientOrUrl: SuiGrpcClientOrUrl): Promise<{
|
|
111
137
|
epoch: number;
|
|
112
138
|
chainId: string;
|
|
113
139
|
}>;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Returns balance information for an address via the gRPC balance service.
|
|
142
|
+
* totalBalance = Coin<T> object balance + SIP-58 address-system balance
|
|
143
|
+
* (fundsInAddressBalance is exposed separately for transaction building and
|
|
144
|
+
* must not be added to totalBalance again).
|
|
145
|
+
* @param {SuiGrpcClient | string} clientOrUrl - A pre-built Sui gRPC client, or the
|
|
146
|
+
* legacy node URL (backwards compatible; the network is inferred from the URL).
|
|
147
|
+
* @param {string} owner - The address to query.
|
|
148
|
+
* @param {string} [coinType] - The coin type; defaults to 0x2::sui::SUI.
|
|
149
|
+
* @returns {Promise<SuiBalanceInfo>} - {totalBalance, coinObjectBalance, fundsInAddressBalance}.
|
|
150
|
+
* @throws when the gRPC response carries no balance object.
|
|
151
|
+
*/
|
|
152
|
+
getBalance(clientOrUrl: SuiGrpcClientOrUrl, owner: string, coinType?: string): Promise<SuiBalanceInfo>;
|
|
153
|
+
/**
|
|
154
|
+
* Returns all unfiltered spendable coins of an address (legacy suix_getCoins
|
|
155
|
+
* semantics) via the gRPC list service: bare coin type, numeric version,
|
|
156
|
+
* objectId and balance per entry.
|
|
157
|
+
* @param {SuiGrpcClient | string} clientOrUrl - A pre-built Sui gRPC client, or the
|
|
158
|
+
* legacy node URL (backwards compatible; the network is inferred from the URL).
|
|
159
|
+
* @param {string} owner - The address to query.
|
|
160
|
+
* @param {string} [coinType] - The coin type; defaults to 0x2::sui::SUI.
|
|
161
|
+
* @returns {Promise<SuiObjectInfo[]>} - One entry per owned coin object.
|
|
162
|
+
* @throws {RecoveryProviderError} when the node call fails.
|
|
163
|
+
*/
|
|
164
|
+
getInputCoins(clientOrUrl: SuiGrpcClientOrUrl, owner: string, coinType?: string): Promise<SuiObjectInfo[]>;
|
|
165
|
+
/**
|
|
166
|
+
* Broadcasts a signed transaction to the Sui node over gRPC and returns the
|
|
167
|
+
* transaction digest. Signatures are base64 strings (the gRPC layer decodes
|
|
168
|
+
* them into BCS).
|
|
169
|
+
* @param {SuiGrpcClient | string} clientOrUrl - A pre-built Sui gRPC client, or the
|
|
170
|
+
* legacy node URL (backwards compatible; the network is inferred from the URL).
|
|
171
|
+
* @param {string} serializedTx - The serialized transaction in base64 format.
|
|
172
|
+
* @param {string[]} signatures - Base64-encoded signatures for the transaction.
|
|
173
|
+
* @returns {Promise<string>} - The transaction digest.
|
|
174
|
+
* @throws when the node response carries no digest or the broadcast fails.
|
|
175
|
+
*/
|
|
176
|
+
executeTransactionBlock(clientOrUrl: SuiGrpcClientOrUrl, serializedTx: string, signatures: string[]): Promise<string>;
|
|
117
177
|
validateNonNegativeNumber(defaultVal: number, errorMsg: string, inputVal?: number): number;
|
|
118
178
|
getSuiTokenFromAddress(packageId: string, network: BaseNetwork): Readonly<import("@bitgo-beta/statics").BaseCoin> | undefined;
|
|
119
179
|
selectObjectsInDescOrderOfBalance(objs: SuiObjectInfo[], limit: BigNumber): SuiObjectInfo[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKT,SAAS,EAET,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,EAEL,eAAe,EACf,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,oCAAoC,EACpC,0CAA0C,EAC1C,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAKL,YAAY,EACZ,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,aAAa,EAEb,qBAAqB,EACrB,eAAe,IAAI,sBAAsB,EAC1C,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|