@hubbleprotocol/hubble-sdk
Version:
Hubble Protocol client SDK
154 lines • 5.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findInExtraCollateralByName = exports.getExtraCollateralTokenById = exports.getExtraCollateralToken = exports.ExtraCollateralMap = exports.MINT_ADDRESSES = exports.STREAMFLOW_HBB_CONTRACT = exports.MSOL_MINT = exports.SRM_MINT = exports.RAY_MINT = exports.SOL_MINT = exports.FTT_MINT = exports.ETH_MINT = exports.BTC_MINT = void 0;
const web3_js_1 = require("@solana/web3.js");
// BTC mint address
exports.BTC_MINT = '9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E';
// ETH mint address
exports.ETH_MINT = '2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk';
// FTT mint address
exports.FTT_MINT = 'AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3';
// SOL mint address
exports.SOL_MINT = 'So11111111111111111111111111111111111111112';
// RAY mint address
exports.RAY_MINT = '4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R';
// SRM mint address
exports.SRM_MINT = 'SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt';
// mSOL mint address
exports.MSOL_MINT = 'mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So';
// Streamflow contract for HBB vesting
exports.STREAMFLOW_HBB_CONTRACT = '84D1KGEXRwVzP2D7QFLx7ntUsPKWTm2EDkniTQCjE3W2';
exports.MINT_ADDRESSES = [
new web3_js_1.PublicKey(exports.BTC_MINT),
new web3_js_1.PublicKey(exports.ETH_MINT),
new web3_js_1.PublicKey(exports.FTT_MINT),
new web3_js_1.PublicKey(exports.SOL_MINT),
new web3_js_1.PublicKey(exports.RAY_MINT),
new web3_js_1.PublicKey(exports.SRM_MINT),
new web3_js_1.PublicKey(exports.MSOL_MINT),
];
exports.ExtraCollateralMap = [
{
id: 0,
name: 'SOL',
mint: 'So11111111111111111111111111111111111111112',
scopePriceChain: [0, 65535, 65535, 65535],
scopeTwapChain: [52, 65535, 65535, 65535],
},
{
id: 1,
name: 'ETH',
mint: '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs',
scopePriceChain: [1, 65535, 65535, 65535],
scopeTwapChain: [53, 65535, 65535, 65535],
},
{
id: 2,
name: 'BTC',
mint: '9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E',
scopePriceChain: [2, 65535, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 3,
name: 'SRM',
mint: 'SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt',
scopePriceChain: [3, 65535, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 4,
name: 'RAY',
mint: '4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R',
scopePriceChain: [4, 65535, 65535, 65535],
scopeTwapChain: [56, 65535, 65535, 65535],
},
{
id: 5,
name: 'FTT',
mint: 'AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3',
scopePriceChain: [5, 65535, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 6,
name: 'MSOL',
mint: 'mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So',
scopePriceChain: [6, 65535, 65535, 65535],
scopeTwapChain: [58, 65535, 65535, 65535],
},
{
id: 7,
name: 'daoSOL',
mint: 'GEJpt3Wjmr628FqXxTgxMce1pLntcPV4uFi8ksxMyPQh',
scopePriceChain: [10, 0, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 8,
name: 'STSOL',
mint: '7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj',
scopePriceChain: [0, 65535, 65535, 65535],
scopeTwapChain: [52, 65535, 65535, 65535],
},
{
id: 9,
name: 'scnSOL',
mint: '5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm',
scopePriceChain: [7, 0, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 10,
name: 'wstETH',
mint: 'ZScHuTtqZukUrtZS43teTKGs2VqkKL8k4QCouR2n6Uo',
scopePriceChain: [18, 65535, 65535, 65535],
scopeTwapChain: [66, 65535, 65535, 65535],
},
{
id: 11,
name: 'LDO',
mint: 'HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p',
scopePriceChain: [19, 65535, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 23,
name: 'KUSDHUSDCORCA',
mint: '5BmZgW7dk1kximGfn7MPvDigp3yRmgT64jS9Skdq4nPY',
scopePriceChain: [42, 65535, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
{
id: 27,
name: 'JSOL',
mint: '7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn',
scopePriceChain: [34, 0, 65535, 65535],
scopeTwapChain: [65535, 65535, 65535, 65535],
},
];
const getExtraCollateralToken = (token) => {
return exports.ExtraCollateralMap.find((x) => x.name.toLowerCase() === token.toLowerCase());
};
exports.getExtraCollateralToken = getExtraCollateralToken;
const getExtraCollateralTokenById = (tokenId) => {
const coll = exports.ExtraCollateralMap.find((x) => tokenId.eq(x.id));
if (!coll) {
throw Error(`Could not find token id ${tokenId} in a list of extra collateral`);
}
return coll;
};
exports.getExtraCollateralTokenById = getExtraCollateralTokenById;
const findInExtraCollateralByName = (token, extraCollateral) => {
const coll = (0, exports.getExtraCollateralToken)(token);
if (!coll) {
throw Error(`Could not find ${token} in a list of extra collateral`);
}
const extra = extraCollateral.find((x) => x.tokenId.eq(coll.id));
if (!extra) {
throw Error(`Could not find ${token} in a list of extra collateral`);
}
return extra;
};
exports.findInExtraCollateralByName = findInExtraCollateralByName;
//# sourceMappingURL=tokens.js.map