UNPKG

@moonsong-labs/moonwall-util

Version:

Testing framework for the Moon family of projects

49 lines (46 loc) 1.27 kB
import { ALITH_PRIVATE_KEY } from "./chunk-EG7W3V7T.js"; // src/functions/contextHelpers.ts import "@moonbeam-network/api-augment"; import { ethers } from "ethers"; function filterAndApply(events, section, methods, onFound) { return events.filter(({ event }) => section === event.section && methods.includes(event.method)).map((record) => onFound(record)); } function getDispatchError({ event: { data: [dispatchError] } }) { return dispatchError; } function getDispatchInfo({ event: { data, method } }) { return method === "ExtrinsicSuccess" ? data[0] : data[1]; } function extractError(events = []) { return filterAndApply(events, "system", ["ExtrinsicFailed"], getDispatchError)[0]; } function isExtrinsicSuccessful(events = []) { return filterAndApply(events, "system", ["ExtrinsicSuccess"], () => true).length > 0; } function extractInfo(events = []) { return filterAndApply( events, "system", ["ExtrinsicFailed", "ExtrinsicSuccess"], getDispatchInfo )[0]; } var alithSigner = (context) => { const signer = new ethers.Wallet(ALITH_PRIVATE_KEY, context); signer.connect(context); return signer; }; export { filterAndApply, getDispatchError, extractError, isExtrinsicSuccessful, extractInfo, alithSigner };