zo-sdk 0.0.4 → 0.0.6
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/.gitattributes +4 -0
- package/.prettierrc.js +5 -0
- package/babel.config.js +11 -0
- package/dist/api.d.ts +25 -0
- package/dist/api.js +397 -0
- package/dist/api.js.map +1 -0
- package/dist/consts/deployments-mainnet.json +28 -0
- package/dist/consts/deployments-testnet.json +93 -0
- package/dist/consts/index.d.ts +65 -0
- package/dist/consts/index.js +103 -0
- package/dist/consts/index.js.map +1 -0
- package/dist/consts/price_id_to_object_id.mainnet.json +1 -0
- package/dist/consts/price_id_to_object_id.testnet.json +17 -0
- package/dist/consts/staking/deployments-mainnet.json +12 -0
- package/dist/consts/staking/deployments-testnet.json +11 -0
- package/dist/data.d.ts +220 -0
- package/dist/data.js +753 -0
- package/dist/data.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/oracle.d.ts +23 -0
- package/dist/oracle.js +135 -0
- package/dist/oracle.js.map +1 -0
- package/dist/utils.d.ts +45 -0
- package/dist/utils.js +144 -0
- package/dist/utils.js.map +1 -0
- package/package.json +29 -30
- package/src/consts/index.ts +19 -19
- package/src/utils.ts +5 -6
- package/tsconfig.json +9 -19
package/dist/data.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./api"), exports);
|
|
18
|
+
__exportStar(require("./consts"), exports);
|
|
19
|
+
__exportStar(require("./data"), exports);
|
|
20
|
+
__exportStar(require("./oracle"), exports);
|
|
21
|
+
__exportStar(require("./utils"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,2CAAwB;AACxB,yCAAsB;AACtB,2CAAwB;AACxB,0CAAuB"}
|
package/dist/oracle.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SuiClient } from '@mysten/sui/client';
|
|
2
|
+
import { Transaction } from '@mysten/sui/transactions';
|
|
3
|
+
import type { PriceFeed } from '@pythnetwork/pyth-sui-js';
|
|
4
|
+
import { SuiPythClient } from '@pythnetwork/pyth-sui-js';
|
|
5
|
+
import type { IConsts } from './consts';
|
|
6
|
+
import { Network } from './consts';
|
|
7
|
+
export declare class OracleAPI {
|
|
8
|
+
network: Network;
|
|
9
|
+
consts: IConsts;
|
|
10
|
+
connectionURL: string;
|
|
11
|
+
PythFeederToPriceId: Record<string, string>;
|
|
12
|
+
PythFeederToId: Record<string, string>;
|
|
13
|
+
provider: SuiClient;
|
|
14
|
+
client: SuiPythClient;
|
|
15
|
+
private priceCache;
|
|
16
|
+
constructor(network: Network, provider: SuiClient | null, connectionURL: string);
|
|
17
|
+
validateCache(): void;
|
|
18
|
+
getOraclePrice(tokenId: string): Promise<PriceFeed>;
|
|
19
|
+
getOraclePrices(tokens: string[]): Promise<PriceFeed[] | undefined>;
|
|
20
|
+
subOraclePrices(tokens: string[], callback: (price: PriceFeed) => void): Promise<() => void>;
|
|
21
|
+
initOracleTxb(tokens: string[], tx?: Transaction): Promise<Transaction>;
|
|
22
|
+
}
|
|
23
|
+
export declare function generatePriceIdToObjectIdJson(): Promise<any>;
|
package/dist/oracle.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OracleAPI = void 0;
|
|
7
|
+
exports.generatePriceIdToObjectIdJson = generatePriceIdToObjectIdJson;
|
|
8
|
+
const transactions_1 = require("@mysten/sui/transactions");
|
|
9
|
+
const pyth_sui_js_1 = require("@pythnetwork/pyth-sui-js");
|
|
10
|
+
const consts_1 = require("./consts");
|
|
11
|
+
const price_id_to_object_id_mainnet_json_1 = __importDefault(require("./consts/price_id_to_object_id.mainnet.json"));
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
class OracleAPI {
|
|
14
|
+
constructor(network, provider,
|
|
15
|
+
// todo 需要从配置文件中获取
|
|
16
|
+
connectionURL) {
|
|
17
|
+
this.priceCache = {};
|
|
18
|
+
this.network = network;
|
|
19
|
+
this.consts = (0, consts_1.getConsts)(network);
|
|
20
|
+
this.connectionURL = connectionURL;
|
|
21
|
+
this.PythFeederToPriceId = (0, consts_1.getPythFeederToPriceId)(network);
|
|
22
|
+
this.PythFeederToId = (0, consts_1.getPythFeederToId)(network);
|
|
23
|
+
this.provider = provider || (0, utils_1.createJsonRpcProvider)(network);
|
|
24
|
+
this.client = new pyth_sui_js_1.SuiPythClient(this.provider, this.consts.pythFeeder.state, this.consts.pythFeeder.wormhole.state);
|
|
25
|
+
}
|
|
26
|
+
validateCache() {
|
|
27
|
+
const now = Date.now() / 1000;
|
|
28
|
+
for (const key in this.priceCache) {
|
|
29
|
+
if (now - (this.priceCache[key].getPriceUnchecked().publishTime || 0) > 7) {
|
|
30
|
+
delete this.priceCache[key];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async getOraclePrice(tokenId) {
|
|
35
|
+
this.validateCache();
|
|
36
|
+
if (this.priceCache[tokenId]) {
|
|
37
|
+
return this.priceCache[tokenId];
|
|
38
|
+
}
|
|
39
|
+
const res = await this.getOraclePrices([tokenId]);
|
|
40
|
+
if (!res || !res[0]) {
|
|
41
|
+
throw new Error(`Unknown token: ${tokenId}`);
|
|
42
|
+
}
|
|
43
|
+
this.priceCache[tokenId] = res[0];
|
|
44
|
+
return res[0];
|
|
45
|
+
}
|
|
46
|
+
async getOraclePrices(tokens) {
|
|
47
|
+
const connection = new pyth_sui_js_1.SuiPriceServiceConnection(this.connectionURL, {
|
|
48
|
+
priceFeedRequestConfig: {
|
|
49
|
+
binary: true,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
const pythObjectIds = tokens.map(token => this.consts.pythFeeder.feeder[token]);
|
|
53
|
+
const priceFeedIds = pythObjectIds.map(pythObjectId => `0x${this.PythFeederToPriceId[pythObjectId]}`);
|
|
54
|
+
const price = await connection.getLatestPriceFeeds(priceFeedIds);
|
|
55
|
+
return price;
|
|
56
|
+
}
|
|
57
|
+
// memory leak
|
|
58
|
+
async subOraclePrices(tokens, callback) {
|
|
59
|
+
const connection = new pyth_sui_js_1.SuiPriceServiceConnection(this.connectionURL, {
|
|
60
|
+
priceFeedRequestConfig: {
|
|
61
|
+
binary: true,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
const pythObjectIds = tokens.map(token => this.consts.pythFeeder.feeder[token]);
|
|
65
|
+
const priceFeedIds = pythObjectIds.map(pythObjectId => `0x${this.PythFeederToPriceId[pythObjectId]}`);
|
|
66
|
+
await connection.subscribePriceFeedUpdates(priceFeedIds, (price) => {
|
|
67
|
+
price.id = this.PythFeederToId[(0, consts_1.getPriceIdToPythFeeder)(this.network)[price.id]];
|
|
68
|
+
this.priceCache[price.id] = price;
|
|
69
|
+
callback(price);
|
|
70
|
+
});
|
|
71
|
+
return () => {
|
|
72
|
+
connection.unsubscribePriceFeedUpdates(priceFeedIds);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
async initOracleTxb(tokens, tx) {
|
|
76
|
+
let tx_ = tx;
|
|
77
|
+
if (!tx_) {
|
|
78
|
+
tx_ = new transactions_1.Transaction();
|
|
79
|
+
}
|
|
80
|
+
// Remove redundant tokens first
|
|
81
|
+
const uniqueTokens = [...new Set(tokens)];
|
|
82
|
+
const connection = new pyth_sui_js_1.SuiPriceServiceConnection(this.connectionURL, {
|
|
83
|
+
priceFeedRequestConfig: {
|
|
84
|
+
binary: true,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
const pythObjectIds = uniqueTokens.map(token => this.consts.pythFeeder.feeder[token]);
|
|
88
|
+
const needUpdateObjectIds = (await this.provider.multiGetObjects({
|
|
89
|
+
ids: pythObjectIds,
|
|
90
|
+
options: {
|
|
91
|
+
showContent: true,
|
|
92
|
+
},
|
|
93
|
+
})).map(pythObject => [
|
|
94
|
+
Number.parseInt((pythObject.data?.content).fields.price_info.fields.arrival_time || 0, 10) - Date.now() / 1000,
|
|
95
|
+
pythObject.data?.objectId,
|
|
96
|
+
]).filter((x) => Math.abs(x[0]) >= 0).map(x => x[1]);
|
|
97
|
+
if (needUpdateObjectIds.length === 0) {
|
|
98
|
+
return tx_;
|
|
99
|
+
}
|
|
100
|
+
const priceFeedIds = needUpdateObjectIds
|
|
101
|
+
.map(pythObjectId => this.PythFeederToPriceId[pythObjectId])
|
|
102
|
+
.filter(Boolean)
|
|
103
|
+
.map(x => `0x${x}`);
|
|
104
|
+
const priceUpdateData = await connection.getPriceFeedsUpdateData(priceFeedIds);
|
|
105
|
+
await this.client.updatePriceFeeds(tx_, priceUpdateData, priceFeedIds);
|
|
106
|
+
return tx_;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.OracleAPI = OracleAPI;
|
|
110
|
+
async function generatePriceIdToObjectIdJson() {
|
|
111
|
+
const provider = (0, utils_1.createJsonRpcProvider)(consts_1.Network.MAINNET);
|
|
112
|
+
const wormholeStateId = '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c';
|
|
113
|
+
const pythStateId = '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8';
|
|
114
|
+
const client = new pyth_sui_js_1.SuiPythClient(provider, pythStateId, wormholeStateId);
|
|
115
|
+
const ret = {};
|
|
116
|
+
const entries = Object.keys(price_id_to_object_id_mainnet_json_1.default);
|
|
117
|
+
// 使用 Promise.all 并行处理所有请求
|
|
118
|
+
await Promise.all(entries.map(async (key) => {
|
|
119
|
+
try {
|
|
120
|
+
const pythObjectId = await client.getPriceFeedObjectId(key);
|
|
121
|
+
if (pythObjectId) {
|
|
122
|
+
ret[key] = pythObjectId;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
console.warn(`Failed to get pythObjectId for key: ${key}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
console.error(`Error getting pythObjectId for key ${key}:`, error);
|
|
130
|
+
}
|
|
131
|
+
}));
|
|
132
|
+
return ret;
|
|
133
|
+
}
|
|
134
|
+
// generatePriceIdToObjectIdJson()
|
|
135
|
+
//# sourceMappingURL=oracle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SuiClient } from '@mysten/sui/client';
|
|
2
|
+
import { HermesClient } from '@pythnetwork/hermes-client';
|
|
3
|
+
import type { IConsts } from './consts';
|
|
4
|
+
import { Network } from './consts';
|
|
5
|
+
export declare function createJsonRpcProvider(network: Network): SuiClient;
|
|
6
|
+
export declare function createPythConnection(network: Network): HermesClient;
|
|
7
|
+
export declare function decimalToObject(decimal: {
|
|
8
|
+
value: string;
|
|
9
|
+
}): number;
|
|
10
|
+
export declare function rateToObject(rate: {
|
|
11
|
+
value: string;
|
|
12
|
+
}): number;
|
|
13
|
+
interface SRate {
|
|
14
|
+
fields: {
|
|
15
|
+
is_positive: boolean;
|
|
16
|
+
value: {
|
|
17
|
+
fields: {
|
|
18
|
+
value: string | number;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare function sRateToObject(sRate: SRate): number;
|
|
24
|
+
interface SuiDecimal {
|
|
25
|
+
fields: {
|
|
26
|
+
is_positive: boolean;
|
|
27
|
+
value: {
|
|
28
|
+
fields: {
|
|
29
|
+
value: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare function sDecimalToObject(sDecimal: SuiDecimal): number;
|
|
35
|
+
export declare function parseValue(field: any): number;
|
|
36
|
+
export type ReversedKeyValue<T extends object> = {
|
|
37
|
+
[K in keyof T]: T[K] extends keyof T ? keyof T : T[K] extends keyof T | infer V ? V : never;
|
|
38
|
+
};
|
|
39
|
+
export declare function reverseKeyValue<T extends object>(obj: T): ReversedKeyValue<T>;
|
|
40
|
+
export declare function parseSymbolKey(input: string): string[];
|
|
41
|
+
export declare function upperFirstCharacter(word: string): string;
|
|
42
|
+
export declare function joinSymbol(direction: string, token: string): string;
|
|
43
|
+
export declare function suiSymbolToSymbol(symbol: string, consts: IConsts): string;
|
|
44
|
+
export declare function base64ToUint8Array(base64: string): Uint8Array<ArrayBuffer>;
|
|
45
|
+
export {};
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createJsonRpcProvider = createJsonRpcProvider;
|
|
4
|
+
exports.createPythConnection = createPythConnection;
|
|
5
|
+
exports.decimalToObject = decimalToObject;
|
|
6
|
+
exports.rateToObject = rateToObject;
|
|
7
|
+
exports.sRateToObject = sRateToObject;
|
|
8
|
+
exports.sDecimalToObject = sDecimalToObject;
|
|
9
|
+
exports.parseValue = parseValue;
|
|
10
|
+
exports.reverseKeyValue = reverseKeyValue;
|
|
11
|
+
exports.parseSymbolKey = parseSymbolKey;
|
|
12
|
+
exports.upperFirstCharacter = upperFirstCharacter;
|
|
13
|
+
exports.joinSymbol = joinSymbol;
|
|
14
|
+
exports.suiSymbolToSymbol = suiSymbolToSymbol;
|
|
15
|
+
exports.base64ToUint8Array = base64ToUint8Array;
|
|
16
|
+
const client_1 = require("@mysten/sui/client");
|
|
17
|
+
const hermes_client_1 = require("@pythnetwork/hermes-client");
|
|
18
|
+
const consts_1 = require("./consts");
|
|
19
|
+
function createJsonRpcProvider(network) {
|
|
20
|
+
let url = '';
|
|
21
|
+
switch (network) {
|
|
22
|
+
case consts_1.Network.DEVNET: {
|
|
23
|
+
url = 'https://explorer-rpc.devnet.sui.io/';
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case consts_1.Network.TESTNET: {
|
|
27
|
+
url = 'https://sui-testnet.blockvision.org/v1/2sXCJEJNOCdIJhLaDtyhKzqwn6k';
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
case consts_1.Network.MAINNET: {
|
|
31
|
+
url = 'https://rpc-mainnet.suiscan.xyz';
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
default: {
|
|
35
|
+
url = 'https://explorer-rpc.devnet.sui.io/';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return new client_1.SuiClient({
|
|
39
|
+
transport: new client_1.SuiHTTPTransport({ url }),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function createPythConnection(network) {
|
|
43
|
+
let priceConnectionUrl;
|
|
44
|
+
switch (network) {
|
|
45
|
+
case consts_1.Network.TESTNET: {
|
|
46
|
+
priceConnectionUrl = 'https://xc-testnet.pyth.network';
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case consts_1.Network.MAINNET: {
|
|
50
|
+
priceConnectionUrl = 'https://xc-mainnet.pyth.network';
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
default: {
|
|
54
|
+
priceConnectionUrl = 'https://xc-testnet.pyth.network';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return new hermes_client_1.HermesClient(priceConnectionUrl);
|
|
58
|
+
}
|
|
59
|
+
function decimalToObject(decimal) {
|
|
60
|
+
return Number(BigInt(decimal.value)) / 1e18;
|
|
61
|
+
}
|
|
62
|
+
function rateToObject(rate) {
|
|
63
|
+
return Number(BigInt(rate.value)) / 1e18;
|
|
64
|
+
}
|
|
65
|
+
function sRateToObject(sRate) {
|
|
66
|
+
const sign = sRate.fields.is_positive ? 1 : -1;
|
|
67
|
+
return Number(BigInt(sRate.fields.value.fields.value)) / 1e18 * sign;
|
|
68
|
+
}
|
|
69
|
+
function sDecimalToObject(sDecimal) {
|
|
70
|
+
const sign = sDecimal.fields.is_positive ? 1 : -1;
|
|
71
|
+
return Number(BigInt(sDecimal.fields.value.fields.value)) / 1e18 * sign;
|
|
72
|
+
}
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
74
|
+
function parseValue(field) {
|
|
75
|
+
if (field.type && field.type.endsWith('::decimal::Decimal')) {
|
|
76
|
+
return decimalToObject({ value: field.fields.value });
|
|
77
|
+
}
|
|
78
|
+
else if (field.type && field.type.endsWith('::rate::Rate')) {
|
|
79
|
+
return rateToObject({ value: field.fields.value });
|
|
80
|
+
}
|
|
81
|
+
else if (field.type && field.type.endsWith('::srate::SRate')) {
|
|
82
|
+
return sRateToObject(field);
|
|
83
|
+
}
|
|
84
|
+
else if (field.type && field.type.endsWith('::sdecimal::SDecimal')) {
|
|
85
|
+
return sDecimalToObject(field);
|
|
86
|
+
}
|
|
87
|
+
return Number.parseInt(field, 10);
|
|
88
|
+
}
|
|
89
|
+
function reverseKeyValue(obj) {
|
|
90
|
+
const reversed = {};
|
|
91
|
+
for (const key in obj) {
|
|
92
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
93
|
+
const value = obj[key];
|
|
94
|
+
reversed[value] = key;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return reversed;
|
|
98
|
+
}
|
|
99
|
+
function parseSymbolKey(input) {
|
|
100
|
+
// This regex will match uppercase letters
|
|
101
|
+
const regex = /[A-Z]/;
|
|
102
|
+
let result = [];
|
|
103
|
+
let wordStart = 0;
|
|
104
|
+
for (let i = 1; i < input.length; i += 1) {
|
|
105
|
+
if (regex.test(input[i])) {
|
|
106
|
+
// Found an uppercase letter, so we split the string here
|
|
107
|
+
result.push(input.slice(wordStart, i));
|
|
108
|
+
wordStart = i;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Add the last word to the result array
|
|
112
|
+
result.push(input.slice(wordStart));
|
|
113
|
+
// Convert the words to lowercase
|
|
114
|
+
result = result.map(word => word.toLowerCase());
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
function upperFirstCharacter(word) {
|
|
118
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
119
|
+
}
|
|
120
|
+
function joinSymbol(direction, token) {
|
|
121
|
+
return `${direction}${upperFirstCharacter(token)}`;
|
|
122
|
+
}
|
|
123
|
+
function suiSymbolToSymbol(symbol, consts) {
|
|
124
|
+
if (symbol === '0x2::sui::SUI') {
|
|
125
|
+
return 'sui';
|
|
126
|
+
}
|
|
127
|
+
const ret = {};
|
|
128
|
+
for (const key of Object.keys(consts.coins)) {
|
|
129
|
+
ret[consts.coins[key].module] = key;
|
|
130
|
+
}
|
|
131
|
+
return ret[symbol];
|
|
132
|
+
}
|
|
133
|
+
function base64ToUint8Array(base64) {
|
|
134
|
+
// Decode Base64 to binary
|
|
135
|
+
const binary = atob(base64);
|
|
136
|
+
// Create a Uint8Array from the binary data
|
|
137
|
+
const uint8Array = new Uint8Array(binary.length);
|
|
138
|
+
// Populate the Uint8Array with the binary data
|
|
139
|
+
for (let i = 0; i < binary.length; i += 1) {
|
|
140
|
+
uint8Array[i] = binary.codePointAt(i);
|
|
141
|
+
}
|
|
142
|
+
return uint8Array;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,40 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zo-sdk",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"
|
|
5
|
-
"author": "",
|
|
6
|
-
"license": "ISC",
|
|
7
|
-
"keywords": [],
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": {
|
|
11
|
-
"types": "./dist/index.d.mts",
|
|
12
|
-
"default": "./dist/index.mjs"
|
|
13
|
-
},
|
|
14
|
-
"require": {
|
|
15
|
-
"types": "./dist/index.d.cts",
|
|
16
|
-
"default": "./dist/index.cjs"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"main": "./dist/index.cjs",
|
|
21
|
-
"module": "./dist/index.mjs",
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"main": "dist/index.js",
|
|
22
5
|
"types": "dist/index.d.ts",
|
|
23
6
|
"scripts": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
7
|
+
"start": "ts-node src/index.ts",
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"serve": "node dist/index.js",
|
|
10
|
+
"pub": "tsc && npm publish",
|
|
11
|
+
"test": "jest"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [],
|
|
14
|
+
"author": "",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/jest": "^29.5.0",
|
|
18
|
+
"babel-jest": "^29.5.0",
|
|
19
|
+
"jest": "^29.5.0",
|
|
20
|
+
"ts-jest": "^29.0.5",
|
|
21
|
+
"ts-node": "^10.9.1",
|
|
22
|
+
"typescript": "^5.1.6"
|
|
28
23
|
},
|
|
29
24
|
"dependencies": {
|
|
30
|
-
"@
|
|
31
|
-
"@
|
|
32
|
-
"@
|
|
25
|
+
"@babel/cli": "^7.24.8",
|
|
26
|
+
"@babel/plugin-transform-modules-commonjs": "^7.24.8",
|
|
27
|
+
"@babel/preset-env": "^7.25.4",
|
|
28
|
+
"@mysten/bcs": "^0.11.1",
|
|
29
|
+
"@mysten/dapp-kit": "0.14.12",
|
|
30
|
+
"@mysten/sui": "1.3.0",
|
|
33
31
|
"@pythnetwork/hermes-client": "^1.2.0",
|
|
34
32
|
"@pythnetwork/pyth-sui-js": "2.1.0",
|
|
35
|
-
"decimal.js": "10.4.3"
|
|
33
|
+
"decimal.js": "^10.4.3"
|
|
36
34
|
},
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
}
|
|
35
|
+
"resolutions": {
|
|
36
|
+
"typescript": "5.1.6"
|
|
37
|
+
},
|
|
38
|
+
"packageManager": "yarn@1.22.1"
|
|
40
39
|
}
|
package/src/consts/index.ts
CHANGED
|
@@ -63,26 +63,26 @@ export interface IConsts {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
function toCamelCase(str: string): string {
|
|
66
|
-
return str.
|
|
66
|
+
return str.replace(/_([a-z])/g, (match, letter) => letter.toUpperCase());
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
function parse
|
|
69
|
+
function parse(obj: any): any {
|
|
70
70
|
if (typeof obj !== 'object' || obj === null) {
|
|
71
|
-
return obj
|
|
71
|
+
return obj;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
if (Array.isArray(obj)) {
|
|
75
|
-
return obj.map(
|
|
75
|
+
return obj.map(parse);
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
|
|
78
|
+
const newObj: any = {};
|
|
79
|
+
|
|
80
|
+
for (const key in obj) {
|
|
81
|
+
const camelCaseKey = toCamelCase(key);
|
|
82
|
+
newObj[camelCaseKey] = parse(obj[key]);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
return newObj
|
|
85
|
+
return newObj;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
export enum Network {
|
|
@@ -95,7 +95,7 @@ function throwNetworkError(network: string): never {
|
|
|
95
95
|
throw new Error(`Unknown network: ${network}`)
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
export function getConsts(network:
|
|
98
|
+
export function getConsts(network: string): IConsts {
|
|
99
99
|
switch (network) {
|
|
100
100
|
case Network.TESTNET: {
|
|
101
101
|
return { ...parse(testnetJson), ...parse(testnetStakingJson) }
|
|
@@ -145,16 +145,16 @@ export function getPriceIdToPythFeeder(network: Network): Record<string, string>
|
|
|
145
145
|
return priceIdToFeeder
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
export function getPythFeederToId(network:
|
|
149
|
-
|
|
150
|
-
const consts = getConsts(network)
|
|
148
|
+
export function getPythFeederToId(network: string): Record<string, string> {
|
|
149
|
+
let feederToId: Record<string, string> = {};
|
|
150
|
+
const consts = getConsts(network);
|
|
151
151
|
for (const key in consts.pythFeeder.feeder) {
|
|
152
|
-
if (Object.
|
|
153
|
-
const contract = consts.pythFeeder.feeder[key]
|
|
154
|
-
feederToId[contract] = key
|
|
152
|
+
if (Object.prototype.hasOwnProperty.call(consts.pythFeeder.feeder, key)) {
|
|
153
|
+
const contract = consts.pythFeeder.feeder[key];
|
|
154
|
+
feederToId[contract] = key;
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
-
return feederToId
|
|
157
|
+
return feederToId;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
export const ALLOW_TRADE_NO_TRADE = 0
|
package/src/utils.ts
CHANGED
|
@@ -114,17 +114,16 @@ export type ReversedKeyValue<T extends object> = {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
export function reverseKeyValue<T extends object>(obj: T): ReversedKeyValue<T> {
|
|
117
|
-
|
|
118
|
-
const reversed: any = {}
|
|
117
|
+
const reversed: any = {};
|
|
119
118
|
|
|
120
119
|
for (const key in obj) {
|
|
121
|
-
if (Object.
|
|
122
|
-
const value = obj[key]
|
|
123
|
-
reversed[value] = key
|
|
120
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
121
|
+
const value = obj[key];
|
|
122
|
+
reversed[value] = key;
|
|
124
123
|
}
|
|
125
124
|
}
|
|
126
125
|
|
|
127
|
-
return reversed
|
|
126
|
+
return reversed;
|
|
128
127
|
}
|
|
129
128
|
|
|
130
129
|
export function parseSymbolKey(input: string): string[] {
|