diff --git a/integration/src/bitcoin/bitcoin.ts b/integration/src/bitcoin/bitcoin.ts index c93a9d171..ed66dcf8d 100644 --- a/integration/src/bitcoin/bitcoin.ts +++ b/integration/src/bitcoin/bitcoin.ts @@ -462,19 +462,6 @@ export function bitcoinTests(get: () => { wallet: core.HDWallet; info: core.HDWa TIMEOUT ); - test( - "btcSupportsNativeShapeShift()", - async () => { - if (!wallet) return; - expect(typeof wallet.btcSupportsNativeShapeShift() === typeof true); - if (wallet.btcSupportsNativeShapeShift()) { - expect(info.btcSupportsNativeShapeShift()).toBeTruthy(); - } - // TODO: write a testcase that exercises native shapeshift, if the wallet claims to support it. - }, - TIMEOUT - ); - test( "btcGetAccountPaths()", async () => { diff --git a/integration/src/ethereum/ethereum.ts b/integration/src/ethereum/ethereum.ts index 62972fe36..1e05af446 100644 --- a/integration/src/ethereum/ethereum.ts +++ b/integration/src/ethereum/ethereum.ts @@ -39,16 +39,6 @@ export function ethereumTests(get: () => { wallet: core.HDWallet; info: core.HDW TIMEOUT ); - test( - "ethSupportsNativeShapeShift()", - async () => { - if (!wallet) return; - // TODO: add a test that pays a ShapeShift conduit - expect(typeof wallet.ethSupportsNativeShapeShift() === typeof true).toBeTruthy(); - }, - TIMEOUT - ); - test( "ethSupportsSecureTransfer()", async () => { diff --git a/integration/src/wallets/keepkey.ts b/integration/src/wallets/keepkey.ts index a161e31e1..1b6c2d9fa 100644 --- a/integration/src/wallets/keepkey.ts +++ b/integration/src/wallets/keepkey.ts @@ -94,11 +94,6 @@ export function selfTest(get: () => core.HDWallet): void { await expect(wallet.ethSupportsNetwork(1)).resolves.toEqual(true); }); - it("supports ShapeShift", async () => { - if (!wallet) return; - expect(wallet.ethSupportsNativeShapeShift()).toEqual(true); - }); - it("supports Secure Transfer", async () => { if (!wallet) return; await expect(wallet.ethSupportsSecureTransfer()).resolves.toEqual(true); diff --git a/integration/src/wallets/ledger.ts b/integration/src/wallets/ledger.ts index 498c490c4..35f9732b2 100644 --- a/integration/src/wallets/ledger.ts +++ b/integration/src/wallets/ledger.ts @@ -234,12 +234,6 @@ export function selfTest(get: () => core.HDWallet): void { expect(await wallet.ethSupportsNetwork(1)).toEqual(true); }); - it("does not support Native ShapeShift", async () => { - if (!wallet) return; - expect(wallet.ethSupportsNativeShapeShift()).toEqual(false); - expect(wallet.btcSupportsNativeShapeShift()).toEqual(false); - }); - it("does not support Secure Transfer", async () => { if (!wallet) return; expect(await wallet.ethSupportsSecureTransfer()).toEqual(false); diff --git a/integration/src/wallets/metamask.ts b/integration/src/wallets/metamask.ts index f866f5198..4087f37b1 100644 --- a/integration/src/wallets/metamask.ts +++ b/integration/src/wallets/metamask.ts @@ -38,11 +38,6 @@ export function selfTest(get: () => core.HDWallet): void { expect(core.supportsBTC(wallet)).toBe(false); }); - it("does not support Native ShapeShift", async () => { - if (!wallet) return; - expect(wallet.ethSupportsNativeShapeShift()).toEqual(false); - }); - it("does not support EIP1559", async () => { if (!wallet) return; expect(await wallet.ethSupportsEIP1559()).toEqual(false); diff --git a/integration/src/wallets/native.ts b/integration/src/wallets/native.ts index 9acb1a8d5..c9e782f0b 100644 --- a/integration/src/wallets/native.ts +++ b/integration/src/wallets/native.ts @@ -191,12 +191,6 @@ export function selfTest(get: () => core.HDWallet): void { expect(await wallet.ethSupportsNetwork()).toEqual(true); }); - it("does not support Native ShapeShift", async () => { - if (!wallet) return; - expect(wallet.ethSupportsNativeShapeShift()).toEqual(false); - expect(wallet.btcSupportsNativeShapeShift()).toEqual(false); - }); - it("does not support Secure Transfer", async () => { if (!wallet) return; expect(await wallet.ethSupportsSecureTransfer()).toEqual(false); diff --git a/integration/src/wallets/trezor.ts b/integration/src/wallets/trezor.ts index 1c06c8ea4..1b10d3c9e 100644 --- a/integration/src/wallets/trezor.ts +++ b/integration/src/wallets/trezor.ts @@ -376,12 +376,6 @@ export function selfTest(get: () => core.HDWallet): void { expect(await wallet.ethSupportsNetwork(1)).toEqual(true); }); - it("does not support Native ShapeShift", async () => { - if (!wallet) return; - expect(wallet.ethSupportsNativeShapeShift()).toEqual(false); - expect(wallet.btcSupportsNativeShapeShift()).toEqual(false); - }); - it("does not support Secure Transfer", async () => { if (!wallet) return; expect(await wallet.ethSupportsSecureTransfer()).toEqual(false); diff --git a/packages/hdwallet-core/src/bitcoin.ts b/packages/hdwallet-core/src/bitcoin.ts index 1ab52165e..5b5c3183b 100644 --- a/packages/hdwallet-core/src/bitcoin.ts +++ b/packages/hdwallet-core/src/bitcoin.ts @@ -1,7 +1,7 @@ import * as ta from "type-assertions"; import { addressNListToBIP32, slip44ByCoin } from "./utils"; -import { BIP32Path, Coin, ExchangeType, HDWallet, HDWalletInfo, PathDescription } from "./wallet"; +import { BIP32Path, Coin, HDWallet, HDWalletInfo, PathDescription } from "./wallet"; // GuardedUnion will ensure a static typechecking error if any properties are set that aren't supposed // to be present on the specific union member being passed in. (This also helps the compiler with type inference.) @@ -201,15 +201,6 @@ export type BTCSignTxOutputChange = { isChange: true; }; -export type BTCSignTxOutputExchange = { - /** - * Device must `btcSupportsNativeShapeShift()` - */ - addressType: BTCOutputAddressType.Exchange; - amount: string; - exchangeType: ExchangeType; -}; - export type BTCSignTxOutputMemo = { addressType?: BTCOutputAddressType.Spend; amount?: "0"; @@ -223,7 +214,6 @@ export type BTCSignTxOutput = GuardedUnion< | BTCSignTxOutputSpendP2WPKH | BTCSignTxOutputTransfer | BTCSignTxOutputChange - | BTCSignTxOutputExchange | BTCSignTxOutputMemo >; @@ -272,7 +262,6 @@ export enum BTCOutputAddressType { Spend = "spend", Transfer = "transfer", Change = "change", - Exchange = "exchange", } export interface BTCSignMessage { @@ -326,11 +315,6 @@ export interface BTCWalletInfo extends HDWalletInfo { */ btcSupportsSecureTransfer(): Promise; - /** - * Does the device support `/sendamountProto2` style ShapeShift trades? - */ - btcSupportsNativeShapeShift(): boolean; - /** * Returns a list of bip32 paths for a given account index in preferred order * from most to least preferred. diff --git a/packages/hdwallet-core/src/ethereum.ts b/packages/hdwallet-core/src/ethereum.ts index db1a6ec03..4a8cb2196 100644 --- a/packages/hdwallet-core/src/ethereum.ts +++ b/packages/hdwallet-core/src/ethereum.ts @@ -1,5 +1,5 @@ import { addressNListToBIP32, slip44ByCoin } from "./utils"; -import { ExchangeType, BIP32Path, HDWallet, HDWalletInfo, PathDescription } from "./wallet"; +import { BIP32Path, HDWallet, HDWalletInfo, PathDescription } from "./wallet"; export enum ETHTransactionType { ETH_TX_TYPE_LEGACY = 0, @@ -54,10 +54,6 @@ export interface ETHSignTx { data: string; /** mainnet: 1, ropsten: 3, kovan: 42 */ chainId: number; - /** - * Device must `ethSupportsNativeShapeShift()` - */ - exchangeType?: ExchangeType; } export interface ETHTxHash { @@ -105,11 +101,6 @@ export interface ETHWalletInfo extends HDWalletInfo { */ ethSupportsSecureTransfer(): Promise; - /** - * Does the device support `/sendamountProto2` style ShapeShift trades? - */ - ethSupportsNativeShapeShift(): boolean; - /** * * Does the device support transactions with EIP-1559 fee parameters? diff --git a/packages/hdwallet-core/src/wallet.ts b/packages/hdwallet-core/src/wallet.ts index a50d2bfee..e946f2a0e 100644 --- a/packages/hdwallet-core/src/wallet.ts +++ b/packages/hdwallet-core/src/wallet.ts @@ -74,16 +74,6 @@ export interface LoadDevice { skipChecksum?: boolean; } -export interface ExchangeType { - /** `SignedExchangeResponse` from the `/sendamountProto2` ShapeShift endpoint, base64 encoded */ - signedExchangeResponse: string; - withdrawalCoinName: string; - withdrawalAddressNList: BIP32Path; - withdrawalScriptType?: BTCInputScriptType; - returnAddressNList: BIP32Path; - returnScriptType?: BTCInputScriptType; -} - export interface DescribePath { path: BIP32Path; coin: Coin; @@ -246,12 +236,6 @@ export interface HDWalletInfo { */ hasOnDeviceRecovery(): boolean; - /** - * Does the device support `/sendamountProto2` style native ShapeShift - * integration for the given pair? - */ - hasNativeShapeShift(srcCoin: Coin, dstCoin: Coin): boolean; - /** * Will the device allow for transactions to be signed offline to be * broadcasted separately? diff --git a/packages/hdwallet-keepkey/src/bitcoin.ts b/packages/hdwallet-keepkey/src/bitcoin.ts index 968dc252e..944afc822 100644 --- a/packages/hdwallet-keepkey/src/bitcoin.ts +++ b/packages/hdwallet-keepkey/src/bitcoin.ts @@ -1,4 +1,3 @@ -import * as Exchange from "@keepkey/device-protocol/lib/exchange_pb"; import * as Messages from "@keepkey/device-protocol/lib/messages_pb"; import * as Types from "@keepkey/device-protocol/lib/types_pb"; import * as core from "@shapeshiftoss/hdwallet-core"; @@ -71,36 +70,7 @@ function prepareSignTx( const output: core.BTCSignTxOutput = o; const newOutput = new Types.TxOutputType(); newOutput.setAmount(Number(output.amount)); - if (output.exchangeType) { - // BTCSignTxOutputExchange - // convert the base64 encoded signedExchangeResponse message into the correct object - const signedHex = core.base64toHEX(output.exchangeType.signedExchangeResponse); - const signedExchange = Exchange.SignedExchangeResponse.deserializeBinary(core.arrayify(signedHex)); - - // decode the deposit amount from a little-endian Uint8Array into an unsigned uint64 - let depAmt = core.mustBeDefined(signedExchange.getResponsev2()).getDepositAmount_asU8(); - let val = 0; - for (let jj = depAmt.length - 1; jj >= 0; jj--) { - val += depAmt[jj] * Math.pow(2, 8 * (depAmt.length - jj - 1)); - // TODO validate is uint64 - } - const outExchangeType = new Types.ExchangeType(); - outExchangeType.setSignedExchangeResponse(signedExchange); - outExchangeType.setWithdrawalCoinName(output.exchangeType.withdrawalCoinName); - outExchangeType.setWithdrawalAddressNList(output.exchangeType.withdrawalAddressNList); - outExchangeType.setWithdrawalScriptType( - translateInputScriptType(output.exchangeType.withdrawalScriptType || core.BTCInputScriptType.SpendAddress) - ); - outExchangeType.setReturnAddressNList(output.exchangeType.returnAddressNList); - outExchangeType.setReturnScriptType( - translateInputScriptType(output.exchangeType.returnScriptType || core.BTCInputScriptType.SpendAddress) - ); - newOutput.setAmount(val); - newOutput.setAddress(core.mustBeDefined(signedExchange.toObject().responsev2?.depositAddress?.address)); - newOutput.setScriptType(Types.OutputScriptType.PAYTOADDRESS); - newOutput.setAddressType(Types.OutputAddressType.EXCHANGE); - newOutput.setExchangeType(outExchangeType); - } else if (output.isChange || output.addressType === core.BTCOutputAddressType.Transfer) { + if (output.isChange || output.addressType === core.BTCOutputAddressType.Transfer) { // BTCSignTxOutputTranfer || BTCSignTxOutputChange newOutput.setScriptType(translateOutputScriptType(output.scriptType)); newOutput.setAddressNList(output.addressNList); @@ -503,10 +473,6 @@ export async function btcSupportsSecureTransfer(): Promise { return true; } -export function btcSupportsNativeShapeShift(): boolean { - return true; -} - export async function btcSignMessage( wallet: core.BTCWallet, transport: Transport, diff --git a/packages/hdwallet-keepkey/src/ethereum.ts b/packages/hdwallet-keepkey/src/ethereum.ts index fbe89b2f5..0e8e6b8e2 100644 --- a/packages/hdwallet-keepkey/src/ethereum.ts +++ b/packages/hdwallet-keepkey/src/ethereum.ts @@ -1,4 +1,3 @@ -import * as Exchange from "@keepkey/device-protocol/lib/exchange_pb"; import * as Messages from "@keepkey/device-protocol/lib/messages_pb"; import * as Types from "@keepkey/device-protocol/lib/types_pb"; import * as core from "@shapeshiftoss/hdwallet-core"; @@ -6,7 +5,7 @@ import Common from "@ethereumjs/common"; import { FeeMarketEIP1559Transaction, Transaction } from "@ethereumjs/tx"; import * as eip55 from "eip55"; -import { toUTF8Array, translateInputScriptType } from "./utils"; +import { toUTF8Array } from "./utils"; import { Transport } from "./transport"; export async function ethSupportsNetwork(chain_id: number): Promise { @@ -17,10 +16,6 @@ export async function ethSupportsSecureTransfer(): Promise { return true; } -export function ethSupportsNativeShapeShift(): boolean { - return true; -} - export function ethGetAccountPaths(msg: core.ETHGetAccountPath): Array { const slip44 = core.slip44ByCoin(msg.coin); if (slip44 === undefined) return []; @@ -63,23 +58,6 @@ export async function ethSignTx(transport: Transport, msg: core.ETHSignTx): Prom if (msg.toAddressNList) { est.setAddressType(Types.OutputAddressType.SPEND); est.setToAddressNList(msg.toAddressNList); - } else if (msg.exchangeType) { - est.setAddressType(Types.OutputAddressType.EXCHANGE); - - const signedHex = core.base64toHEX(msg.exchangeType.signedExchangeResponse); - const signedExchangeOut = Exchange.SignedExchangeResponse.deserializeBinary(core.arrayify(signedHex)); - const exchangeType = new Types.ExchangeType(); - exchangeType.setSignedExchangeResponse(signedExchangeOut); - exchangeType.setWithdrawalCoinName(msg.exchangeType.withdrawalCoinName); // KeepKey firmware will complain if this doesn't match signed exchange response - exchangeType.setWithdrawalAddressNList(msg.exchangeType.withdrawalAddressNList); - exchangeType.setWithdrawalScriptType( - translateInputScriptType(msg.exchangeType.withdrawalScriptType || core.BTCInputScriptType.SpendAddress) - ); - exchangeType.setReturnAddressNList(msg.exchangeType.returnAddressNList); - exchangeType.setReturnScriptType( - translateInputScriptType(msg.exchangeType.returnScriptType || core.BTCInputScriptType.SpendAddress) - ); - est.setExchangeType(exchangeType); } else { est.setAddressType(Types.OutputAddressType.SPEND); } diff --git a/packages/hdwallet-keepkey/src/keepkey.ts b/packages/hdwallet-keepkey/src/keepkey.ts index de357dcd2..d59b98935 100644 --- a/packages/hdwallet-keepkey/src/keepkey.ts +++ b/packages/hdwallet-keepkey/src/keepkey.ts @@ -396,10 +396,6 @@ export class KeepKeyHDWalletInfo return Btc.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return Btc.btcSupportsNativeShapeShift(); - } - public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { return Btc.btcGetAccountPaths(msg); } @@ -416,10 +412,6 @@ export class KeepKeyHDWalletInfo return Eth.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return Eth.ethSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { return true; } @@ -464,10 +456,6 @@ export class KeepKeyHDWalletInfo return false; } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return true; - } - public supportsOfflineSigning(): boolean { return true; } @@ -806,10 +794,6 @@ export class KeepKeyHDWallet implements core.HDWallet, core.BTCWallet, core.ETHW return false; } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return true; - } - public supportsOfflineSigning(): boolean { return true; } @@ -1149,10 +1133,6 @@ export class KeepKeyHDWallet implements core.HDWallet, core.BTCWallet, core.ETHW return this.info.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return this.info.btcSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { // EIP1559 support starts in v7.2.1 return semver.gte(await this.getFirmwareVersion(), "v7.2.1"); @@ -1203,10 +1183,6 @@ export class KeepKeyHDWallet implements core.HDWallet, core.BTCWallet, core.ETHW return this.info.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return this.info.ethSupportsNativeShapeShift(); - } - public ethGetAccountPaths(msg: core.ETHGetAccountPath): Array { return this.info.ethGetAccountPaths(msg); } diff --git a/packages/hdwallet-ledger/src/bitcoin.ts b/packages/hdwallet-ledger/src/bitcoin.ts index 9aab59c2f..86c1ffb03 100644 --- a/packages/hdwallet-ledger/src/bitcoin.ts +++ b/packages/hdwallet-ledger/src/bitcoin.ts @@ -142,7 +142,6 @@ export async function btcSignTx( transport: LedgerTransport, msg: core.BTCSignTxLedger ): Promise { - let supportsShapeShift = wallet.btcSupportsNativeShapeShift(); let supportsSecureTransfer = await wallet.btcSupportsSecureTransfer(); let slip44 = core.mustBeDefined(core.slip44ByCoin(msg.coin)); let txBuilder = new bitcoin.TransactionBuilder(networksUtil[slip44].bitcoinjs as any); @@ -153,8 +152,6 @@ export async function btcSignTx( //bitcoinjs-lib msg.outputs.map((output) => { - if (output.exchangeType && !supportsShapeShift) throw new Error("Ledger does not support Native ShapeShift"); - if (output.addressNList !== undefined) { if (output.addressType === core.BTCOutputAddressType.Transfer && !supportsSecureTransfer) throw new Error("Ledger does not support SecureTransfer"); @@ -241,10 +238,6 @@ export async function btcSupportsSecureTransfer(): Promise { return false; } -export function btcSupportsNativeShapeShift(): boolean { - return false; -} - export async function btcSignMessage( wallet: core.BTCWallet, transport: LedgerTransport, diff --git a/packages/hdwallet-ledger/src/ethereum.ts b/packages/hdwallet-ledger/src/ethereum.ts index b020a7c5a..b57cebd50 100644 --- a/packages/hdwallet-ledger/src/ethereum.ts +++ b/packages/hdwallet-ledger/src/ethereum.ts @@ -113,10 +113,6 @@ export async function ethSupportsSecureTransfer(): Promise { return false; } -export function ethSupportsNativeShapeShift(): boolean { - return false; -} - export function ethSupportsEIP1559(): boolean { return false; } diff --git a/packages/hdwallet-ledger/src/ledger.ts b/packages/hdwallet-ledger/src/ledger.ts index 1a834c704..b487545be 100644 --- a/packages/hdwallet-ledger/src/ledger.ts +++ b/packages/hdwallet-ledger/src/ledger.ts @@ -154,10 +154,6 @@ export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return btc.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return btc.btcSupportsNativeShapeShift(); - } - public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { return btc.btcGetAccountPaths(msg); } @@ -174,10 +170,6 @@ export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return eth.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return eth.ethSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { return eth.ethSupportsEIP1559(); } @@ -186,10 +178,6 @@ export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return eth.ethGetAccountPaths(msg); } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return false; - } - public supportsOfflineSigning(): boolean { return true; } @@ -404,10 +392,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa } } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return false; - } - public supportsOfflineSigning(): boolean { return true; } @@ -495,10 +479,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return this.info.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return this.info.btcSupportsNativeShapeShift(); - } - public async btcSignMessage(msg: core.BTCSignMessage): Promise { await this.validateCurrentApp(msg.coin); return btc.btcSignMessage(this, this.transport, msg); @@ -543,10 +523,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return this.info.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return this.info.ethSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { return await this.info.ethSupportsEIP1559(); } diff --git a/packages/hdwallet-metamask/src/metamask.ts b/packages/hdwallet-metamask/src/metamask.ts index 73440a9c3..e4bf244bb 100644 --- a/packages/hdwallet-metamask/src/metamask.ts +++ b/packages/hdwallet-metamask/src/metamask.ts @@ -103,10 +103,6 @@ export class MetaMaskHDWallet implements core.HDWallet, core.ETHWallet { return this.info.hasOnDeviceRecovery(); } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return this.info.hasNativeShapeShift(srcCoin, dstCoin); - } - public supportsOfflineSigning(): boolean { return false; } @@ -192,10 +188,6 @@ export class MetaMaskHDWallet implements core.HDWallet, core.ETHWallet { return false; } - public ethSupportsNativeShapeShift(): boolean { - return false; - } - public async ethSupportsEIP1559(): Promise { return false; } @@ -283,11 +275,6 @@ export class MetaMaskHDWalletInfo implements core.HDWalletInfo, core.ETHWalletIn return true; } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - // It doesn't... yet? - return false; - } - public supportsOfflineSigning(): boolean { return false; } @@ -318,10 +305,6 @@ export class MetaMaskHDWalletInfo implements core.HDWalletInfo, core.ETHWalletIn return false; } - public ethSupportsNativeShapeShift(): boolean { - return false; - } - public async ethSupportsEIP1559(): Promise { return false; } diff --git a/packages/hdwallet-native/src/binance.test.ts b/packages/hdwallet-native/src/binance.test.ts index 376103c91..9270d0fb7 100644 --- a/packages/hdwallet-native/src/binance.test.ts +++ b/packages/hdwallet-native/src/binance.test.ts @@ -84,7 +84,6 @@ describe("NativeBinanceWalletInfo", () => { it("should return some static metadata", async () => { expect(await untouchable.call(info, "binanceSupportsNetwork")).toBe(true); expect(await untouchable.call(info, "binanceSupportsSecureTransfer")).toBe(false); - expect(untouchable.call(info, "binanceSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/binance.ts b/packages/hdwallet-native/src/binance.ts index dbd562c98..c3717737a 100644 --- a/packages/hdwallet-native/src/binance.ts +++ b/packages/hdwallet-native/src/binance.ts @@ -20,10 +20,6 @@ export function MixinNativeBinanceWalletInfo { const slip44 = core.slip44ByCoin("Binance"); return [ diff --git a/packages/hdwallet-native/src/bitcoin.test.ts b/packages/hdwallet-native/src/bitcoin.test.ts index bfa2a0a74..bff34385d 100644 --- a/packages/hdwallet-native/src/bitcoin.test.ts +++ b/packages/hdwallet-native/src/bitcoin.test.ts @@ -139,7 +139,6 @@ describe("NativeBTCWalletInfo", () => { it("should return some static metadata", async () => { expect((info as any)["btcSupportsNetwork"]).not.toBeDefined(); expect(await untouchable.call(info, "btcSupportsSecureTransfer")).toBe(false); - expect(untouchable.call(info, "btcSupportsNativeShapeShift")).toBe(false); }); it("should return some dynamic metadata", async () => { diff --git a/packages/hdwallet-native/src/bitcoin.ts b/packages/hdwallet-native/src/bitcoin.ts index 582ec9815..02fc8555b 100644 --- a/packages/hdwallet-native/src/bitcoin.ts +++ b/packages/hdwallet-native/src/bitcoin.ts @@ -68,10 +68,6 @@ export function MixinNativeBTCWalletInfo { const slip44 = core.slip44ByCoin(msg.coin); if (slip44 === undefined) return []; diff --git a/packages/hdwallet-native/src/cosmos.test.ts b/packages/hdwallet-native/src/cosmos.test.ts index 10eb6104f..3f5be8b0a 100644 --- a/packages/hdwallet-native/src/cosmos.test.ts +++ b/packages/hdwallet-native/src/cosmos.test.ts @@ -15,7 +15,6 @@ describe("NativeCosmosWalletInfo", () => { it("should return some static metadata", async () => { expect(await untouchable.call(info, "cosmosSupportsNetwork")).toBe(true); expect(await untouchable.call(info, "cosmosSupportsSecureTransfer")).toBe(false); - expect(untouchable.call(info, "cosmosSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/cosmos.ts b/packages/hdwallet-native/src/cosmos.ts index 676948c89..7d1461453 100644 --- a/packages/hdwallet-native/src/cosmos.ts +++ b/packages/hdwallet-native/src/cosmos.ts @@ -20,10 +20,6 @@ export function MixinNativeCosmosWalletInfo { const slip44 = core.slip44ByCoin("Atom") return [ diff --git a/packages/hdwallet-native/src/ethereum.test.ts b/packages/hdwallet-native/src/ethereum.test.ts index 1f29be802..718716a60 100644 --- a/packages/hdwallet-native/src/ethereum.test.ts +++ b/packages/hdwallet-native/src/ethereum.test.ts @@ -17,7 +17,6 @@ describe("NativeETHWalletInfo", () => { it("should return some static metadata", async () => { expect(await untouchable.call(info, "ethSupportsNetwork")).toBe(true); expect(await untouchable.call(info, "ethSupportsSecureTransfer")).toBe(false); - expect(untouchable.call(info, "ethSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/ethereum.ts b/packages/hdwallet-native/src/ethereum.ts index 0da2ee9bf..5da49ee25 100644 --- a/packages/hdwallet-native/src/ethereum.ts +++ b/packages/hdwallet-native/src/ethereum.ts @@ -17,10 +17,6 @@ export function MixinNativeETHWalletInfo { return true; } diff --git a/packages/hdwallet-native/src/fio.test.ts b/packages/hdwallet-native/src/fio.test.ts index 90b1e8e15..e0c697758 100644 --- a/packages/hdwallet-native/src/fio.test.ts +++ b/packages/hdwallet-native/src/fio.test.ts @@ -123,7 +123,6 @@ describe("NativeFioWalletInfo", () => { it("should return some static metadata", async () => { expect(await untouchable.call(info, "fioSupportsNetwork")).toBe(true); expect(await untouchable.call(info, "fioSupportsSecureTransfer")).toBe(false); - expect(untouchable.call(info, "fioSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/fio.ts b/packages/hdwallet-native/src/fio.ts index 3b1448046..54be0e60b 100644 --- a/packages/hdwallet-native/src/fio.ts +++ b/packages/hdwallet-native/src/fio.ts @@ -27,10 +27,6 @@ export function MixinNativeFioWalletInfo { return [ { diff --git a/packages/hdwallet-native/src/kava.test.ts b/packages/hdwallet-native/src/kava.test.ts index d9ddc5334..4102378ea 100644 --- a/packages/hdwallet-native/src/kava.test.ts +++ b/packages/hdwallet-native/src/kava.test.ts @@ -15,7 +15,6 @@ describe("NativeKavaWalletInfo", () => { it("should return some static metadata", async () => { await expect(untouchable.call(info, "kavaSupportsNetwork")).resolves.toBe(true); await expect(untouchable.call(info, "kavaSupportsSecureTransfer")).resolves.toBe(false); - expect(untouchable.call(info, "kavaSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/kava.ts b/packages/hdwallet-native/src/kava.ts index 70305cb90..c10eb4e15 100644 --- a/packages/hdwallet-native/src/kava.ts +++ b/packages/hdwallet-native/src/kava.ts @@ -19,10 +19,6 @@ export function MixinNativeKavaWalletInfo { const slip44 = core.slip44ByCoin("Kava") return [ diff --git a/packages/hdwallet-native/src/native.test.ts b/packages/hdwallet-native/src/native.test.ts index bdbb3ad22..3d308f284 100644 --- a/packages/hdwallet-native/src/native.test.ts +++ b/packages/hdwallet-native/src/native.test.ts @@ -21,7 +21,6 @@ describe("NativeHDWalletInfo", () => { }); it("should produce correct path descriptions", () => { const info = native.info(); - expect(info.hasNativeShapeShift()).toBe(false); [ { msg: { coin: "bitcoin", path: [1, 2, 3] }, diff --git a/packages/hdwallet-native/src/native.ts b/packages/hdwallet-native/src/native.ts index fc235f405..5beabd088 100644 --- a/packages/hdwallet-native/src/native.ts +++ b/packages/hdwallet-native/src/native.ts @@ -59,10 +59,6 @@ export class NativeHDWalletInfoBase implements core.HDWalletInfo { return false; } - hasNativeShapeShift(): boolean { - return false; - } - public supportsOfflineSigning(): boolean { return true; } diff --git a/packages/hdwallet-native/src/osmosis.test.ts b/packages/hdwallet-native/src/osmosis.test.ts index 8608bd99f..d31dcb725 100644 --- a/packages/hdwallet-native/src/osmosis.test.ts +++ b/packages/hdwallet-native/src/osmosis.test.ts @@ -15,7 +15,6 @@ describe("NativeOsmosisWalletInfo", () => { it("should return some static metadata", async () => { expect(await untouchable.call(info, "osmosisSupportsNetwork")).toBe(true); expect(await untouchable.call(info, "osmosisSupportsSecureTransfer")).toBe(false); - expect(untouchable.call(info, "osmosisSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/osmosis.ts b/packages/hdwallet-native/src/osmosis.ts index 6e7af981a..d79a42e87 100644 --- a/packages/hdwallet-native/src/osmosis.ts +++ b/packages/hdwallet-native/src/osmosis.ts @@ -20,10 +20,6 @@ export function MixinNativeOsmosisWalletInfo { const slip44 = core.slip44ByCoin("Osmo") return [ diff --git a/packages/hdwallet-native/src/secret.test.ts b/packages/hdwallet-native/src/secret.test.ts index 8181c6926..07debf5a4 100644 --- a/packages/hdwallet-native/src/secret.test.ts +++ b/packages/hdwallet-native/src/secret.test.ts @@ -15,7 +15,6 @@ describe("NativeSecretWalletInfo", () => { it("should return some static metadata", async () => { await expect(untouchable.call(info, "secretSupportsNetwork")).resolves.toBe(true); await expect(untouchable.call(info, "secretSupportsSecureTransfer")).resolves.toBe(false); - expect(untouchable.call(info, "secretSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/secret.ts b/packages/hdwallet-native/src/secret.ts index 97c2df29d..590008631 100644 --- a/packages/hdwallet-native/src/secret.ts +++ b/packages/hdwallet-native/src/secret.ts @@ -18,10 +18,6 @@ export function MixinNativeSecretWalletInfo { const slip44 = core.slip44ByCoin("Secret") return [ diff --git a/packages/hdwallet-native/src/terra.test.ts b/packages/hdwallet-native/src/terra.test.ts index 65fb0f665..e251ba6a2 100644 --- a/packages/hdwallet-native/src/terra.test.ts +++ b/packages/hdwallet-native/src/terra.test.ts @@ -15,7 +15,6 @@ describe("NativeTerraWalletInfo", () => { it("should return some static metadata", async () => { await expect(untouchable.call(info, "terraSupportsNetwork")).resolves.toBe(true); await expect(untouchable.call(info, "terraSupportsSecureTransfer")).resolves.toBe(false); - expect(untouchable.call(info, "terraSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/terra.ts b/packages/hdwallet-native/src/terra.ts index 17c512b24..e885c6582 100644 --- a/packages/hdwallet-native/src/terra.ts +++ b/packages/hdwallet-native/src/terra.ts @@ -19,10 +19,6 @@ export function MixinNativeTerraWalletInfo { const slip44 = core.slip44ByCoin("Terra") return [ diff --git a/packages/hdwallet-native/src/thorchain.test.ts b/packages/hdwallet-native/src/thorchain.test.ts index fff017abd..905b9ad0f 100644 --- a/packages/hdwallet-native/src/thorchain.test.ts +++ b/packages/hdwallet-native/src/thorchain.test.ts @@ -15,7 +15,6 @@ describe("NativeThorchainWalletInfo", () => { it("should return some static metadata", async () => { await expect(untouchable.call(info, "thorchainSupportsNetwork")).resolves.toBe(true); await expect(untouchable.call(info, "thorchainSupportsSecureTransfer")).resolves.toBe(false); - expect(untouchable.call(info, "thorchainSupportsNativeShapeShift")).toBe(false); }); it("should return the correct account paths", async () => { diff --git a/packages/hdwallet-native/src/thorchain.ts b/packages/hdwallet-native/src/thorchain.ts index 63f8aec1c..6681723b8 100644 --- a/packages/hdwallet-native/src/thorchain.ts +++ b/packages/hdwallet-native/src/thorchain.ts @@ -20,10 +20,6 @@ export function MixinNativeThorchainWalletInfo { const slip44 = core.slip44ByCoin("Thorchain") return [ diff --git a/packages/hdwallet-portis/src/portis.ts b/packages/hdwallet-portis/src/portis.ts index 0720c0a2d..0377ba7de 100644 --- a/packages/hdwallet-portis/src/portis.ts +++ b/packages/hdwallet-portis/src/portis.ts @@ -92,10 +92,6 @@ export class PortisHDWallet implements core.HDWallet, core.ETHWallet, core.BTCWa return this.info.hasOnDeviceRecovery(); } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return this.info.hasNativeShapeShift(srcCoin, dstCoin); - } - public supportsOfflineSigning(): boolean { return true; } @@ -221,10 +217,6 @@ export class PortisHDWallet implements core.HDWallet, core.ETHWallet, core.BTCWa return this.info.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return this.info.btcSupportsNativeShapeShift(); - } - public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { return this.info.btcGetAccountPaths(msg); } @@ -245,10 +237,6 @@ export class PortisHDWallet implements core.HDWallet, core.ETHWallet, core.BTCWa return this.info.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return this.info.ethSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { return await this.info.ethSupportsEIP1559(); } @@ -322,11 +310,6 @@ export class PortisHDWalletInfo implements core.HDWalletInfo, core.ETHWalletInfo return true; } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - // It doesn't... yet? - return false; - } - public supportsOfflineSigning(): boolean { return true; } @@ -358,10 +341,6 @@ export class PortisHDWalletInfo implements core.HDWalletInfo, core.ETHWalletInfo return Promise.resolve(false); } - public btcSupportsNativeShapeShift(): boolean { - return false; - } - public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { return btc.btcGetAccountPaths(msg); } @@ -387,10 +366,6 @@ export class PortisHDWalletInfo implements core.HDWalletInfo, core.ETHWalletInfo return false; } - public ethSupportsNativeShapeShift(): boolean { - return false; - } - public async ethSupportsEIP1559(): Promise { return false; } diff --git a/packages/hdwallet-trezor/src/bitcoin.ts b/packages/hdwallet-trezor/src/bitcoin.ts index 156d1cbd5..80ed6816c 100644 --- a/packages/hdwallet-trezor/src/bitcoin.ts +++ b/packages/hdwallet-trezor/src/bitcoin.ts @@ -82,7 +82,6 @@ export async function btcGetAddress(transport: TrezorTransport, msg: core.BTCGet } export async function btcSignTx(wallet: core.BTCWallet, transport: TrezorTransport, msg: core.BTCSignTxTrezor): Promise { - let supportsShapeShift = wallet.btcSupportsNativeShapeShift(); let supportsSecureTransfer = await wallet.btcSupportsSecureTransfer(); let inputs = msg.inputs.map((input) => { @@ -96,8 +95,6 @@ export async function btcSignTx(wallet: core.BTCWallet, transport: TrezorTranspo }); let outputs: BTCTrezorSignTxOutput[] = msg.outputs.map((output) => { - if (output.exchangeType && !supportsShapeShift) throw new Error("Trezor does not support Native ShapeShift"); - if (output.addressNList) { if (output.addressType === core.BTCOutputAddressType.Transfer && !supportsSecureTransfer) throw new Error("Trezor does not support SecureTransfer"); @@ -152,10 +149,6 @@ export async function btcSupportsSecureTransfer(): Promise { return false; } -export function btcSupportsNativeShapeShift(): boolean { - return false; -} - export async function btcSignMessage(transport: TrezorTransport, msg: core.BTCSignMessage): Promise { let res = await transport.call("signMessage", { path: msg.addressNList, diff --git a/packages/hdwallet-trezor/src/ethereum.ts b/packages/hdwallet-trezor/src/ethereum.ts index b35d23346..0bb5982c6 100644 --- a/packages/hdwallet-trezor/src/ethereum.ts +++ b/packages/hdwallet-trezor/src/ethereum.ts @@ -30,9 +30,6 @@ export async function ethSignTx( if (msg.toAddressNList !== undefined && !(await ethSupportsSecureTransfer())) throw new Error("Trezor does not support SecureTransfer"); - if (msg.exchangeType !== undefined && !ethSupportsNativeShapeShift()) - throw new Error("Trezor does not support Native ShapeShift"); - const utx = { to: msg.to, value: msg.value, @@ -90,10 +87,6 @@ export async function ethSupportsSecureTransfer(): Promise { return false; } -export function ethSupportsNativeShapeShift(): boolean { - return false; -} - export function ethSupportsEIP1559(): boolean { return false; } diff --git a/packages/hdwallet-trezor/src/trezor.ts b/packages/hdwallet-trezor/src/trezor.ts index 12ac10fa5..5c51a9d98 100644 --- a/packages/hdwallet-trezor/src/trezor.ts +++ b/packages/hdwallet-trezor/src/trezor.ts @@ -142,10 +142,6 @@ export class TrezorHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return Btc.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return Btc.btcSupportsNativeShapeShift(); - } - public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { return Btc.btcGetAccountPaths(msg); } @@ -162,10 +158,6 @@ export class TrezorHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return Eth.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return Eth.ethSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { return await Eth.ethSupportsEIP1559(); } @@ -191,11 +183,6 @@ export class TrezorHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return true; } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - // It doesn't... yet? - return false; - } - public supportsOfflineSigning(): boolean { return true; } @@ -454,11 +441,6 @@ export class TrezorHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return this.transport.hasPopup; } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - // It doesn't... yet? - return false; - } - public supportsOfflineSigning(): boolean { return true; } @@ -487,10 +469,6 @@ export class TrezorHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return this.info.btcSupportsSecureTransfer(); } - public btcSupportsNativeShapeShift(): boolean { - return this.info.btcSupportsNativeShapeShift(); - } - public async btcSignMessage(msg: core.BTCSignMessage): Promise { return Btc.btcSignMessage(this.transport, msg); } @@ -531,10 +509,6 @@ export class TrezorHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return this.info.ethSupportsSecureTransfer(); } - public ethSupportsNativeShapeShift(): boolean { - return this.info.ethSupportsNativeShapeShift(); - } - public async ethSupportsEIP1559(): Promise { return await this.info.ethSupportsEIP1559(); } diff --git a/packages/hdwallet-xdefi/src/xdefi.test.ts b/packages/hdwallet-xdefi/src/xdefi.test.ts index cc8211a40..041d87102 100644 --- a/packages/hdwallet-xdefi/src/xdefi.test.ts +++ b/packages/hdwallet-xdefi/src/xdefi.test.ts @@ -13,14 +13,12 @@ describe("XDeFIHDWalletInfo", () => { expect(info.hasOnDeviceRecovery()).toBe(false); expect(await info.ethSupportsNetwork(1)).toBe(true); expect(await info.ethSupportsSecureTransfer()).toBe(false); - expect(info.ethSupportsNativeShapeShift()).toBe(false); expect(await info.ethSupportsEIP1559()).toBe(true); expect(await info.supportsOfflineSigning()).toBe(false); expect(await info.supportsBroadcast()).toBe(true); }); it("should produce correct path descriptions", () => { const info = xdefi.info(); - expect(info.hasNativeShapeShift()).toBe(false); [ { msg: { coin: "Ethereum", path: [44 + 0x80000000, 60 + 0x80000000, 0 + 0x80000000, 0, 0] }, @@ -46,7 +44,6 @@ describe("XDeFiWHDWallet", () => { expect(wallet.hasOnDeviceRecovery()).toBe(false); expect(await wallet.ethSupportsNetwork(1)).toBe(true); expect(await wallet.ethSupportsSecureTransfer()).toBe(false); - expect(wallet.ethSupportsNativeShapeShift()).toBe(false); expect(await wallet.ethSupportsEIP1559()).toBe(true); expect(await wallet.supportsOfflineSigning()).toBe(false); expect(await wallet.supportsBroadcast()).toBe(true); diff --git a/packages/hdwallet-xdefi/src/xdefi.ts b/packages/hdwallet-xdefi/src/xdefi.ts index 961c1549e..fdd5699b3 100644 --- a/packages/hdwallet-xdefi/src/xdefi.ts +++ b/packages/hdwallet-xdefi/src/xdefi.ts @@ -71,10 +71,6 @@ export class XDeFiHDWallet implements core.HDWallet, core.ETHWallet { return this.info.hasOnDeviceRecovery(); } - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return this.info.hasNativeShapeShift(srcCoin, dstCoin); - } - public supportsOfflineSigning(): boolean { return false; } @@ -147,10 +143,6 @@ export class XDeFiHDWallet implements core.HDWallet, core.ETHWallet { return false; } - public ethSupportsNativeShapeShift(): boolean { - return false; - } - public async ethSupportsEIP1559(): Promise { return true; } @@ -228,10 +220,6 @@ export class XDeFiHDWalletInfo implements core.HDWalletInfo, core.ETHWalletInfo return false; } - public hasNativeShapeShift(): boolean { - return false; - } - public supportsOfflineSigning(): boolean { return false; } @@ -262,10 +250,6 @@ export class XDeFiHDWalletInfo implements core.HDWalletInfo, core.ETHWalletInfo return false; } - public ethSupportsNativeShapeShift(): boolean { - return false; - } - public async ethSupportsEIP1559(): Promise { return true; }