@xelis/sdk 0.9.11 → 0.10.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.
- package/dist/cjs/address/address.js +55 -0
- package/dist/cjs/address/bech32.js +167 -0
- package/dist/cjs/config.js +4 -2
- package/dist/cjs/daemon/rpc.js +122 -71
- package/dist/cjs/daemon/types.js +44 -24
- package/dist/cjs/daemon/websocket.js +129 -105
- package/dist/cjs/data/element.js +84 -0
- package/dist/cjs/data/value.js +327 -0
- package/dist/cjs/{lib/rpc.js → rpc/http.js} +68 -18
- package/dist/cjs/rpc/parse_json/parse_json.js +15 -0
- package/dist/cjs/{lib → rpc}/websocket.js +119 -79
- package/dist/cjs/wallet/rpc.js +81 -70
- package/dist/cjs/wallet/types.js +44 -1
- package/dist/cjs/wallet/websocket.js +77 -14
- package/dist/cjs/xswd/websocket.js +3 -3
- package/dist/esm/address/address.js +53 -0
- package/dist/esm/address/bech32.js +161 -0
- package/dist/esm/config.js +3 -1
- package/dist/esm/daemon/rpc.js +122 -71
- package/dist/esm/daemon/types.js +44 -24
- package/dist/esm/daemon/websocket.js +130 -106
- package/dist/esm/data/element.js +81 -0
- package/dist/esm/data/value.js +324 -0
- package/dist/esm/{lib/rpc.js → rpc/http.js} +67 -17
- package/dist/esm/rpc/parse_json/parse_json.js +8 -0
- package/dist/esm/{lib → rpc}/websocket.js +118 -78
- package/dist/esm/wallet/rpc.js +81 -70
- package/dist/esm/wallet/types.js +43 -0
- package/dist/esm/wallet/websocket.js +77 -14
- package/dist/esm/xswd/websocket.js +3 -3
- package/dist/types/address/address.d.ts +12 -0
- package/dist/types/address/bech32.d.ts +6 -0
- package/dist/types/config.d.ts +2 -0
- package/dist/types/daemon/rpc.d.ts +68 -51
- package/dist/types/daemon/types.d.ts +216 -44
- package/dist/types/daemon/websocket.d.ts +77 -56
- package/dist/types/data/element.d.ts +20 -0
- package/dist/types/data/value.d.ts +50 -0
- package/dist/types/rpc/http.d.ts +9 -0
- package/dist/types/rpc/parse_json/parse_json.d.ts +1 -0
- package/dist/types/{lib → rpc}/websocket.d.ts +14 -10
- package/dist/types/wallet/rpc.d.ts +45 -26
- package/dist/types/wallet/types.d.ts +244 -21
- package/dist/types/wallet/websocket.d.ts +47 -22
- package/dist/types/xswd/websocket.d.ts +3 -3
- package/package.json +5 -4
- package/dist/cjs/lib/parse_data.js +0 -15
- package/dist/esm/lib/parse_data.js +0 -11
- package/dist/types/lib/parse_data.d.ts +0 -1
- package/dist/types/lib/rpc.d.ts +0 -7
- /package/dist/cjs/{lib → rpc}/types.js +0 -0
- /package/dist/esm/{lib → rpc}/types.js +0 -0
- /package/dist/types/{lib → rpc}/types.d.ts +0 -0
|
@@ -13,7 +13,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
13
13
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
14
|
};
|
|
15
15
|
})();
|
|
16
|
-
import {
|
|
16
|
+
import { WSRPC } from '../rpc/websocket.js';
|
|
17
17
|
import { RPCMethod, RPCEvent } from './types.js';
|
|
18
18
|
var WalletMethods = /** @class */ (function () {
|
|
19
19
|
function WalletMethods(ws, prefix) {
|
|
@@ -25,25 +25,28 @@ var WalletMethods = /** @class */ (function () {
|
|
|
25
25
|
return this.ws.dataCall(this.prefix + method, params);
|
|
26
26
|
};
|
|
27
27
|
WalletMethods.prototype.onNewTopoheight = function (onData) {
|
|
28
|
-
return this.ws.listenEvent(RPCEvent.NewTopoheight, onData);
|
|
28
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.NewTopoheight, onData);
|
|
29
29
|
};
|
|
30
30
|
WalletMethods.prototype.onNewAsset = function (onData) {
|
|
31
|
-
return this.ws.listenEvent(RPCEvent.NewAsset, onData);
|
|
31
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.NewAsset, onData);
|
|
32
32
|
};
|
|
33
33
|
WalletMethods.prototype.onNewTransaction = function (onData) {
|
|
34
|
-
return this.ws.listenEvent(RPCEvent.NewTransaction, onData);
|
|
34
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.NewTransaction, onData);
|
|
35
35
|
};
|
|
36
36
|
WalletMethods.prototype.onBalanceChanged = function (onData) {
|
|
37
|
-
return this.ws.listenEvent(RPCEvent.BalanceChanged, onData);
|
|
37
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.BalanceChanged, onData);
|
|
38
38
|
};
|
|
39
39
|
WalletMethods.prototype.onRescan = function (onData) {
|
|
40
|
-
return this.ws.listenEvent(RPCEvent.Rescan, onData);
|
|
40
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.Rescan, onData);
|
|
41
|
+
};
|
|
42
|
+
WalletMethods.prototype.onHistorySynced = function (onData) {
|
|
43
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.HistorySynced, onData);
|
|
41
44
|
};
|
|
42
45
|
WalletMethods.prototype.onOnline = function (onData) {
|
|
43
|
-
return this.ws.listenEvent(RPCEvent.Online, onData);
|
|
46
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.Online, onData);
|
|
44
47
|
};
|
|
45
48
|
WalletMethods.prototype.onOffline = function (onData) {
|
|
46
|
-
return this.ws.listenEvent(RPCEvent.Offline, onData);
|
|
49
|
+
return this.ws.listenEvent(this.prefix + RPCEvent.Offline, onData);
|
|
47
50
|
};
|
|
48
51
|
WalletMethods.prototype.getVersion = function () {
|
|
49
52
|
return this.dataCall(RPCMethod.GetVersion);
|
|
@@ -70,35 +73,95 @@ var WalletMethods = /** @class */ (function () {
|
|
|
70
73
|
WalletMethods.prototype.getBalance = function (asset) {
|
|
71
74
|
return this.dataCall(RPCMethod.GetBalance, { asset: asset });
|
|
72
75
|
};
|
|
76
|
+
WalletMethods.prototype.hasBalance = function (asset) {
|
|
77
|
+
return this.dataCall(RPCMethod.HasBalance, { asset: asset });
|
|
78
|
+
};
|
|
73
79
|
WalletMethods.prototype.getTrackedAssets = function () {
|
|
74
80
|
return this.dataCall(RPCMethod.GetTrackedAssets);
|
|
75
81
|
};
|
|
76
82
|
WalletMethods.prototype.getAssetPrecision = function (params) {
|
|
77
83
|
return this.dataCall(RPCMethod.GetAssetPrecision, params);
|
|
78
84
|
};
|
|
85
|
+
WalletMethods.prototype.getAssets = function () {
|
|
86
|
+
return this.dataCall(RPCMethod.GetAssets);
|
|
87
|
+
};
|
|
88
|
+
WalletMethods.prototype.getAsset = function (params) {
|
|
89
|
+
return this.dataCall(RPCMethod.GetAsset, params);
|
|
90
|
+
};
|
|
79
91
|
WalletMethods.prototype.getTransaction = function (hash) {
|
|
80
92
|
return this.dataCall(RPCMethod.GetTransaction, { hash: hash });
|
|
81
93
|
};
|
|
82
94
|
WalletMethods.prototype.buildTransaction = function (params) {
|
|
83
95
|
return this.dataCall(RPCMethod.BuildTransaction, params);
|
|
84
96
|
};
|
|
97
|
+
WalletMethods.prototype.buildTransactionOffline = function (params) {
|
|
98
|
+
return this.dataCall(RPCMethod.BuildTransactionOffline, params);
|
|
99
|
+
};
|
|
100
|
+
WalletMethods.prototype.buildUnsignedTransaction = function (params) {
|
|
101
|
+
return this.dataCall(RPCMethod.BuildUnsignedTransaction, params);
|
|
102
|
+
};
|
|
103
|
+
WalletMethods.prototype.signUnsignedTransaction = function (params) {
|
|
104
|
+
return this.dataCall(RPCMethod.SignUnsignedTransaction, params);
|
|
105
|
+
};
|
|
106
|
+
WalletMethods.prototype.finalizeUnsignedTransaction = function (params) {
|
|
107
|
+
return this.dataCall(RPCMethod.FinalizeUnsignedTransaction, params);
|
|
108
|
+
};
|
|
109
|
+
WalletMethods.prototype.clearTxCache = function () {
|
|
110
|
+
return this.dataCall(RPCMethod.ClearTxCache);
|
|
111
|
+
};
|
|
85
112
|
WalletMethods.prototype.listTransactions = function (params) {
|
|
86
113
|
return this.dataCall(RPCMethod.GetTransaction, params);
|
|
87
114
|
};
|
|
88
115
|
WalletMethods.prototype.isOnline = function () {
|
|
89
116
|
return this.dataCall(RPCMethod.IsOnline);
|
|
90
117
|
};
|
|
118
|
+
WalletMethods.prototype.setOnlineMode = function (params) {
|
|
119
|
+
return this.dataCall(RPCMethod.SetOfflineMode, params);
|
|
120
|
+
};
|
|
121
|
+
WalletMethods.prototype.setOfflineMode = function () {
|
|
122
|
+
return this.dataCall(RPCMethod.SetOfflineMode);
|
|
123
|
+
};
|
|
91
124
|
WalletMethods.prototype.signData = function (data) {
|
|
92
|
-
return this.dataCall(RPCMethod.SignData, data);
|
|
125
|
+
return this.dataCall(RPCMethod.SignData, data.toObject());
|
|
93
126
|
};
|
|
94
127
|
WalletMethods.prototype.estimateFees = function (params) {
|
|
95
128
|
return this.dataCall(RPCMethod.EstimateFees, params);
|
|
96
129
|
};
|
|
97
|
-
WalletMethods.prototype.
|
|
98
|
-
return this.dataCall(RPCMethod.
|
|
130
|
+
WalletMethods.prototype.estimateExtraDataSize = function (params) {
|
|
131
|
+
return this.dataCall(RPCMethod.EstimateExtraDataSize, params);
|
|
99
132
|
};
|
|
100
|
-
WalletMethods.prototype.
|
|
101
|
-
return this.dataCall(RPCMethod.
|
|
133
|
+
WalletMethods.prototype.networkInfo = function () {
|
|
134
|
+
return this.dataCall(RPCMethod.NetworkInfo);
|
|
135
|
+
};
|
|
136
|
+
WalletMethods.prototype.decryptExtraData = function (params) {
|
|
137
|
+
return this.dataCall(RPCMethod.DecryptExtraData, params);
|
|
138
|
+
};
|
|
139
|
+
WalletMethods.prototype.decryptCiphertext = function (params) {
|
|
140
|
+
return this.dataCall(RPCMethod.DecryptCiphertext, params);
|
|
141
|
+
};
|
|
142
|
+
WalletMethods.prototype.getMatchingKeys = function (params) {
|
|
143
|
+
return this.dataCall(RPCMethod.GetMatchingKeys, params);
|
|
144
|
+
};
|
|
145
|
+
WalletMethods.prototype.countMatchingEntries = function (params) {
|
|
146
|
+
return this.dataCall(RPCMethod.CountMatchingEntries, params);
|
|
147
|
+
};
|
|
148
|
+
WalletMethods.prototype.getValueFromKey = function (params) {
|
|
149
|
+
return this.dataCall(RPCMethod.GetValueFromKey, params);
|
|
150
|
+
};
|
|
151
|
+
WalletMethods.prototype.store = function (params) {
|
|
152
|
+
return this.dataCall(RPCMethod.Store, params);
|
|
153
|
+
};
|
|
154
|
+
WalletMethods.prototype["delete"] = function (params) {
|
|
155
|
+
return this.dataCall(RPCMethod.Delete, params);
|
|
156
|
+
};
|
|
157
|
+
WalletMethods.prototype.deleteTreeEntries = function (tree) {
|
|
158
|
+
return this.dataCall(RPCMethod.DeleteTreeEntries, { tree: tree });
|
|
159
|
+
};
|
|
160
|
+
WalletMethods.prototype.hasKey = function (params) {
|
|
161
|
+
return this.dataCall(RPCMethod.HasKey, params);
|
|
162
|
+
};
|
|
163
|
+
WalletMethods.prototype.queryDB = function (params) {
|
|
164
|
+
return this.dataCall(RPCMethod.QueryDB, params);
|
|
102
165
|
};
|
|
103
166
|
return WalletMethods;
|
|
104
167
|
}());
|
|
@@ -111,6 +174,6 @@ var WS = /** @class */ (function (_super) {
|
|
|
111
174
|
return _this;
|
|
112
175
|
}
|
|
113
176
|
return WS;
|
|
114
|
-
}(
|
|
177
|
+
}(WSRPC));
|
|
115
178
|
export { WS };
|
|
116
179
|
export default WS;
|
|
@@ -13,7 +13,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
13
13
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
14
|
};
|
|
15
15
|
})();
|
|
16
|
-
import {
|
|
16
|
+
import { WSRPC } from '../rpc/websocket.js';
|
|
17
17
|
import { DaemonMethods } from '../daemon/websocket.js';
|
|
18
18
|
import { WalletMethods } from '../wallet/websocket.js';
|
|
19
19
|
var WS = /** @class */ (function (_super) {
|
|
@@ -27,9 +27,9 @@ var WS = /** @class */ (function (_super) {
|
|
|
27
27
|
}
|
|
28
28
|
WS.prototype.authorize = function (app) {
|
|
29
29
|
var data = JSON.stringify(app);
|
|
30
|
-
return this.
|
|
30
|
+
return this.rawCall(0, data);
|
|
31
31
|
};
|
|
32
32
|
return WS;
|
|
33
|
-
}(
|
|
33
|
+
}(WSRPC));
|
|
34
34
|
export { WS };
|
|
35
35
|
export default WS;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Element } from "../data/element";
|
|
2
|
+
declare class Address {
|
|
3
|
+
publicKey: number[];
|
|
4
|
+
isMainnet: boolean;
|
|
5
|
+
isIntegrated: boolean;
|
|
6
|
+
extraData?: Element;
|
|
7
|
+
constructor(data: number[], hrp: string);
|
|
8
|
+
static fromString(addr: string): Address;
|
|
9
|
+
static isValid(addr: string): boolean;
|
|
10
|
+
format(): string;
|
|
11
|
+
}
|
|
12
|
+
export default Address;
|
package/dist/types/config.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare const LOCAL_WALLET_WS: string;
|
|
|
16
16
|
export declare const LOCAL_XSWD_URL: string;
|
|
17
17
|
export declare const LOCAL_XSWD_WS: string;
|
|
18
18
|
export declare const XELIS_ASSET = "0000000000000000000000000000000000000000000000000000000000000000";
|
|
19
|
+
export declare const XELIS_DECIMALS = 8;
|
|
19
20
|
declare const _default: {
|
|
20
21
|
MAINNET_NODE_URL: string;
|
|
21
22
|
TESTNET_NODE_URL: string;
|
|
@@ -34,5 +35,6 @@ declare const _default: {
|
|
|
34
35
|
LOCAL_XSWD_URL: string;
|
|
35
36
|
LOCAL_XSWD_WS: string;
|
|
36
37
|
XELIS_ASSET: string;
|
|
38
|
+
XELIS_DECIMALS: number;
|
|
37
39
|
};
|
|
38
40
|
export default _default;
|
|
@@ -1,53 +1,70 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
export declare class RPC extends
|
|
4
|
-
getVersion(): Promise<
|
|
5
|
-
getHeight(): Promise<
|
|
6
|
-
getTopoheight(): Promise<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
import * as types from './types';
|
|
2
|
+
import { HttpRPC } from '../rpc/http';
|
|
3
|
+
export declare class RPC extends HttpRPC {
|
|
4
|
+
getVersion(): Promise<string>;
|
|
5
|
+
getHeight(): Promise<number>;
|
|
6
|
+
getTopoheight(): Promise<number>;
|
|
7
|
+
getPrunedTopoheight(): Promise<number>;
|
|
8
|
+
getInfo(): Promise<types.GetInfoResult>;
|
|
9
|
+
getDifficulty(): Promise<types.GetDifficultyResult>;
|
|
10
|
+
getTips(): Promise<string[]>;
|
|
11
|
+
getDevFeeThresholds(): Promise<types.DevFee[]>;
|
|
12
|
+
getSizeOnDisk(): Promise<types.DiskSize>;
|
|
13
|
+
getStableHeight(): Promise<number>;
|
|
14
|
+
getStableTopoheight(): Promise<number>;
|
|
15
|
+
getHardForks(): Promise<types.HardFork[]>;
|
|
16
|
+
getBlockAtTopoheight(params: types.GetBlockAtTopoheightParams): Promise<types.Block>;
|
|
17
|
+
getBlocksAtHeight(params: types.GetBlocksAtHeightParams): Promise<types.Block[]>;
|
|
18
|
+
getBlockByHash(params: types.GetBlockByHashParams): Promise<types.Block>;
|
|
19
|
+
getTopBlock(params?: types.GetTopBlockParams): Promise<types.Block>;
|
|
20
|
+
getBalance(params: types.GetBalanceParams): Promise<types.GetBalanceResult>;
|
|
21
|
+
getStableBalance(params: types.GetBalanceParams): Promise<types.GetStableBalanceResult>;
|
|
22
|
+
hasBalance(params: types.HasBalanceParams): Promise<types.HasBalanceResult>;
|
|
23
|
+
getBalanceAtTopoheight(params: types.GetBalanceAtTopoheightParams): Promise<types.VersionedBalance>;
|
|
24
|
+
getNonce(params: types.GetNonceParams): Promise<types.GetNonceResult>;
|
|
25
|
+
hasNonce(params: types.HasNonceParams): Promise<types.HasNonceResult>;
|
|
26
|
+
getNonceAtTopoheight(params: types.GetNonceAtTopoheightParams): Promise<types.VersionedNonce>;
|
|
27
|
+
getAsset(params: types.GetAssetParams): Promise<types.AssetData>;
|
|
28
|
+
getAssets(params: types.GetAssetsParams): Promise<string[]>;
|
|
29
|
+
countAssets(): Promise<number>;
|
|
30
|
+
countTransactions(): Promise<number>;
|
|
31
|
+
countAccounts(): Promise<number>;
|
|
32
|
+
countContracts(): Promise<number>;
|
|
33
|
+
submitTransaction(hexData: string): Promise<boolean>;
|
|
34
|
+
getTransationExecutor(hash: string): Promise<types.GetTransactionExecutorResult>;
|
|
35
|
+
getTransaction(hash: string): Promise<types.TransactionResponse>;
|
|
36
|
+
getTransactions(txHashes: string[]): Promise<types.TransactionResponse[]>;
|
|
37
|
+
isTxExecutedInBlock(params: types.IsTxExecutedInBlockParams): Promise<boolean>;
|
|
38
|
+
p2pStatus(): Promise<types.P2PStatusResult>;
|
|
39
|
+
getPeers(): Promise<types.GetPeersResult>;
|
|
40
|
+
getMemPool(): Promise<types.TransactionResponse[]>;
|
|
41
|
+
getMempoolCache(address: String): Promise<types.GetMempoolCacheResult>;
|
|
42
|
+
getEstimatedFeeRates(): Promise<types.FeeRatesEstimated>;
|
|
43
|
+
getDAGOrder(params?: types.TopoheightRangeParams): Promise<string[]>;
|
|
44
|
+
getBlocksRangeByTopoheight(params: types.TopoheightRangeParams): Promise<types.Block[]>;
|
|
45
|
+
getBlocksRangeByHeight(params: types.HeightRangeParams): Promise<types.Block[]>;
|
|
46
|
+
getAccountHistory(params: types.GetAccountHistoryParams): Promise<types.AccounHistory[]>;
|
|
47
|
+
getAccountAssets(address: string): Promise<string[]>;
|
|
48
|
+
getAccounts(params: types.GetAccountsParams): Promise<string[]>;
|
|
49
|
+
isAccountRegistered(params: types.IsAccountRegisteredParams): Promise<boolean>;
|
|
50
|
+
getAccountRegistrationTopoheight(address: String): Promise<Number>;
|
|
51
|
+
validateAddress(params: types.ValidateAddressParams): Promise<types.ValidateAddressResult>;
|
|
52
|
+
splitAddress(params: types.SplitAddressParams): Promise<types.SplitAddressResult>;
|
|
53
|
+
extractKeyFromAddress(params: types.ExtractKeyFromAddressParams): Promise<string | number[]>;
|
|
54
|
+
makeIntegratedAddress(params: types.MakeIntegratedAddressParams): Promise<string>;
|
|
55
|
+
decryptExtraData(params: types.DecryptExtraDataParams): Promise<unknown>;
|
|
56
|
+
getMultisigAtTopoheight(params: types.GetMutilsigAtTopoheightParams): Promise<types.GetMutilsigAtTopoheightResult>;
|
|
57
|
+
getMultisig(params: types.GetMultisigParams): Promise<types.GetMultisigResult>;
|
|
58
|
+
hasMultisig(params: types.HasMultisigParams): Promise<boolean>;
|
|
59
|
+
hasMultisigAtTopoheight(params: types.HasMultisigAtTopoheightParams): Promise<boolean>;
|
|
60
|
+
getContractOutputs(params: types.GetContractOutputsParams): Promise<types.ContractOutput[]>;
|
|
61
|
+
getContractModule(params: types.GetContractModuleParams): Promise<types.GetContractModuleResult>;
|
|
62
|
+
getContractData(params: types.GetContractModuleParams): Promise<unknown>;
|
|
63
|
+
getContractDataAtTopoheight(params: types.GetContractDataAtTopoheightParams): Promise<unknown>;
|
|
64
|
+
getContractBalance(params: types.GetContractBalanceParams): Promise<types.GetContractBalanceResult>;
|
|
65
|
+
getContractBalanceAtTopoheight(params: types.GetContractBalanceAtTopoheightParams): Promise<types.GetContractBalanceAtTopoheightResult>;
|
|
66
|
+
getBlockTemplate(address: string): Promise<types.GetBlockTemplateResult>;
|
|
67
|
+
getMinerWork(params: types.GetMinerWorkParams): Promise<types.GetMinerWorkResult>;
|
|
68
|
+
submitBlock(params: types.SubmitBlockParams): Promise<boolean>;
|
|
52
69
|
}
|
|
53
70
|
export default RPC;
|