diff --git a/.circleci/config.yml b/.circleci/config.yml index aec6e25bc..11dd887b9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -65,7 +65,7 @@ orbs: at: . - run: yarn --cache-folder .yarn-cache - run: git status - - run: ./node_modules/.bin/lerna publish from-package --yes --no-verify-access + - run: ./node_modules/.bin/lerna publish from-package --yes workflows: version: 2 Build and Release: diff --git a/examples/sandbox/json/mayachainTx.json b/examples/sandbox/json/mayachainTx.json index fbf8c4b4a..1e72c0264 100644 --- a/examples/sandbox/json/mayachainTx.json +++ b/examples/sandbox/json/mayachainTx.json @@ -7,7 +7,7 @@ "memo": "test", "msg": [ { - "type": "thorchain/MsgSend", + "type": "mayachain/MsgSend", "value": { "amount": [ { diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index c4c9e24cc..47a44aca4 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-sandbox", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "private": true, "browserslist": "> 0.5%, last 2 versions, not dead", @@ -12,23 +12,23 @@ "dependencies": { "@esm2cjs/p-queue": "^7.3.0", "@metamask/eth-sig-util": "^7.0.0", - "@shapeshiftoss/hdwallet-coinbase": "1.60.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey-webusb": "1.60.0", - "@shapeshiftoss/hdwallet-keplr": "1.60.0", - "@shapeshiftoss/hdwallet-ledger": "1.60.0", - "@shapeshiftoss/hdwallet-ledger-webhid": "1.60.0", - "@shapeshiftoss/hdwallet-ledger-webusb": "1.60.0", - "@shapeshiftoss/hdwallet-metamask-multichain": "1.60.0", - "@shapeshiftoss/hdwallet-native": "1.60.0", - "@shapeshiftoss/hdwallet-phantom": "1.60.0", - "@shapeshiftoss/hdwallet-portis": "1.60.0", - "@shapeshiftoss/hdwallet-trezor": "1.60.0", - "@shapeshiftoss/hdwallet-trezor-connect": "1.60.0", - "@shapeshiftoss/hdwallet-walletconnect": "1.60.0", - "@shapeshiftoss/hdwallet-walletconnectv2": "1.60.0", + "@shapeshiftoss/hdwallet-coinbase": "1.61.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey-webusb": "1.61.0", + "@shapeshiftoss/hdwallet-keplr": "1.61.0", + "@shapeshiftoss/hdwallet-ledger": "1.61.0", + "@shapeshiftoss/hdwallet-ledger-webhid": "1.61.0", + "@shapeshiftoss/hdwallet-ledger-webusb": "1.61.0", + "@shapeshiftoss/hdwallet-metamask-multichain": "1.61.0", + "@shapeshiftoss/hdwallet-native": "1.61.0", + "@shapeshiftoss/hdwallet-phantom": "1.61.0", + "@shapeshiftoss/hdwallet-portis": "1.61.0", + "@shapeshiftoss/hdwallet-trezor": "1.61.0", + "@shapeshiftoss/hdwallet-trezor-connect": "1.61.0", + "@shapeshiftoss/hdwallet-walletconnect": "1.61.0", + "@shapeshiftoss/hdwallet-walletconnectv2": "1.61.0", "bip32": "^2.0.4", "eip-712": "^1.0.0", "jquery": "^3.7.1", diff --git a/integration/package.json b/integration/package.json index 9e41d8405..76988831c 100644 --- a/integration/package.json +++ b/integration/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/integration", - "version": "1.60.0", + "version": "1.61.0", "main": "index.js", "license": "MIT", "private": true, @@ -11,15 +11,15 @@ }, "dependencies": { "@bitcoinerlab/secp256k1": "^1.1.1", - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.60.0", - "@shapeshiftoss/hdwallet-ledger": "1.60.0", - "@shapeshiftoss/hdwallet-metamask-multichain": "1.60.0", - "@shapeshiftoss/hdwallet-native": "1.60.0", - "@shapeshiftoss/hdwallet-portis": "1.60.0", - "@shapeshiftoss/hdwallet-trezor": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.61.0", + "@shapeshiftoss/hdwallet-ledger": "1.61.0", + "@shapeshiftoss/hdwallet-metamask-multichain": "1.61.0", + "@shapeshiftoss/hdwallet-native": "1.61.0", + "@shapeshiftoss/hdwallet-portis": "1.61.0", + "@shapeshiftoss/hdwallet-trezor": "1.61.0", "fast-json-stable-stringify": "^2.1.0", "msw": "^0.27.1", "whatwg-fetch": "^3.6.2" diff --git a/integration/src/mayachain/mayachain.ts b/integration/src/mayachain/mayachain.ts index 7fc1d9485..cd43ce941 100644 --- a/integration/src/mayachain/mayachain.ts +++ b/integration/src/mayachain/mayachain.ts @@ -3,7 +3,11 @@ import * as keepkey from "@shapeshiftoss/hdwallet-keepkey"; import * as ledger from "@shapeshiftoss/hdwallet-ledger"; import * as metamask from "@shapeshiftoss/hdwallet-metamask-multichain"; +import tx_unsigned_swap from "./tx01.mainnet.mayachain.swap.json"; +import tx_signed_swap_amino from "./tx01.mainnet.mayachain.swap.signed.amino.json"; +import tx_signed_swap from "./tx01.mainnet.mayachain.swap.signed.json"; import tx_unsigned_transfer from "./tx01.mainnet.mayachain.transfer.json"; +import tx_signed_transfer_amino from "./tx01.mainnet.mayachain.transfer.signed.amino.json"; import tx_signed_transfer from "./tx01.mainnet.mayachain.transfer.signed.json"; const MNEMONIC12_NOPIN_NOPASSPHRASE = "alcohol woman abuse must during monitor noble actual mixed trade anger aisle"; @@ -15,7 +19,6 @@ const TIMEOUT = 60 * 1000; */ export function mayachainTests(get: () => { wallet: core.HDWallet; info: core.HDWalletInfo }): void { let wallet: core.MayachainWallet & core.HDWallet; - // eslint-disable-next-line @typescript-eslint/no-unused-vars let useAmino: boolean; describe("Mayachain", () => { @@ -110,10 +113,13 @@ export function mayachainTests(get: () => { wallet: core.HDWallet; info: core.HD ); describe("mayachainSignTx()", () => { - it.each([["should correctly sign a transfer tx", tx_unsigned_transfer, tx_signed_transfer]])( + it.each([ + ["should correctly sign a transfer tx", tx_unsigned_transfer, tx_signed_transfer, tx_signed_transfer_amino], + ["should correctly sign a swap tx", tx_unsigned_swap, tx_signed_swap, tx_signed_swap_amino], + ])( "%s", - async (_, tx, signedProtoTx) => { - const signedTx = signedProtoTx; + async (_, tx, signedProtoTx, signedAminoTx) => { + const signedTx = useAmino ? signedAminoTx : signedProtoTx; if (!wallet || !tx) return; // Non-EVM things are a pain to test with snaps on test env, this wasn't tested before and still isn't diff --git a/integration/src/mayachain/tx01.mainnet.mayachain.swap.json b/integration/src/mayachain/tx01.mainnet.mayachain.swap.json new file mode 100644 index 000000000..7ab606aba --- /dev/null +++ b/integration/src/mayachain/tx01.mainnet.mayachain.swap.json @@ -0,0 +1,26 @@ +{ + "account_number": "10409", + "chain_id": "mayachain-mainnet-v1", + "sequence": "3", + "fee": { + "amount": [], + "gas": "2000000" + }, + "memo": "", + "msg": [ + { + "type": "mayachain/MsgDeposit", + "value": { + "coins": [ + { + "asset": "MAYA.CACAO", + "amount": "1" + } + ], + "memo": "SWAP:ARB.ETH:0xf5a14a3118cd30fdf9a84f587eb33024e15efbcd:1", + "signer": "maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj" + } + } + ], + "signatures": [] +} \ No newline at end of file diff --git a/integration/src/mayachain/tx01.mainnet.mayachain.swap.signed.amino.json b/integration/src/mayachain/tx01.mainnet.mayachain.swap.signed.amino.json new file mode 100644 index 000000000..0e999d16b --- /dev/null +++ b/integration/src/mayachain/tx01.mainnet.mayachain.swap.signed.amino.json @@ -0,0 +1,8 @@ +{ + "serialized": "CoQBCoEBChEvdHlwZXMuTXNnRGVwb3NpdBJsChkKFAoETUFZQRIFQ0FDQU8aBUNBQ0FPEgExEjlTV0FQOkFSQi5FVEg6MHhmNWExNGEzMTE4Y2QzMGZkZjlhODRmNTg3ZWIzMzAyNGUxNWVmYmNkOjEaFPwjHpEK1bf1u9KRKUDFSLyn15RBElgKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQMVGXE7i0K9w2cRLTMTLPFM7fkorFdx1ES6RZuUlxF7oxIECgIIfxgDEgQQgIl6GkB5tn2aJWVPWEXsmmiU+07QHeqj031Ktr8WNgT4Xnd1ggJI85KCPoo6yHqLzZAhXcC8fDQ8009kaPIWwCJOeOFx", + "body": "CoEBChEvdHlwZXMuTXNnRGVwb3NpdBJsChkKFAoETUFZQRIFQ0FDQU8aBUNBQ0FPEgExEjlTV0FQOkFSQi5FVEg6MHhmNWExNGEzMTE4Y2QzMGZkZjlhODRmNTg3ZWIzMzAyNGUxNWVmYmNkOjEaFPwjHpEK1bf1u9KRKUDFSLyn15RB", + "authInfoBytes": "ClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDFRlxO4tCvcNnES0zEyzxTO35KKxXcdREukWblJcRe6MSBAoCCH8YAxIEEICJeg==", + "signatures": [ + "ebZ9miVlT1hF7JpolPtO0B3qo9N9Sra/FjYE+F53dYICSPOSgj6KOsh6i82QIV3AvHw0PNNPZGjyFsAiTnjhcQ==" + ] +} \ No newline at end of file diff --git a/integration/src/mayachain/tx01.mainnet.mayachain.swap.signed.json b/integration/src/mayachain/tx01.mainnet.mayachain.swap.signed.json new file mode 100644 index 000000000..474255b23 --- /dev/null +++ b/integration/src/mayachain/tx01.mainnet.mayachain.swap.signed.json @@ -0,0 +1,8 @@ +{ + "serialized": "CoQBCoEBChEvdHlwZXMuTXNnRGVwb3NpdBJsChkKFAoETUFZQRIFQ0FDQU8aBUNBQ0FPEgExEjlTV0FQOkFSQi5FVEg6MHhmNWExNGEzMTE4Y2QzMGZkZjlhODRmNTg3ZWIzMzAyNGUxNWVmYmNkOjEaFPwjHpEK1bf1u9KRKUDFSLyn15RBElgKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQMVGXE7i0K9w2cRLTMTLPFM7fkorFdx1ES6RZuUlxF7oxIECgIIARgDEgQQgIl6GkC0dYCs5JGRKpmJ4U9w/3EAGEj2mduF3moH598Zx7YyJxTVLkmn9w76DzlKPSQ5skWr57UQmMlfj0UAml4HAyI+", + "body": "CoEBChEvdHlwZXMuTXNnRGVwb3NpdBJsChkKFAoETUFZQRIFQ0FDQU8aBUNBQ0FPEgExEjlTV0FQOkFSQi5FVEg6MHhmNWExNGEzMTE4Y2QzMGZkZjlhODRmNTg3ZWIzMzAyNGUxNWVmYmNkOjEaFPwjHpEK1bf1u9KRKUDFSLyn15RB", + "authInfoBytes": "ClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDFRlxO4tCvcNnES0zEyzxTO35KKxXcdREukWblJcRe6MSBAoCCAEYAxIEEICJeg==", + "signatures": [ + "tHWArOSRkSqZieFPcP9xABhI9pnbhd5qB+ffGce2MicU1S5Jp/cO+g85Sj0kObJFq+e1EJjJX49FAJpeBwMiPg==" + ] +} \ No newline at end of file diff --git a/integration/src/mayachain/tx01.mainnet.mayachain.transfer.json b/integration/src/mayachain/tx01.mainnet.mayachain.transfer.json index cd7a86892..c70424a24 100644 --- a/integration/src/mayachain/tx01.mainnet.mayachain.transfer.json +++ b/integration/src/mayachain/tx01.mainnet.mayachain.transfer.json @@ -9,7 +9,7 @@ "memo": "", "msg": [ { - "type": "thorchain/MsgSend", + "type": "mayachain/MsgSend", "value": { "amount": [ { @@ -17,8 +17,8 @@ "denom": "cacao" } ], - "from_address": "maya10prpfj07j6a7rvtd5tfqhdzp8xsypzatf5xx6y", - "to_address": "maya10prpfj07j6a7rvtd5tfqhdzp8xsypzatf5xx6y" + "from_address": "maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj", + "to_address": "maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj" } } ], diff --git a/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.amino.json b/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.amino.json new file mode 100644 index 000000000..ff943018e --- /dev/null +++ b/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.amino.json @@ -0,0 +1,8 @@ +{ + "serialized": "CkwKSgoOL3R5cGVzLk1zZ1NlbmQSOAoU/CMekQrVt/W70pEpQMVIvKfXlEESFPwjHpEK1bf1u9KRKUDFSLyn15RBGgoKBWNhY2FvEgExElgKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQMVGXE7i0K9w2cRLTMTLPFM7fkorFdx1ES6RZuUlxF7oxIECgIIfxgDEgQQgIl6GkB5tn2aJWVPWEXsmmiU+07QHeqj031Ktr8WNgT4Xnd1ggJI85KCPoo6yHqLzZAhXcC8fDQ8009kaPIWwCJOeOFx", + "body": "CkoKDi90eXBlcy5Nc2dTZW5kEjgKFPwjHpEK1bf1u9KRKUDFSLyn15RBEhT8Ix6RCtW39bvSkSlAxUi8p9eUQRoKCgVjYWNhbxIBMQ==", + "authInfoBytes": "ClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDFRlxO4tCvcNnES0zEyzxTO35KKxXcdREukWblJcRe6MSBAoCCH8YAxIEEICJeg==", + "signatures": [ + "ebZ9miVlT1hF7JpolPtO0B3qo9N9Sra/FjYE+F53dYICSPOSgj6KOsh6i82QIV3AvHw0PNNPZGjyFsAiTnjhcQ==" + ] +} \ No newline at end of file diff --git a/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.json b/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.json index 80835033a..b5b154d0e 100644 --- a/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.json +++ b/integration/src/mayachain/tx01.mainnet.mayachain.transfer.signed.json @@ -1,8 +1,8 @@ { - "serialized": "CkwKSgoOL3R5cGVzLk1zZ1NlbmQSOAoUeEYUyf6Wu+GxbaLSC7RBOaBAi6sSFHhGFMn+lrvhsW2i0gu0QTmgQIurGgoKBWNhY2FvEgExElgKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQMVGXE7i0K9w2cRLTMTLPFM7fkorFdx1ES6RZuUlxF7oxIECgIIARgDEgQQgIl6GkDwngDrG0oqb4yJ1Q+wV/abEH5EX1AZlJP6LWCWgBCBoE+cck4x76f5TMTLdEPY8sVXehpb0smixKJUdzkE2h6Y", - "body": "CkoKDi90eXBlcy5Nc2dTZW5kEjgKFHhGFMn+lrvhsW2i0gu0QTmgQIurEhR4RhTJ/pa74bFtotILtEE5oECLqxoKCgVjYWNhbxIBMQ==", + "serialized": "CkwKSgoOL3R5cGVzLk1zZ1NlbmQSOAoU/CMekQrVt/W70pEpQMVIvKfXlEESFPwjHpEK1bf1u9KRKUDFSLyn15RBGgoKBWNhY2FvEgExElgKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQMVGXE7i0K9w2cRLTMTLPFM7fkorFdx1ES6RZuUlxF7oxIECgIIARgDEgQQgIl6GkB5tn2aJWVPWEXsmmiU+07QHeqj031Ktr8WNgT4Xnd1ggJI85KCPoo6yHqLzZAhXcC8fDQ8009kaPIWwCJOeOFx", + "body": "CkoKDi90eXBlcy5Nc2dTZW5kEjgKFPwjHpEK1bf1u9KRKUDFSLyn15RBEhT8Ix6RCtW39bvSkSlAxUi8p9eUQRoKCgVjYWNhbxIBMQ==", "authInfoBytes": "ClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDFRlxO4tCvcNnES0zEyzxTO35KKxXcdREukWblJcRe6MSBAoCCAEYAxIEEICJeg==", "signatures": [ - "8J4A6xtKKm+MidUPsFf2mxB+RF9QGZST+i1gloAQgaBPnHJOMe+n+UzEy3RD2PLFV3oaW9LJosSiVHc5BNoemA==" + "ebZ9miVlT1hF7JpolPtO0B3qo9N9Sra/FjYE+F53dYICSPOSgj6KOsh6i82QIV3AvHw0PNNPZGjyFsAiTnjhcQ==" ] } \ No newline at end of file diff --git a/integration/src/wallets/ledger.ts b/integration/src/wallets/ledger.ts index 3459d58eb..42cd5f9ea 100644 --- a/integration/src/wallets/ledger.ts +++ b/integration/src/wallets/ledger.ts @@ -267,6 +267,52 @@ export class MockTransport extends ledger.LedgerTransport { } ); + // Mayachain + this.memoize( + "Thorchain", + "getAddress", + JSON.parse(`[[${core.bip32ToAddressNList("m/44'/931'/0'/0/0")}], "maya"]`), + JSON.parse( + `{"success":true,"coin":"Rune","method":"getAddressAndPubkey","payload":{"address":"maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj","publicKey":"031519713b8b42bdc367112d33132cf14cedf928ac5771d444ba459b9497117ba3"}}` + ) + ); + + this.memoize( + "Thorchain", + "sign", + JSON.parse( + '[[2147483692,2147484579,2147483648,0,0],"{\\"account_number\\":\\"10409\\",\\"chain_id\\":\\"mayachain-mainnet-v1\\",\\"fee\\":{\\"amount\\":[],\\"gas\\":\\"2000000\\"},\\"memo\\":\\"\\",\\"msgs\\":[{\\"type\\":\\"mayachain/MsgSend\\",\\"value\\":{\\"amount\\":[{\\"amount\\":\\"1\\",\\"denom\\":\\"cacao\\"}],\\"from_address\\":\\"maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj\\",\\"to_address\\":\\"maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj\\"}}],\\"sequence\\":\\"3\\"}"]' + ), + { + success: true, + coin: "Rune", + method: "sign", + payload: { + signature: getRawSig( + "ebZ9miVlT1hF7JpolPtO0B3qo9N9Sra/FjYE+F53dYICSPOSgj6KOsh6i82QIV3AvHw0PNNPZGjyFsAiTnjhcQ==" + ), + }, + } + ); + + this.memoize( + "Thorchain", + "sign", + JSON.parse( + '[[2147483692,2147484579,2147483648,0,0],"{\\"account_number\\":\\"10409\\",\\"chain_id\\":\\"mayachain-mainnet-v1\\",\\"fee\\":{\\"amount\\":[],\\"gas\\":\\"2000000\\"},\\"memo\\":\\"\\",\\"msgs\\":[{\\"type\\":\\"mayachain/MsgDeposit\\",\\"value\\":{\\"coins\\":[{\\"amount\\":\\"1\\",\\"asset\\":\\"MAYA.CACAO\\"}],\\"memo\\":\\"SWAP:ARB.ETH:0xf5a14a3118cd30fdf9a84f587eb33024e15efbcd:1\\",\\"signer\\":\\"maya1ls33ayg26kmltw7jjy55p32ghjna09zp7z4etj\\"}}],\\"sequence\\":\\"3\\"}"]' + ), + { + success: true, + coin: "Rune", + method: "sign", + payload: { + signature: getRawSig( + "ebZ9miVlT1hF7JpolPtO0B3qo9N9Sra/FjYE+F53dYICSPOSgj6KOsh6i82QIV3AvHw0PNNPZGjyFsAiTnjhcQ==" + ), + }, + } + ); + // Cosmos this.memoize( "Cosmos", diff --git a/integration/src/wallets/metamask.ts b/integration/src/wallets/metamask.ts index 7888f73d6..4fec3103e 100644 --- a/integration/src/wallets/metamask.ts +++ b/integration/src/wallets/metamask.ts @@ -1,6 +1,6 @@ import * as core from "@shapeshiftoss/hdwallet-core"; import * as metamask from "@shapeshiftoss/hdwallet-metamask-multichain"; -import { EIP6963ProviderInfo } from "mipd"; +import { EIP1193Provider, EIP6963ProviderInfo } from "mipd"; export function name(): string { return "MetaMask"; @@ -33,7 +33,7 @@ export async function createWallet(): Promise { throw new Error(`ethereum: Unkown method ${method}`); } }), - }; + } as unknown as EIP1193Provider; const wallet = new metamask.MetaMaskMultiChainHDWallet({ provider, info: { rdns: "io.metamask" } as EIP6963ProviderInfo, diff --git a/lerna.json b/lerna.json index 69d8cadd8..4765b241e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "5.2.0", - "version": "1.60.0", + "version": "1.61.0", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/packages/hdwallet-coinbase/package.json b/packages/hdwallet-coinbase/package.json index 6292163fd..4247e17bb 100644 --- a/packages/hdwallet-coinbase/package.json +++ b/packages/hdwallet-coinbase/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-coinbase", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-core/package.json b/packages/hdwallet-core/package.json index e2c2422c3..505d0cc9c 100644 --- a/packages/hdwallet-core/package.json +++ b/packages/hdwallet-core/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-core", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/proto-tx-builder": "0.8.0", + "@shapeshiftoss/proto-tx-builder": "0.10.0", "@solana/web3.js": "1.95.8", "eip-712": "^1.0.0", "ethers": "5.7.2", diff --git a/packages/hdwallet-keepkey-chromeusb/package.json b/packages/hdwallet-keepkey-chromeusb/package.json index 74e24874f..fddeec24f 100644 --- a/packages/hdwallet-keepkey-chromeusb/package.json +++ b/packages/hdwallet-keepkey-chromeusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-chromeusb", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey": "1.60.0" + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0" } } diff --git a/packages/hdwallet-keepkey-electron/package.json b/packages/hdwallet-keepkey-electron/package.json index f40019ce9..59d125ff9 100644 --- a/packages/hdwallet-keepkey-electron/package.json +++ b/packages/hdwallet-keepkey-electron/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-electron", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.60.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0", "uuid": "^8.3.2" }, "peerDependencies": { diff --git a/packages/hdwallet-keepkey-nodehid/package.json b/packages/hdwallet-keepkey-nodehid/package.json index f5f692452..9ba116058 100644 --- a/packages/hdwallet-keepkey-nodehid/package.json +++ b/packages/hdwallet-keepkey-nodehid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodehid", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.60.0" + "@shapeshiftoss/hdwallet-keepkey": "1.61.0" }, "peerDependencies": { "node-hid": "^2.1.1" diff --git a/packages/hdwallet-keepkey-nodewebusb/package.json b/packages/hdwallet-keepkey-nodewebusb/package.json index 8f54fb3fe..5234cb731 100644 --- a/packages/hdwallet-keepkey-nodewebusb/package.json +++ b/packages/hdwallet-keepkey-nodewebusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodewebusb", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey": "1.60.0" + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0" }, "peerDependencies": { "usb": "^2.3.1" diff --git a/packages/hdwallet-keepkey-tcp/package.json b/packages/hdwallet-keepkey-tcp/package.json index 1613ec8f6..cd2fe36bd 100644 --- a/packages/hdwallet-keepkey-tcp/package.json +++ b/packages/hdwallet-keepkey-tcp/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-tcp", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0", "axios": "^0.21.1" } } diff --git a/packages/hdwallet-keepkey-webusb/package.json b/packages/hdwallet-keepkey-webusb/package.json index 34ca9b5a5..9f15df2f0 100644 --- a/packages/hdwallet-keepkey-webusb/package.json +++ b/packages/hdwallet-keepkey-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-webusb", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-keepkey": "1.60.0" + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-keepkey": "1.61.0" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.4" diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index 76e8dfb71..1ca8d0998 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -21,8 +21,8 @@ "@keepkey/device-protocol": "7.13.2", "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/proto-tx-builder": "0.8.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/proto-tx-builder": "0.10.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "2.16.15", "crypto-js": "^4.0.0", diff --git a/packages/hdwallet-keepkey/src/cosmos.ts b/packages/hdwallet-keepkey/src/cosmos.ts index 8ce9516c4..17ccb6a28 100644 --- a/packages/hdwallet-keepkey/src/cosmos.ts +++ b/packages/hdwallet-keepkey/src/cosmos.ts @@ -210,6 +210,6 @@ export async function cosmosSignTx(transport: Transport, msg: core.CosmosSignTx) chainId: msg.chain_id, }; - return (await protoTxBuilder).sign(address, msg.tx as StdTx, offlineSigner, signerData); + return (await protoTxBuilder).sign(address, msg.tx as StdTx, offlineSigner, signerData, "cosmos"); }); } diff --git a/packages/hdwallet-keepkey/src/osmosis.ts b/packages/hdwallet-keepkey/src/osmosis.ts index b3ae6f0e2..19294c194 100644 --- a/packages/hdwallet-keepkey/src/osmosis.ts +++ b/packages/hdwallet-keepkey/src/osmosis.ts @@ -261,6 +261,6 @@ export async function osmosisSignTx(transport: Transport, msg: core.OsmosisSignT accountNumber: Number(msg.account_number), chainId: msg.chain_id, }; - return (await protoTxBuilder).sign(address, sortTxFields(msg.tx) as StdTx, offlineSigner, signerData); + return (await protoTxBuilder).sign(address, sortTxFields(msg.tx) as StdTx, offlineSigner, signerData, "osmo"); }); } diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index 6d202db3e..1372ed010 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keplr", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,8 +15,8 @@ }, "dependencies": { "@shapeshiftoss/caip": "8.15.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/proto-tx-builder": "0.8.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/proto-tx-builder": "0.10.0", "@shapeshiftoss/types": "3.1.3", "base64-js": "^1.5.1", "lodash": "^4.17.21" diff --git a/packages/hdwallet-keplr/src/cosmos.ts b/packages/hdwallet-keplr/src/cosmos.ts index 45aceeb73..9ada3c995 100644 --- a/packages/hdwallet-keplr/src/cosmos.ts +++ b/packages/hdwallet-keplr/src/cosmos.ts @@ -76,7 +76,7 @@ export async function cosmosSignTx(provider: any, msg: CosmosSignTx): Promise { + const slip44 = core.slip44ByCoin("Mayachain"); + return [{ addressNList: [0x80000000 + 44, 0x80000000 + slip44, 0x80000000 + msg.accountIdx, 0, 0] }]; + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + public mayachainNextAccountPath(msg: core.MayachainAccountPath): core.MayachainAccountPath | undefined { + return undefined; + } + public cosmosGetAccountPaths(msg: core.CosmosGetAccountPaths): Array { const slip44 = core.slip44ByCoin("Atom"); return [{ addressNList: [0x80000000 + 44, 0x80000000 + slip44, 0x80000000 + msg.accountIdx, 0, 0] }]; @@ -264,6 +276,8 @@ export class LedgerHDWalletInfo return describeETHPath(msg.path); case "Thorchain": return core.thorchainDescribePath(msg.path); + case "Mayachain": + return core.mayachainDescribePath(msg.path); default: return describeUTXOPath(msg.path, msg.coin, msg.scriptType); } @@ -347,6 +361,7 @@ export class LedgerHDWallet readonly _supportsArbitrumNova = true; readonly _supportsBase = true; readonly _supportsThorchain = true; + readonly _supportsMayachain = true; readonly _supportsCosmos = true; readonly _supportsSolana = true; @@ -559,6 +574,14 @@ export class LedgerHDWallet return thorchain.thorchainSignTx(this.transport, msg); } + public mayachainGetAddress(msg: core.MayachainGetAddress): Promise { + return mayachain.mayachainGetAddress(this.transport, msg); + } + + public mayachainSignTx(msg: core.MayachainSignTx): Promise { + return mayachain.mayachainSignTx(this.transport, msg); + } + public cosmosGetAddress(msg: core.CosmosGetAddress): Promise { return cosmos.cosmosGetAddress(this.transport, msg); } diff --git a/packages/hdwallet-ledger/src/mayachain.ts b/packages/hdwallet-ledger/src/mayachain.ts new file mode 100644 index 000000000..cb21dc0e1 --- /dev/null +++ b/packages/hdwallet-ledger/src/mayachain.ts @@ -0,0 +1,84 @@ +import type { AccountData, AminoSignResponse, OfflineAminoSigner, StdSignDoc, StdTx } from "@cosmjs/amino"; +import { Secp256k1Signature } from "@cosmjs/crypto"; +import type { SignerData } from "@cosmjs/stargate"; +import * as core from "@shapeshiftoss/hdwallet-core"; +import { fromByteArray } from "base64-js"; +import PLazy from "p-lazy"; + +import { handleError, LedgerTransport, stringifyKeysInOrder } from "./index"; + +const protoTxBuilder = PLazy.from(() => import("@shapeshiftoss/proto-tx-builder")); + +export const mayachainGetAddress = async ( + transport: LedgerTransport, + msg: core.MayachainGetAddress +): Promise => { + const res = await transport.call("Thorchain", "getAddress", msg.addressNList, "maya"); + + handleError(res, transport, "Unable to obtain address and public key from device."); + + return res.payload.address; +}; + +export const mayachainSignTx = async ( + transport: LedgerTransport, + msg: core.MayachainSignTx +): Promise => { + const getAddressResponse = await transport.call("Thorchain", "getAddress", msg.addressNList, "maya"); + + handleError(getAddressResponse, transport, "Unable to obtain address and public key from device."); + + const { address, publicKey } = getAddressResponse.payload; + + const unsignedTx = stringifyKeysInOrder({ + account_number: msg.account_number, + chain_id: msg.chain_id, + fee: { amount: msg.tx.fee.amount, gas: msg.tx.fee.gas }, + memo: msg.tx.memo, + msgs: msg.tx.msg, + sequence: msg.sequence, + }); + + const signResponse = await transport.call("Thorchain", "sign", msg.addressNList, unsignedTx); + + handleError(signResponse, transport, "Unable to obtain signature from device."); + + const signature = signResponse.payload.signature; + + if (!signature) throw new Error("No signature returned from device"); + + const offlineSigner: OfflineAminoSigner = { + async getAccounts(): Promise { + return [ + { + address, + algo: "secp256k1", + pubkey: Buffer.from(publicKey, "hex"), + }, + ]; + }, + + async signAmino(signerAddress: string, signDoc: StdSignDoc): Promise { + if (signerAddress !== address) throw new Error("expected signerAddress to match address"); + + return { + signed: signDoc, + signature: { + pub_key: { + type: "tendermint/PubKeySecp256k1", + value: publicKey, + }, + signature: fromByteArray(Secp256k1Signature.fromDer(signature).toFixedLength()), + }, + }; + }, + }; + + const signerData: SignerData = { + sequence: Number(msg.sequence), + accountNumber: Number(msg.account_number), + chainId: msg.chain_id, + }; + + return (await protoTxBuilder).sign(address, msg.tx as StdTx, offlineSigner, signerData, "maya"); +}; diff --git a/packages/hdwallet-metamask-multichain/package.json b/packages/hdwallet-metamask-multichain/package.json index 5e9aa2001..f4cb8d22d 100644 --- a/packages/hdwallet-metamask-multichain/package.json +++ b/packages/hdwallet-metamask-multichain/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-metamask-multichain", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", "@shapeshiftoss/common-api": "^9.3.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "@shapeshiftoss/metamask-snaps-adapter": "^1.0.12", "@shapeshiftoss/metamask-snaps-types": "^1.0.12", "eth-rpc-errors": "^4.0.3", diff --git a/packages/hdwallet-native-vault/package.json b/packages/hdwallet-native-vault/package.json index 81e6d59cb..1dc650936 100644 --- a/packages/hdwallet-native-vault/package.json +++ b/packages/hdwallet-native-vault/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native-vault", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@bitcoinerlab/secp256k1": "^1.1.1", - "@shapeshiftoss/hdwallet-native": "1.60.0", + "@shapeshiftoss/hdwallet-native": "1.61.0", "bip39": "^3.0.4", "hash-wasm": "^4.11.0", "idb-keyval": "^6.0.3", diff --git a/packages/hdwallet-native/package.json b/packages/hdwallet-native/package.json index 57bd5a90c..0ca725b0c 100644 --- a/packages/hdwallet-native/package.json +++ b/packages/hdwallet-native/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,8 +17,8 @@ "@bitcoinerlab/secp256k1": "^1.1.1", "@noble/curves": "^1.4.0", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/proto-tx-builder": "0.8.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/proto-tx-builder": "0.10.0", "@zxing/text-encoding": "^0.9.0", "bchaddrjs": "^0.4.9", "bech32": "^1.1.4", diff --git a/packages/hdwallet-native/src/cosmos.ts b/packages/hdwallet-native/src/cosmos.ts index 40bd8570d..475e17347 100644 --- a/packages/hdwallet-native/src/cosmos.ts +++ b/packages/hdwallet-native/src/cosmos.ts @@ -93,7 +93,7 @@ export function MixinNativeCosmosWallet { tx: { msg: [ { - type: "thorchain/MsgSend", + type: "mayachain/MsgSend", value: { from_address: "maya1ujumx36gj3jv33gcw49dfafdddza3kdcdxedts", to_address: "maya14hqwsy4qpwzsdk2l3h3q82eghg4ctaa385ck8c", diff --git a/packages/hdwallet-phantom/package.json b/packages/hdwallet-phantom/package.json index 4f252d698..4b85774a6 100644 --- a/packages/hdwallet-phantom/package.json +++ b/packages/hdwallet-phantom/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-phantom", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bitcoinjs-message": "^2.0.0", diff --git a/packages/hdwallet-portis/package.json b/packages/hdwallet-portis/package.json index 107e73deb..b65111de4 100644 --- a/packages/hdwallet-portis/package.json +++ b/packages/hdwallet-portis/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-portis", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@portis/web3": "3.0.10", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "base64-js": "^1.5.1", "bip32": "^2.0.4", "bitcoinjs-message": "^2.1.0", diff --git a/packages/hdwallet-trezor-connect/package.json b/packages/hdwallet-trezor-connect/package.json index 40742bb56..2b4d0d58b 100644 --- a/packages/hdwallet-trezor-connect/package.json +++ b/packages/hdwallet-trezor-connect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor-connect", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", - "@shapeshiftoss/hdwallet-trezor": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", + "@shapeshiftoss/hdwallet-trezor": "1.61.0", "@trezor/rollout": "^1.2.0", "trezor-connect": "^8.2.1" } diff --git a/packages/hdwallet-trezor/package.json b/packages/hdwallet-trezor/package.json index 54f978604..23daf0bd4 100644 --- a/packages/hdwallet-trezor/package.json +++ b/packages/hdwallet-trezor/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "base64-js": "^1.5.1", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-walletconnect/package.json b/packages/hdwallet-walletconnect/package.json index bb01d1c01..60a6cd60a 100644 --- a/packages/hdwallet-walletconnect/package.json +++ b/packages/hdwallet-walletconnect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnect", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "@walletconnect/qrcode-modal": "^1.7.8", "@walletconnect/web3-provider": "^1.7.8", "ethers": "^5.6.5" diff --git a/packages/hdwallet-walletconnectV2/package.json b/packages/hdwallet-walletconnectV2/package.json index be88f7844..0a160ec0f 100644 --- a/packages/hdwallet-walletconnectV2/package.json +++ b/packages/hdwallet-walletconnectV2/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnectv2", - "version": "1.60.0", + "version": "1.61.0", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.60.0", + "@shapeshiftoss/hdwallet-core": "1.61.0", "@walletconnect/ethereum-provider": "^2.20.2", "@walletconnect/modal": "^2.6.2", "ethers": "^5.6.5" diff --git a/yarn.lock b/yarn.lock index 29b02fb18..17573a66e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4953,7 +4953,22 @@ eth-rpc-errors "^4.0.3" patch-package "^6.2.2" -"@shapeshiftoss/proto-tx-builder@0.8.0", "@shapeshiftoss/proto-tx-builder@^0.8.0": +"@shapeshiftoss/proto-tx-builder@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@shapeshiftoss/proto-tx-builder/-/proto-tx-builder-0.10.0.tgz#ef5426db826458f52161c1cbda104ea1773ee2a3" + integrity sha512-qsRHgYrosKjQ/uG+/WsbSt1e46/CPDraCmm1BhMeRo24HNzei7BVHVMBT5/kKEW6Wz1vXtR9GknZVfZ8hbBj9w== + dependencies: + "@cosmjs/amino" "^0.29.4" + "@cosmjs/crypto" "0.29.4" + "@cosmjs/encoding" "^0.29.4" + "@cosmjs/proto-signing" "^0.29.4" + "@cosmjs/stargate" "^0.29.4" + bn.js "^5.2.1" + cosmjs-types "^0.5.1" + google-protobuf "^3.17.0" + osmojs "^0.37.0" + +"@shapeshiftoss/proto-tx-builder@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@shapeshiftoss/proto-tx-builder/-/proto-tx-builder-0.8.0.tgz#12523e76e6ae2c794e8ad5439dedf65d30c78185" integrity sha512-EccA6oN9CyESa7F0EHdA/ysB3PLMaTZwsJNXHDOSmvwYhoYVw+YVxuvk91ECLLubEgTUHove1pOy2hccZ4yR8A==