@ledgerhq/coin-filecoin
Version:
Ledger Filecoin Coin integration
48 lines (43 loc) • 1.4 kB
text/typescript
import * as Wallet from "iso-filecoin/wallet";
import { broadcast } from "./broadcast";
import BigNumber from "bignumber.js";
describe("Broadcast", () => {
it("throws on insufficient funds", async () => {
const mnemonic = Wallet.generateMnemonic();
const sender = Wallet.accountFromMnemonic(mnemonic, "SECP256K1", "m/44'/461'/0'/0/0");
const receiver = Wallet.accountFromMnemonic(mnemonic, "SECP256K1", "m/44'/461'/0'/0/1");
const message = {
version: 0 as const,
to: receiver.address.toString(),
from: sender.address.toString(),
nonce: 0,
value: "1",
gasLimit: 1000000,
gasFeeCap: "1",
gasPremium: "1",
method: 0,
params: "",
};
const sigBytes = Wallet.signMessage(sender.privateKey, "SECP256K1", message);
await expect(
broadcast({
signedOperation: {
signature: Buffer.from(sigBytes.data).toString("base64"),
rawData: {
version: 0,
recipient: receiver.address.toString(),
sender: sender.address.toString(),
nonce: 0,
value: "1",
gasLimit: new BigNumber(1000000),
gasFeeCap: "1",
gasPremium: "1",
method: 0,
params: "",
signatureType: 1,
},
},
} as any),
).rejects.toThrow(/Something went wrong/);
});
});