UNPKG

@spanning/utils

Version:

Javascript utility functions for the Spanning Network

36 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getShortLocalAddress = exports.parseSpanningAddress = exports.getShortSpanningAddress = exports.getSpanningAddress = exports.spanningAddressLength = void 0; const ethers_1 = require("ethers"); exports.spanningAddressLength = 32; function getSpanningAddress(chainId, account) { account = account.length == 42 ? account.slice(2) : account; const spanningAddress = `0x${chainId.toString(16)}0000000000000000${account}`; return ethers_1.ethers.utils.hexZeroPad(spanningAddress, exports.spanningAddressLength); } exports.getSpanningAddress = getSpanningAddress; function getShortSpanningAddress(chainId, account) { const accountContents = account.length == 42 ? account.slice(2) : account; const accountStart = accountContents.substring(0, 4); const accountEnd = accountContents.substring(accountContents.length - 4); const chainIdPadded = ethers_1.ethers.utils.hexZeroPad(`0x${chainId.toString(16)}`, 4); const spanningAddress = `${chainIdPadded}...${accountStart}...${accountEnd}`; return spanningAddress; } exports.getShortSpanningAddress = getShortSpanningAddress; function parseSpanningAddress(spanningAddress) { return { chainId: parseInt("0x" + spanningAddress.slice(2, 10), 16), localAddress: "0x" + spanningAddress.slice(26), }; } exports.parseSpanningAddress = parseSpanningAddress; function getShortLocalAddress(account) { const accountContents = account.length == 42 ? account.slice(2) : account; const accountStart = accountContents.substring(0, 8); const accountEnd = accountContents.substring(accountContents.length - 8); const spanningAddress = `${accountStart}...${accountEnd}`; return spanningAddress; } exports.getShortLocalAddress = getShortLocalAddress; //# sourceMappingURL=spanningAddress.js.map