@0xobelisk/sui-client 1.0.8 → 1.0.10
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/dubhe.d.ts +28 -8
- package/dist/index.js +134 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +132 -29
- package/dist/index.mjs.map +1 -1
- package/dist/libs/suiIndexerClient/index.d.ts +31 -33
- package/dist/libs/suiIndexerClient/utils.d.ts +2 -0
- package/package.json +1 -1
- package/src/dubhe.ts +78 -14
- package/src/libs/suiIndexerClient/index.ts +76 -53
- package/src/libs/suiIndexerClient/utils.ts +49 -0
package/dist/dubhe.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { SuiContractFactory } from './libs/suiContractFactory';
|
|
|
8
8
|
import { SuiMoveMoudleFuncType } from './libs/suiContractFactory/types';
|
|
9
9
|
import { NetworkConfig } from './libs/suiInteractor';
|
|
10
10
|
import { DerivePathParams, FaucetNetworkType, MapMoudleFuncQuery, MapMoudleFuncTx, DubheParams, SuiTxArg, SuiObjectArg, SuiVecTxArg } from './types';
|
|
11
|
-
import { ConnectionResponse,
|
|
11
|
+
import { ConnectionResponse, IndexerTransaction, IndexerEvent, IndexerSchema, SuiIndexerClient, StorageResponse, StorageItemResponse } from './libs/suiIndexerClient';
|
|
12
12
|
import { Http } from './libs/http';
|
|
13
13
|
export declare function isUndefined(value?: unknown): value is undefined;
|
|
14
14
|
export declare function withMeta<T extends {
|
|
@@ -55,17 +55,37 @@ export declare class Dubhe {
|
|
|
55
55
|
storageType: string;
|
|
56
56
|
params: any[];
|
|
57
57
|
}): Promise<any[] | undefined>;
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
getTransactions({ first, after, orderBy, }: {
|
|
59
|
+
first?: number;
|
|
60
|
+
after?: string;
|
|
61
|
+
orderBy?: string[];
|
|
62
|
+
}): Promise<ConnectionResponse<IndexerTransaction>>;
|
|
63
|
+
getEvents({ first, after, orderBy, }: {
|
|
64
|
+
first?: number;
|
|
65
|
+
after?: string;
|
|
66
|
+
orderBy?: string[];
|
|
67
|
+
}): Promise<ConnectionResponse<IndexerEvent>>;
|
|
68
|
+
getSchemas({ name, key1, key2, first, after, orderBy, }: {
|
|
69
|
+
name?: string;
|
|
70
|
+
key1?: string;
|
|
71
|
+
key2?: string;
|
|
72
|
+
first?: number;
|
|
73
|
+
after?: string;
|
|
74
|
+
orderBy?: string[];
|
|
75
|
+
}): Promise<ConnectionResponse<IndexerSchema>>;
|
|
76
|
+
getStorage({ name, key1, key2, first, after, orderBy, }: {
|
|
77
|
+
name?: string;
|
|
60
78
|
key1?: string;
|
|
61
79
|
key2?: string;
|
|
62
80
|
first?: number;
|
|
63
81
|
after?: string;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
82
|
+
orderBy?: string[];
|
|
83
|
+
}): Promise<StorageResponse<IndexerSchema>>;
|
|
84
|
+
getStorageItem({ name, key1, key2, }: {
|
|
85
|
+
name: string;
|
|
86
|
+
key1?: string;
|
|
87
|
+
key2?: string;
|
|
88
|
+
}): Promise<StorageItemResponse<IndexerSchema> | undefined>;
|
|
69
89
|
subscribe(names: string[], handleData: (data: any) => void): Promise<WebSocket>;
|
|
70
90
|
/**
|
|
71
91
|
* else:
|
package/dist/index.js
CHANGED
|
@@ -1071,6 +1071,49 @@ var ContractDataParsingError = class extends Error {
|
|
|
1071
1071
|
}
|
|
1072
1072
|
};
|
|
1073
1073
|
|
|
1074
|
+
// src/libs/suiIndexerClient/utils.ts
|
|
1075
|
+
var parseData = (data) => {
|
|
1076
|
+
if (typeof data !== "object" || data === null) {
|
|
1077
|
+
return data;
|
|
1078
|
+
}
|
|
1079
|
+
if (Array.isArray(data)) {
|
|
1080
|
+
return data.map((item) => parseData(item));
|
|
1081
|
+
}
|
|
1082
|
+
const parsedData = {};
|
|
1083
|
+
for (const key in data) {
|
|
1084
|
+
if (Object.prototype.hasOwnProperty.call(data, key)) {
|
|
1085
|
+
const value = data[key];
|
|
1086
|
+
if (typeof value === "object" && value !== null) {
|
|
1087
|
+
if ("variant" in value) {
|
|
1088
|
+
parsedData[key] = value.variant;
|
|
1089
|
+
} else if ("fields" in value) {
|
|
1090
|
+
parsedData[key] = parseData(value.fields);
|
|
1091
|
+
} else {
|
|
1092
|
+
parsedData[key] = parseData(value);
|
|
1093
|
+
}
|
|
1094
|
+
} else {
|
|
1095
|
+
parsedData[key] = value;
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
return parsedData;
|
|
1100
|
+
};
|
|
1101
|
+
var parseValue = (value) => {
|
|
1102
|
+
if (typeof value !== "object" || value === null) {
|
|
1103
|
+
return value;
|
|
1104
|
+
}
|
|
1105
|
+
if (Array.isArray(value)) {
|
|
1106
|
+
return value.map((item) => parseValue(item));
|
|
1107
|
+
}
|
|
1108
|
+
if ("variant" in value) {
|
|
1109
|
+
return value.variant;
|
|
1110
|
+
}
|
|
1111
|
+
if ("fields" in value) {
|
|
1112
|
+
return parseData(value.fields);
|
|
1113
|
+
}
|
|
1114
|
+
return parseData(value);
|
|
1115
|
+
};
|
|
1116
|
+
|
|
1074
1117
|
// src/libs/suiIndexerClient/index.ts
|
|
1075
1118
|
var SuiIndexerClient = class {
|
|
1076
1119
|
constructor(http) {
|
|
@@ -1081,8 +1124,8 @@ var SuiIndexerClient = class {
|
|
|
1081
1124
|
}
|
|
1082
1125
|
async getTransactions(params) {
|
|
1083
1126
|
const query = `
|
|
1084
|
-
query GetTransactions($first: Int, $after: String, $
|
|
1085
|
-
transactions(first: $first, after: $after,
|
|
1127
|
+
query GetTransactions($first: Int, $after: String, $checkpoint: Int, $orderBy: [TransactionOrderField!]) {
|
|
1128
|
+
transactions(first: $first, after: $after, checkpoint: $checkpoint, orderBy: $orderBy) {
|
|
1086
1129
|
edges {
|
|
1087
1130
|
cursor
|
|
1088
1131
|
node {
|
|
@@ -1094,10 +1137,9 @@ var SuiIndexerClient = class {
|
|
|
1094
1137
|
}
|
|
1095
1138
|
pageInfo {
|
|
1096
1139
|
hasNextPage
|
|
1097
|
-
hasPreviousPage
|
|
1098
|
-
startCursor
|
|
1099
1140
|
endCursor
|
|
1100
1141
|
}
|
|
1142
|
+
totalCount
|
|
1101
1143
|
}
|
|
1102
1144
|
}
|
|
1103
1145
|
`;
|
|
@@ -1106,8 +1148,8 @@ var SuiIndexerClient = class {
|
|
|
1106
1148
|
}
|
|
1107
1149
|
async getSchemas(params) {
|
|
1108
1150
|
const query = `
|
|
1109
|
-
query GetSchemas($first: Int, $after: String, $
|
|
1110
|
-
schemas(first: $first, after: $after,
|
|
1151
|
+
query GetSchemas($first: Int, $after: String, $name: String, $key1: String, $key2: String, $orderBy: [SchemaOrderField!]) {
|
|
1152
|
+
schemas(first: $first, after: $after, name: $name, key1: $key1, key2: $key2, orderBy: $orderBy) {
|
|
1111
1153
|
edges {
|
|
1112
1154
|
cursor
|
|
1113
1155
|
node {
|
|
@@ -1125,10 +1167,9 @@ var SuiIndexerClient = class {
|
|
|
1125
1167
|
}
|
|
1126
1168
|
pageInfo {
|
|
1127
1169
|
hasNextPage
|
|
1128
|
-
hasPreviousPage
|
|
1129
|
-
startCursor
|
|
1130
1170
|
endCursor
|
|
1131
1171
|
}
|
|
1172
|
+
totalCount
|
|
1132
1173
|
}
|
|
1133
1174
|
}
|
|
1134
1175
|
`;
|
|
@@ -1137,8 +1178,8 @@ var SuiIndexerClient = class {
|
|
|
1137
1178
|
}
|
|
1138
1179
|
async getEvents(params) {
|
|
1139
1180
|
const query = `
|
|
1140
|
-
query GetEvents($first: Int, $after: String, $
|
|
1141
|
-
events(first: $first, after: $after,
|
|
1181
|
+
query GetEvents($first: Int, $after: String, $name: String, $checkpoint: String, $orderBy: [EventOrderField!]) {
|
|
1182
|
+
events(first: $first, after: $after, name: $name, checkpoint: $checkpoint, orderBy: $orderBy) {
|
|
1142
1183
|
edges {
|
|
1143
1184
|
cursor
|
|
1144
1185
|
node {
|
|
@@ -1152,10 +1193,9 @@ var SuiIndexerClient = class {
|
|
|
1152
1193
|
}
|
|
1153
1194
|
pageInfo {
|
|
1154
1195
|
hasNextPage
|
|
1155
|
-
hasPreviousPage
|
|
1156
|
-
startCursor
|
|
1157
1196
|
endCursor
|
|
1158
1197
|
}
|
|
1198
|
+
totalCount
|
|
1159
1199
|
}
|
|
1160
1200
|
}
|
|
1161
1201
|
`;
|
|
@@ -1168,10 +1208,7 @@ var SuiIndexerClient = class {
|
|
|
1168
1208
|
key2,
|
|
1169
1209
|
first,
|
|
1170
1210
|
after,
|
|
1171
|
-
|
|
1172
|
-
before,
|
|
1173
|
-
orderBy,
|
|
1174
|
-
distinct
|
|
1211
|
+
orderBy
|
|
1175
1212
|
}) {
|
|
1176
1213
|
const schemas = await this.getSchemas({
|
|
1177
1214
|
name,
|
|
@@ -1179,12 +1216,37 @@ var SuiIndexerClient = class {
|
|
|
1179
1216
|
key2,
|
|
1180
1217
|
first,
|
|
1181
1218
|
after,
|
|
1182
|
-
|
|
1183
|
-
before,
|
|
1184
|
-
orderBy,
|
|
1185
|
-
distinct
|
|
1219
|
+
orderBy
|
|
1186
1220
|
});
|
|
1187
|
-
|
|
1221
|
+
const data = schemas.edges.map((edge) => edge.node);
|
|
1222
|
+
const value = data.map((item) => parseValue(item.value));
|
|
1223
|
+
return {
|
|
1224
|
+
data,
|
|
1225
|
+
value,
|
|
1226
|
+
pageInfo: schemas.pageInfo,
|
|
1227
|
+
totalCount: schemas.totalCount
|
|
1228
|
+
};
|
|
1229
|
+
}
|
|
1230
|
+
async getStorageItem({
|
|
1231
|
+
name,
|
|
1232
|
+
key1,
|
|
1233
|
+
key2
|
|
1234
|
+
}) {
|
|
1235
|
+
const schemas = await this.getSchemas({
|
|
1236
|
+
name,
|
|
1237
|
+
key1,
|
|
1238
|
+
key2,
|
|
1239
|
+
first: 1
|
|
1240
|
+
});
|
|
1241
|
+
const data = schemas.edges[0]?.node;
|
|
1242
|
+
if (!data) {
|
|
1243
|
+
return void 0;
|
|
1244
|
+
}
|
|
1245
|
+
const value = parseValue(data.value);
|
|
1246
|
+
return {
|
|
1247
|
+
data,
|
|
1248
|
+
value
|
|
1249
|
+
};
|
|
1188
1250
|
}
|
|
1189
1251
|
async subscribe(names, handleData) {
|
|
1190
1252
|
return this.http.subscribe(names, handleData);
|
|
@@ -2175,16 +2237,48 @@ var Dubhe = class {
|
|
|
2175
2237
|
params: processedParams
|
|
2176
2238
|
});
|
|
2177
2239
|
}
|
|
2240
|
+
async getTransactions({
|
|
2241
|
+
first,
|
|
2242
|
+
after,
|
|
2243
|
+
orderBy
|
|
2244
|
+
}) {
|
|
2245
|
+
return await this.suiIndexerClient.getTransactions({
|
|
2246
|
+
first,
|
|
2247
|
+
after,
|
|
2248
|
+
orderBy
|
|
2249
|
+
});
|
|
2250
|
+
}
|
|
2251
|
+
async getEvents({
|
|
2252
|
+
first,
|
|
2253
|
+
after,
|
|
2254
|
+
orderBy
|
|
2255
|
+
}) {
|
|
2256
|
+
return await this.suiIndexerClient.getEvents({ first, after, orderBy });
|
|
2257
|
+
}
|
|
2258
|
+
async getSchemas({
|
|
2259
|
+
name,
|
|
2260
|
+
key1,
|
|
2261
|
+
key2,
|
|
2262
|
+
first,
|
|
2263
|
+
after,
|
|
2264
|
+
orderBy
|
|
2265
|
+
}) {
|
|
2266
|
+
return await this.suiIndexerClient.getSchemas({
|
|
2267
|
+
name,
|
|
2268
|
+
key1,
|
|
2269
|
+
key2,
|
|
2270
|
+
first,
|
|
2271
|
+
after,
|
|
2272
|
+
orderBy
|
|
2273
|
+
});
|
|
2274
|
+
}
|
|
2178
2275
|
async getStorage({
|
|
2179
2276
|
name,
|
|
2180
2277
|
key1,
|
|
2181
2278
|
key2,
|
|
2182
2279
|
first,
|
|
2183
2280
|
after,
|
|
2184
|
-
|
|
2185
|
-
before,
|
|
2186
|
-
orderBy,
|
|
2187
|
-
distinct
|
|
2281
|
+
orderBy
|
|
2188
2282
|
}) {
|
|
2189
2283
|
return await this.suiIndexerClient.getStorage({
|
|
2190
2284
|
name,
|
|
@@ -2192,11 +2286,20 @@ var Dubhe = class {
|
|
|
2192
2286
|
key2,
|
|
2193
2287
|
first,
|
|
2194
2288
|
after,
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2289
|
+
orderBy
|
|
2290
|
+
});
|
|
2291
|
+
}
|
|
2292
|
+
async getStorageItem({
|
|
2293
|
+
name,
|
|
2294
|
+
key1,
|
|
2295
|
+
key2
|
|
2296
|
+
}) {
|
|
2297
|
+
const response = await this.suiIndexerClient.getStorageItem({
|
|
2298
|
+
name,
|
|
2299
|
+
key1,
|
|
2300
|
+
key2
|
|
2199
2301
|
});
|
|
2302
|
+
return response;
|
|
2200
2303
|
}
|
|
2201
2304
|
async subscribe(names, handleData) {
|
|
2202
2305
|
return this.suiIndexerClient.subscribe(names, handleData);
|
|
@@ -2532,9 +2635,9 @@ var import_multisig = require("@mysten/sui/multisig");
|
|
|
2532
2635
|
|
|
2533
2636
|
// src/libs/multiSig/publickey.ts
|
|
2534
2637
|
var import_ed255193 = require("@mysten/sui/keypairs/ed25519");
|
|
2535
|
-
var
|
|
2638
|
+
var import_utils6 = require("@mysten/sui/utils");
|
|
2536
2639
|
function ed25519PublicKeyFromBase64(rawPubkey) {
|
|
2537
|
-
let bytes = (0,
|
|
2640
|
+
let bytes = (0, import_utils6.fromB64)(rawPubkey);
|
|
2538
2641
|
if (bytes.length !== 32 && bytes.length !== 33)
|
|
2539
2642
|
throw "invalid pubkey length";
|
|
2540
2643
|
bytes = bytes.length === 33 ? bytes.slice(1) : bytes;
|