@bluefin-exchange/bluefin7k-aggregator-sdk
Version:
124 lines (123 loc) • 5.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_CONFIG = void 0;
exports.getConfig = getConfig;
const fetchClient_1 = require("../../config/fetchClient");
const apiEndpoints_1 = require("../../constants/apiEndpoints");
exports.DEFAULT_CONFIG = {
aftermath: {
name: "Aftermath",
package: "0xc4049b2d1cc0f6e017fda8260e4377cecd236bd7f56a54fee120816e72e2e0dd",
poolRegistry: "0xfcc774493db2c45c79f688f88d28023a3e7d98e4ee9f48bbf5c7990f651577ae",
protocolFeeVault: "0xf194d9b1bcad972e45a7dd67dd49b3ee1e3357a00a50850c52cd51bb450e13b4",
treasury: "0x28e499dff5e864a2eafe476269a4f5035f1c16f338da7be18b103499abf271ce",
insuranceFund: "0xf0c40d67b078000e18032334c3325c47b9ec9f3d9ae4128be820d54663d14e3b",
referralVault: "0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278",
},
bluefin: {
name: "Bluefin",
package: "0x406f52151e7dd65addd93b0bdad7989e82aec20c3ae6971954a5140f14a59e4b",
globalConfig: "0x03db251ba509a8d5d8777b6338836082335d93eecbdd09a11e190a1cff51c352",
},
bluefinx: {
name: "BluefinX",
package: "0xf8870f988ab09be7c5820a856bd5e9da84fc7192e095a7a8829919293b00a36c",
globalConfig: "0xc6b29a60c3924776bedc78df72c127ea52b86aeb655432979a38f13d742dedaa",
},
bluemove: {
name: "Bluemove",
package: "0x08cd33481587d4c4612865b164796d937df13747d8c763b8a178c87e3244498f",
dexInfo: "0x3f2d9f724f4a1ce5e71676448dc452be9a6243dac9c5b975a588c8c867066e92",
},
cetus: {
name: "Cetus",
package: "0x15c0555d7601d98ca2659a8387d377a81b1e285ee0808484e101f96d05806187",
globalConfig: "0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",
},
deepbook_v3: {
name: "Deepbook V3",
package: "",
sponsor: "0x951a01360d85b06722edf896852bf8005b81cdb26375235c935138987f629502",
sponsorFund: "0xf245e7a4b83ed9a26622f5818a158c2ba7a03b91e62717b557a7df1d4dab38df",
},
flowx: {
name: "Flowx Finance",
package: "0xba153169476e8c3114962261d1edc70de5ad9781b83cc617ecc8c1923191cae0",
container: "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511",
},
flowx_v3: {
name: "Flowx Finance V3",
package: "0x3974baf3c1fb21edba6407feff33e77c8fd05670b5cd8815e8fdc289b1f30267",
registry: "0x27565d24a4cd51127ac90e4074a841bbe356cca7bf5759ddc14a975be1632abc",
version: "0x67624a1533b5aff5d0dfcf5e598684350efd38134d2d245f475524c03a64e656",
},
kriya: {
name: "Kriya",
package: "0xa0eba10b173538c8fecca1dff298e488402cc9ff374f8a12ca7758eebe830b66",
},
kriya_v3: {
name: "Kriya V3",
package: "0x7cfee19b76f44a30cd7b8edcbb24eff1cc3fdc3495d3d07e99f1af46f5719861",
version: "0xf5145a7ac345ca8736cf8c76047d00d6d378f30e81be6f6eb557184d9de93c78",
},
obric: {
name: "Obric",
package: "0xb84e63d22ea4822a0a333c250e790f69bf5c2ef0c63f4e120e05a6415991368f",
pythState: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",
},
springsui: {
name: "SpringSui",
package: "0x82e6f4f75441eae97d2d5850f41a09d28c7b64a05b067d37748d471f43aaf3f7",
},
stsui: {
name: "AlphaFi stSUI",
package: "0x059f94b85c07eb74d2847f8255d8cc0a67c9a8dcc039eabf9f8b9e23a0de2700",
},
suiswap: {
name: "SuiSwap",
package: "0xd075d51486df71e750872b4edf82ea3409fda397ceecc0b6aedf573d923c54a0",
},
turbos: {
name: "Turbos Finance",
package: "0x9df4666296ee324a6f11e9f664e35e7fd6b6e8c9e9058ce6ee9ad5c5343c2f87",
version: "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f",
},
steamm: {
name: "Steamm",
package: "0x4454d95507deb17d5017db11105bd95027d434776af1d0049ce27a3510a9a1ba",
script: "0xbef015f8fe24f324cc4a7939a88c164e78d2d859aa925a75bd8f8472b6ae7d0e",
oracle: "0xe84b649199654d18c38e727212f5d8dacfc3cf78d60d0a7fc85fd589f280eb2b",
},
magma: {
name: "Magma",
package: "0x97aa7a842f53ccafc3514fb875fee9b9cd65cf9e6e39087ee327c94f77a4e319",
globalConfig: "0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",
},
haedal_pmm: {
name: "Haedal PMM",
package: "0xa0e3b011012b80af4957afa30e556486eb3da0a7d96eeb733cf16ccd3aec32e0",
},
momentum: {
name: "Momentum",
package: "0x9c12f3aa14a449a0a23c066589e269086f021a98939f21158cfacb16d19787c3",
version: "0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a",
},
};
let config = exports.DEFAULT_CONFIG;
let configTs = 0;
async function getConfig() {
const ttl = 60;
if (config && Date.now() - configTs < ttl * 1000) {
return config;
}
try {
const response = await (0, fetchClient_1.fetchClient)(`${apiEndpoints_1.API_ENDPOINTS.MAIN}/config`);
const quoteResponse = (await response.json());
config = { ...config, ...quoteResponse };
configTs = Date.now();
return config;
}
catch (_) {
return exports.DEFAULT_CONFIG;
}
}
;