UNPKG

@axelar-network/axelar-cgp-sui

Version:
67 lines 2.88 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { getFullnodeUrl } from '@mysten/sui/client'; import { getFaucetHost, requestSuiFromFaucetV0 } from '@mysten/sui/faucet'; import { arrayify, keccak256 } from 'ethers/lib/utils'; import secp256k1 from 'secp256k1'; import { STD_PACKAGE_ID } from './types'; export const fundAccountsFromFaucet = (addresses) => __awaiter(void 0, void 0, void 0, function* () { const promises = addresses.map((address) => __awaiter(void 0, void 0, void 0, function* () { const network = process.env.NETWORK || 'localnet'; return requestSuiFromFaucetV0({ host: getFaucetHost(network), recipient: address, }); })); return Promise.all(promises); }); export function parseEnv(arg) { switch (arg === null || arg === void 0 ? void 0 : arg.toLowerCase()) { case 'localnet': case 'devnet': case 'testnet': case 'mainnet': return { alias: arg, url: getFullnodeUrl(arg) }; default: return JSON.parse(arg); } } export function hashMessage(data, commandType) { const toHash = new Uint8Array(data.length + 1); toHash[0] = commandType; toHash.set(data, 1); return keccak256(toHash); } export function signMessage(privKeys, messageToSign) { const signatures = []; for (const privKey of privKeys) { const { signature, recid } = secp256k1.ecdsaSign(arrayify(keccak256(messageToSign)), arrayify(privKey)); signatures.push(new Uint8Array([...signature, recid])); } return signatures; } export function isString(parameter) { // eslint-disable-next-line @typescript-eslint/no-explicit-any let asAny = parameter; if (asAny.MutableReference) { parameter = asAny.MutableReference; } if (asAny.Reference) { asAny = asAny.Reference; } asAny = asAny.Struct; if (!asAny) { return false; } const isAsciiString = asAny.address === STD_PACKAGE_ID && asAny.module === 'ascii' && asAny.name === 'String'; const isStringString = asAny.address === STD_PACKAGE_ID && asAny.module === 'string' && asAny.name === 'String'; return isAsciiString || isStringString; } //# sourceMappingURL=utils.js.map