UNPKG

@orca-so/whirlpool-sdk

Version:

Whirlpool SDK for the Orca protocol.

145 lines (144 loc) 4.89 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParsableMintInfo = exports.ParsableTokenInfo = exports.ParsableTickArray = exports.ParsablePosition = exports.ParsableWhirlpool = exports.ParsableWhirlpoolsConfig = void 0; const whirlpool_client_sdk_1 = require("@orca-so/whirlpool-client-sdk"); const spl_token_1 = require("@solana/spl-token"); const web3_js_1 = require("@solana/web3.js"); const deserialize_token_account_1 = require("../utils/web3/deserialize-token-account"); let ParsableWhirlpoolsConfig = class ParsableWhirlpoolsConfig { constructor() { } static parse(data) { if (!data) { return null; } try { return (0, whirlpool_client_sdk_1.parseWhirlpoolsConfig)(data); } catch (e) { console.error(`error while parsing WhirlpoolsConfig: ${e}`); return null; } } }; ParsableWhirlpoolsConfig = __decorate([ staticImplements() ], ParsableWhirlpoolsConfig); exports.ParsableWhirlpoolsConfig = ParsableWhirlpoolsConfig; let ParsableWhirlpool = class ParsableWhirlpool { constructor() { } static parse(data) { if (!data) { return null; } try { return (0, whirlpool_client_sdk_1.parseWhirlpool)(data); } catch (e) { console.error(`error while parsing Whirlpool: ${e}`); return null; } } }; ParsableWhirlpool = __decorate([ staticImplements() ], ParsableWhirlpool); exports.ParsableWhirlpool = ParsableWhirlpool; let ParsablePosition = class ParsablePosition { constructor() { } static parse(data) { if (!data) { return null; } try { return (0, whirlpool_client_sdk_1.parsePosition)(data); } catch (e) { console.error(`error while parsing Position: ${e}`); return null; } } }; ParsablePosition = __decorate([ staticImplements() ], ParsablePosition); exports.ParsablePosition = ParsablePosition; let ParsableTickArray = class ParsableTickArray { constructor() { } static parse(data) { if (!data) { return null; } try { return (0, whirlpool_client_sdk_1.parseTickArray)(data); } catch (e) { console.error(`error while parsing TickArray: ${e}`); return null; } } }; ParsableTickArray = __decorate([ staticImplements() ], ParsableTickArray); exports.ParsableTickArray = ParsableTickArray; let ParsableTokenInfo = class ParsableTokenInfo { constructor() { } static parse(data) { if (!data) { return null; } try { return (0, deserialize_token_account_1.deserializeTokenAccount)(data); } catch (e) { console.error(`error while parsing TokenAccount: ${e}`); return null; } } }; ParsableTokenInfo = __decorate([ staticImplements() ], ParsableTokenInfo); exports.ParsableTokenInfo = ParsableTokenInfo; let ParsableMintInfo = class ParsableMintInfo { constructor() { } static parse(data) { if (!data) { return null; } try { const buffer = spl_token_1.MintLayout.decode(data); const mintInfo = { mintAuthority: buffer.mintAuthorityOption === 0 ? null : new web3_js_1.PublicKey(buffer.mintAuthority), supply: spl_token_1.u64.fromBuffer(buffer.supply), decimals: buffer.decimals, isInitialized: buffer.isInitialized !== 0, freezeAuthority: buffer.freezeAuthority === 0 ? null : new web3_js_1.PublicKey(buffer.freezeAuthority), }; return mintInfo; } catch (e) { console.error(`error while parsing MintInfo: ${e}`); return null; } } }; ParsableMintInfo = __decorate([ staticImplements() ], ParsableMintInfo); exports.ParsableMintInfo = ParsableMintInfo; /** * Class decorator to define an interface with static methods * Reference: https://github.com/Microsoft/TypeScript/issues/13462#issuecomment-295685298 */ function staticImplements() { return (constructor) => { constructor; }; }