@ledgerhq/coin-internet_computer
Version:
Ledger Internet Computer integration
34 lines • 1.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateMemo = exports.validateAddress = exports.getAddress = void 0;
const logs_1 = require("@ledgerhq/logs");
const bignumber_js_1 = __importDefault(require("bignumber.js"));
const consts_1 = require("../../consts");
const api_1 = require("../../api");
const getAddress = (a) => ({ address: a.freshAddress, derivationPath: a.freshAddressPath });
exports.getAddress = getAddress;
async function validateAddress(address) {
try {
const res = await (0, api_1.fetchBalances)(address);
if (!res.balances)
throw Error(res.details?.error_message);
return { isValid: true };
}
catch (e) {
(0, logs_1.log)("error", e.message ?? "Failed to validate address");
return { isValid: false };
}
}
exports.validateAddress = validateAddress;
function validateMemo(memo) {
const res = (0, bignumber_js_1.default)(memo ?? 0);
if (res.isNaN() || res.lt(0) || res.gt((0, bignumber_js_1.default)(consts_1.MAX_MEMO_VALUE))) {
return { isValid: false };
}
return { isValid: true };
}
exports.validateMemo = validateMemo;
//# sourceMappingURL=addresses.js.map