UNPKG

@ledgerhq/coin-ton

Version:
49 lines 2.02 kB
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets"; import resolver from "../../hw-getAddress"; import { getLedgerTonPath } from "../../utils"; const address = "0xc3f95102d5c8f2c83e49ce3acfb905edfb7f37de"; const publicKey = "mockedPublicKey"; const spyGetAddress = jest.fn().mockImplementation(async () => Promise.resolve({ publicKey, address: address.toLowerCase(), })); const spyValidateAddress = jest.fn().mockImplementation(async () => Promise.resolve({ publicKey, address: address.toLowerCase(), })); const mockSignerFactory = (_, fn) => fn({ getAddress: spyGetAddress, validateAddress: spyValidateAddress, signTransaction: jest.fn(), }); describe("hw-getAddress", () => { it("should return an encoded address and a public key when verifiy is false", async () => { const getAddress = resolver(mockSignerFactory); const response = await getAddress("deviceId", { path: "44'/607'/0'/0'/0'/0'", verify: false, currency: getCryptoCurrencyById("ton"), derivationMode: "ton", }); expect(response.address).toBe(address); expect(response.publicKey).toBe(publicKey); expect(spyGetAddress).toHaveBeenCalledWith(getLedgerTonPath("44'/607'/0'/0'/0'/0'"), { bounceable: false, }); }); it("should return an encoded address and a public key when verifiy is true", async () => { const getAddress = resolver(mockSignerFactory); const response = await getAddress("deviceId", { path: "44'/607'/0'/0'/0'/0'", verify: true, currency: getCryptoCurrencyById("ton"), derivationMode: "ton", }); expect(response.address).toBe(address); expect(response.publicKey).toBe(publicKey); expect(spyValidateAddress).toHaveBeenCalledWith(getLedgerTonPath("44'/607'/0'/0'/0'/0'"), { bounceable: false, }); }); }); //# sourceMappingURL=hw-getAddress.unit.test.js.map