@marinade.finance/kamino-sdk
Version:
153 lines • 6.39 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RewardInfo = void 0;
const web3_js_1 = require("@solana/web3.js"); // eslint-disable-line @typescript-eslint/no-unused-vars
const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
const borsh = __importStar(require("@project-serum/borsh"));
class RewardInfo {
/** Reward state */
rewardState;
/** Reward open time */
openTime;
/** Reward end time */
endTime;
/** Reward last update time */
lastUpdateTime;
/** Q64.64 number indicates how many tokens per second are earned per unit of liquidity. */
emissionsPerSecondX64;
/** The total amount of reward emissioned */
rewardTotalEmissioned;
/** The total amount of claimed reward */
rewardClaimed;
/** Reward token mint. */
tokenMint;
/** Reward vault token account. */
tokenVault;
/** The owner that has permission to set reward param */
authority;
/**
* Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward
* emissions were turned on.
*/
rewardGrowthGlobalX64;
constructor(fields) {
this.rewardState = fields.rewardState;
this.openTime = fields.openTime;
this.endTime = fields.endTime;
this.lastUpdateTime = fields.lastUpdateTime;
this.emissionsPerSecondX64 = fields.emissionsPerSecondX64;
this.rewardTotalEmissioned = fields.rewardTotalEmissioned;
this.rewardClaimed = fields.rewardClaimed;
this.tokenMint = fields.tokenMint;
this.tokenVault = fields.tokenVault;
this.authority = fields.authority;
this.rewardGrowthGlobalX64 = fields.rewardGrowthGlobalX64;
}
static layout(property) {
return borsh.struct([
borsh.u8('rewardState'),
borsh.u64('openTime'),
borsh.u64('endTime'),
borsh.u64('lastUpdateTime'),
borsh.u128('emissionsPerSecondX64'),
borsh.u64('rewardTotalEmissioned'),
borsh.u64('rewardClaimed'),
borsh.publicKey('tokenMint'),
borsh.publicKey('tokenVault'),
borsh.publicKey('authority'),
borsh.u128('rewardGrowthGlobalX64'),
], property);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
static fromDecoded(obj) {
return new RewardInfo({
rewardState: obj.rewardState,
openTime: obj.openTime,
endTime: obj.endTime,
lastUpdateTime: obj.lastUpdateTime,
emissionsPerSecondX64: obj.emissionsPerSecondX64,
rewardTotalEmissioned: obj.rewardTotalEmissioned,
rewardClaimed: obj.rewardClaimed,
tokenMint: obj.tokenMint,
tokenVault: obj.tokenVault,
authority: obj.authority,
rewardGrowthGlobalX64: obj.rewardGrowthGlobalX64,
});
}
static toEncodable(fields) {
return {
rewardState: fields.rewardState,
openTime: fields.openTime,
endTime: fields.endTime,
lastUpdateTime: fields.lastUpdateTime,
emissionsPerSecondX64: fields.emissionsPerSecondX64,
rewardTotalEmissioned: fields.rewardTotalEmissioned,
rewardClaimed: fields.rewardClaimed,
tokenMint: fields.tokenMint,
tokenVault: fields.tokenVault,
authority: fields.authority,
rewardGrowthGlobalX64: fields.rewardGrowthGlobalX64,
};
}
toJSON() {
return {
rewardState: this.rewardState,
openTime: this.openTime.toString(),
endTime: this.endTime.toString(),
lastUpdateTime: this.lastUpdateTime.toString(),
emissionsPerSecondX64: this.emissionsPerSecondX64.toString(),
rewardTotalEmissioned: this.rewardTotalEmissioned.toString(),
rewardClaimed: this.rewardClaimed.toString(),
tokenMint: this.tokenMint.toString(),
tokenVault: this.tokenVault.toString(),
authority: this.authority.toString(),
rewardGrowthGlobalX64: this.rewardGrowthGlobalX64.toString(),
};
}
static fromJSON(obj) {
return new RewardInfo({
rewardState: obj.rewardState,
openTime: new bn_js_1.default(obj.openTime),
endTime: new bn_js_1.default(obj.endTime),
lastUpdateTime: new bn_js_1.default(obj.lastUpdateTime),
emissionsPerSecondX64: new bn_js_1.default(obj.emissionsPerSecondX64),
rewardTotalEmissioned: new bn_js_1.default(obj.rewardTotalEmissioned),
rewardClaimed: new bn_js_1.default(obj.rewardClaimed),
tokenMint: new web3_js_1.PublicKey(obj.tokenMint),
tokenVault: new web3_js_1.PublicKey(obj.tokenVault),
authority: new web3_js_1.PublicKey(obj.authority),
rewardGrowthGlobalX64: new bn_js_1.default(obj.rewardGrowthGlobalX64),
});
}
toEncodable() {
return RewardInfo.toEncodable(this);
}
}
exports.RewardInfo = RewardInfo;
//# sourceMappingURL=RewardInfo.js.map