import { Provider } from "@project-serum/anchor"; import { u64 } from "@solana/spl-token"; import { PublicKey } from "@solana/web3.js"; import BN from "bn.js"; import { BuildActionMap, BuildIsolatedActionFn, NonSpecificConstruction, } from "../interfaces"; export const serializeNonspecificConstruction = ( construction: NonSpecificConstruction ): string => { return JSON.stringify(construction); }; export const deserializeNonspecificConstruction = ( construction: string ): NonSpecificConstruction => { const deserial = JSON.parse(construction); for (let i = 0; i < deserial.actionDatas.length; i++) { if (!deserial.actionDatas[i].buildActionInputs) { throw "The given serialized string does not have the proper structure"; } } return deserial; };