import BN from "bn.js"; import { expect } from "chai"; import { ActionVertexInfo, NonSpecificConstruction } from "../lib"; import { deserializeNonspecificConstruction, serializeNonspecificConstruction, } from "../lib/serializer/index"; import { TransferAction } from "../../../../malloc-spl/src/index"; import { Provider } from "../../../../../anchor/ts/src"; import { Account, PublicKey } from "@solana/web3.js"; describe("Test serializer", () => { it("Should serialize and deserialize a nonuserSpecificConstruction", () => { const construction: NonSpecificConstruction = { actionDatas: [ { actionTypeUID: "Transfer", actionPID: "FAKE PID", buildActionInputs: { mint: new Account().publicKey.toBase58(), transferActionProgram: new Account().publicKey.toBase58(), recipientTokenAccount: new Account().publicKey.toBase58(), }, actionVertexInfo: { nextNodes: [[]], inDegree: 1, }, }, ], initialActionIndices: [0], initialSplits: [1], amount: "100", }; const serial = serializeNonspecificConstruction(construction); const deserial = deserializeNonspecificConstruction(serial); expect(deserial).to.deep.eq(construction); }); });