@flarenetwork/flare-stake-tool
Version:
Utilities for staking on the Flare network
228 lines • 8.07 kB
JavaScript
;
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 () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultWallet = defaultWallet;
exports.defaultTxSettings = defaultTxSettings;
exports.defaultMoveCPParams = defaultMoveCPParams;
exports.defaultMovePCParams = defaultMovePCParams;
exports.defaultStakeParams = defaultStakeParams;
exports.defaultClaimRewardParams = defaultClaimRewardParams;
exports.defaultWrapCParams = defaultWrapCParams;
exports.defaultERC20Params = defaultERC20Params;
exports.getExportCTxParams = getExportCTxParams;
exports.getExportPTxParams = getExportPTxParams;
exports.getImportCTxParams = getImportCTxParams;
exports.getImportPTxParams = getImportPTxParams;
exports.getDelegatorPTxParams = getDelegatorPTxParams;
exports.getValidatorPTxParams = getValidatorPTxParams;
exports.getClaimCStakeRewardTxParams = getClaimCStakeRewardTxParams;
exports.getWrapCTxParams = getWrapCTxParams;
exports.getUnwrapCTxParams = getUnwrapCTxParams;
exports.getERC20TransferCTxParams = getERC20TransferCTxParams;
exports.getDefaultMessageSignature = getDefaultMessageSignature;
const bn_js_1 = require("bn.js");
const settings = __importStar(require("../settings"));
const utils = __importStar(require("../utils"));
const flarejs_1 = require("@flarenetwork/flarejs");
function defaultWallet() {
const zero = new bn_js_1.BN(0);
return {
network: settings.DEFAULT_NETWORK,
connection: "",
bip44Path: settings.DEFAULT_BIP44_PATH,
viewOnlyValue: "",
publicKey: "",
cAddress: "",
pAddress: "",
cBalance: zero,
pBalance: zero,
pcBalance: zero,
cpBalance: zero,
wcBalance: zero,
cStake: zero,
pStake: zero,
pStakesOf: new Array(),
pStakeUTXOsOf: new Array(),
pStakesTo: new Array(),
cReward: zero,
};
}
function defaultTxSettings() {
return {
submitTx: true,
exportSignedTx: false,
copySignedTx: false,
copyTxId: false,
generateLegacyEvmTx: false,
useEthSign: false,
};
}
function defaultMoveCPParams() {
return {
amount: "",
};
}
function defaultMovePCParams() {
return {
amount: "",
};
}
function defaultStakeParams() {
const now = new Date();
const min = 60 * 1000;
const minFromUnixEpoch = Math.round(now.getTime() / min);
const start = new Date((minFromUnixEpoch + 5) * min);
const end = new Date(start.getTime() + 14 * 24 * 60 * min);
return {
nodeId: "",
amount: "",
startTime: utils.dateToDateTimeLocalString(start),
endTime: utils.dateToDateTimeLocalString(end),
delegationFee: "",
popBLSPublicKey: "",
popBLSSignature: "",
useConsumableUTXOs: true,
useNonconsumableUTXOs: false,
customUTXOs: new Set(),
};
}
function defaultClaimRewardParams() {
return {
recipient: "",
amount: "",
wrap: false,
};
}
function defaultWrapCParams() {
return {
amount: "",
};
}
function defaultERC20Params() {
return {
tokenName: "custom",
tokenAddress: "",
recipient: "",
amount: "",
};
}
function getExportCTxParams(network, publicKey, params) {
const amount = utils.flrToGwei(params.amount);
return { network, publicKey, type: "EXPORT_CTX", amount, exportFee: new bn_js_1.BN(0) };
}
function getExportPTxParams(network, publicKey, params) {
const amount = utils.flrToGwei(params.amount);
return { network, publicKey, type: "EXPORT_PTX", amount };
}
function getImportCTxParams(network, publicKey) {
return { network, publicKey, type: "IMPORT_CTX", importFee: new bn_js_1.BN(0) };
}
function getImportPTxParams(network, publicKey) {
return { network, publicKey, type: "IMPORT_PTX" };
}
function getDelegatorPTxParams(network, publicKey, params) {
const nodeId = params.nodeId.trim();
const amount = utils.flrToGwei(params.amount);
const startTime = new bn_js_1.BN(Math.round(new Date(params.startTime.trim()).getTime() / 1000));
const endTime = new bn_js_1.BN(Math.round(new Date(params.endTime.trim()).getTime() / 1000));
const useConsumableUTXOs = params.useConsumableUTXOs;
const customUTXOs = Array.from(params.customUTXOs);
return {
network,
publicKey,
type: "DELEGATOR_PTX",
nodeId,
amount,
startTime,
endTime,
useConsumableUTXOs,
customUTXOs,
};
}
function getValidatorPTxParams(network, publicKey, params) {
const nodeId = params.nodeId.trim();
const amount = utils.flrToGwei(params.amount);
const startTime = new bn_js_1.BN(Math.round(new Date(params.startTime.trim()).getTime() / 1000));
const endTime = new bn_js_1.BN(Math.round(new Date(params.endTime.trim()).getTime() / 1000));
const delegationFee = params.delegationFee ? parseFloat(params.delegationFee) : 0;
const popBLSPublicKey = flarejs_1.utils.hexToBuffer(params.popBLSPublicKey.trim());
const popBLSSignature = flarejs_1.utils.hexToBuffer(params.popBLSSignature.trim());
const useConsumableUTXOs = params.useConsumableUTXOs;
const customUTXOs = Array.from(params.customUTXOs);
return {
network,
publicKey,
type: "VALIDATOR_PTX",
nodeId,
amount,
startTime,
endTime,
delegationFee,
popBLSPublicKey,
popBLSSignature,
useConsumableUTXOs,
customUTXOs,
};
}
function getClaimCStakeRewardTxParams(network, publicKey, txType, params) {
const recipient = params.recipient.trim();
const amount = utils.flrToGwei(params.amount);
const wrap = params.wrap;
return { network, publicKey, txType, type: "CLAIM_REWARD_CTX", recipient, amount, wrap };
}
function getWrapCTxParams(network, publicKey, txType, params) {
const amount = utils.flrToGwei(params.amount);
return { network, publicKey, txType, type: "WRAP_CTX", amount };
}
function getUnwrapCTxParams(network, publicKey, txType, params) {
const amount = utils.flrToGwei(params.amount);
return { network, publicKey, txType, type: "UNWRAP_CTX", amount };
}
function getERC20TransferCTxParams(network, publicKey, txType, params) {
const token = params.tokenAddress;
const recipient = params.recipient;
const amount = new bn_js_1.BN(params.amount).mul(new bn_js_1.BN(10).pow(new bn_js_1.BN(18)));
return { network, publicKey, txType, type: "ERC20_CTX", token, recipient, amount };
}
function getDefaultMessageSignature() {
return {
message: "",
hashedEthMsg: "",
v: "",
r: "",
s: "",
};
}
//# sourceMappingURL=index.js.map