diff --git a/components/forms/TransactionSigning.js b/components/forms/TransactionSigning.js
index 5dc5ca0..0dba118 100644
--- a/components/forms/TransactionSigning.js
+++ b/components/forms/TransactionSigning.js
@@ -1,24 +1,27 @@
-import React, { useState, useEffect } from "react";
+import React, { useState } from "react";
import axios from "axios";
import { toBase64 } from "@cosmjs/encoding";
-import { SigningStargateClient } from "@cosmjs/stargate";
+import { assertIsDeliverTxFailure, SigningStargateClient } from "@cosmjs/stargate";
+import { assert } from "@cosmjs/utils";
import { useAppContext } from "../../context/AppContext";
import Button from "../inputs/Button";
import HashView from "../dataViews/HashView";
import StackableContainer from "../layout/StackableContainer";
+import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
+import { LedgerSigner } from "@cosmjs/ledger-amino";
+import { makeCosmoshubPath } from "@cosmjs/amino";
+
const TransactionSigning = (props) => {
const { state } = useAppContext();
const [walletAccount, setWalletAccount] = useState(null);
const [sigError, setSigError] = useState(null);
const [hasSigned, setHasSigned] = useState(false);
+ const [walletType, setWalletType] = useState("");
+ const [ledgerSigner, setLedgerSigner] = useState({});
- useEffect(() => {
- connectWallet();
- }, []);
-
- const connectWallet = async () => {
+ const connectKeplr = async () => {
try {
await window.keplr.enable(state.chain.chainId);
const tempWalletAccount = await window.keplr.getKey(state.chain.chainId);
@@ -27,58 +30,76 @@ const TransactionSigning = (props) => {
);
setWalletAccount(tempWalletAccount);
setHasSigned(tempHasSigned);
+ setWalletType("keplr");
} catch (e) {
console.log("enable err: ", e);
}
};
- const signTransaction = async () => {
- try {
- window.keplr.defaultOptions = {
- sign: {
- preferNoSetMemo: true,
- preferNoSetFee: true,
- disableBalanceCheck: true,
- },
- };
- const offlineSigner = window.getOfflineSignerOnlyAmino(state.chain.chainId);
- const signingClient = await SigningStargateClient.offline(offlineSigner);
- const signerData = {
- accountNumber: props.tx.accountNumber,
- sequence: props.tx.sequence,
- chainId: state.chain.chainId,
- };
- const { bodyBytes, signatures } = await signingClient.sign(
- walletAccount.bech32Address,
- props.tx.msgs,
- props.tx.fee,
- props.tx.memo,
- signerData,
- );
- // check existing signatures
- const bases64EncodedSignature = toBase64(signatures[0]);
- const bases64EncodedBodyBytes = toBase64(bodyBytes);
- const prevSigMatch = props.signatures.findIndex(
- (signature) => signature.signature === bases64EncodedSignature,
- );
+ const connectLedger = async () => {
+ // Prepare ledger
+ const ledgerTransport = await TransportWebUSB.create(120_000, 120_000);
- if (prevSigMatch > -1) {
- setSigError("This account has already signed.");
- } else {
- const signature = {
- bodyBytes: bases64EncodedBodyBytes,
- signature: bases64EncodedSignature,
- address: walletAccount.bech32Address,
- };
- const _res = await axios.post(
- `/api/transaction/${props.transactionID}/signature`,
- signature,
- );
- props.addSignature(signature);
- setHasSigned(true);
- }
- } catch (error) {
- console.log("Error creating signature:", error);
+ // Setup signer
+ const offlineSigner = new LedgerSigner(ledgerTransport, {
+ hdPaths: [makeCosmoshubPath(0)],
+ prefix: state.chain.addressPrefix,
+ });
+
+ const accounts = await offlineSigner.getAccounts();
+ const tempWalletAccount = accounts[0].address;
+
+ const tempHasSigned = props.signatures.some(
+ (sig) => sig.address === tempWalletAccount.bech32Address,
+ );
+ setWalletAccount(tempWalletAccount);
+ setHasSigned(tempHasSigned);
+ setLedgerSigner(offlineSigner);
+ setWalletType("ledger");
+ };
+
+ const signTransaction = async () => {
+ const offlineSigner =
+ walletType === "keplr" ? window.getOfflineSignerOnlyAmino(state.chain.chainId) : ledgerSigner;
+
+ const signerAddress = walletType === "keplr"
+ ? walletAccount.bech32Address
+ : (await ledgerSigner.getAccounts())[0]?.address;
+ assert(signerAddress, "Missing signer address");
+ const signingClient = await SigningStargateClient.offline(offlineSigner);
+
+ const signerData = {
+ accountNumber: props.tx.accountNumber,
+ sequence: props.tx.sequence,
+ chainId: state.chain.chainId,
+ };
+
+ const { bodyBytes, signatures } = await signingClient.sign(
+ signerAddress,
+ props.tx.msgs,
+ props.tx.fee,
+ props.tx.memo,
+ signerData,
+ );
+
+ // check existing signatures
+ const bases64EncodedSignature = toBase64(signatures[0]);
+ const bases64EncodedBodyBytes = toBase64(bodyBytes);
+ const prevSigMatch = props.signatures.findIndex(
+ (signature) => signature.signature === bases64EncodedSignature,
+ );
+
+ if (prevSigMatch > -1) {
+ setSigError("This account has already signed.");
+ } else {
+ const signature = {
+ bodyBytes: bases64EncodedBodyBytes,
+ signature: bases64EncodedSignature,
+ address: signerAddress,
+ };
+ const _res = await axios.post(`/api/transaction/${props.transactionID}/signature`, signature);
+ props.addSignature(signature);
+ setHasSigned(true);
}
};
@@ -99,7 +120,10 @@ const TransactionSigning = (props) => {
{walletAccount ? (
) : (
-
+ <>
+
+
+ >
)}
>
)}
diff --git a/package-lock.json b/package-lock.json
index e19e580..fec1d9a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,13 +6,15 @@
"": {
"name": "create-next-example-app",
"dependencies": {
- "@cosmjs/amino": "^0.28.0",
- "@cosmjs/crypto": "^0.28.0",
- "@cosmjs/encoding": "^0.28.0",
- "@cosmjs/math": "^0.28.0",
- "@cosmjs/proto-signing": "^0.28.0",
- "@cosmjs/stargate": "^0.28.0",
+ "@cosmjs/amino": "^0.28.4",
+ "@cosmjs/crypto": "^0.28.4",
+ "@cosmjs/encoding": "^0.28.4",
+ "@cosmjs/ledger-amino": "^0.28.4",
+ "@cosmjs/math": "^0.28.4",
+ "@cosmjs/proto-signing": "^0.28.4",
+ "@cosmjs/stargate": "^0.28.4",
"@keplr-wallet/types": "^0.9.0-alpha.4",
+ "@ledgerhq/hw-transport-webusb": "^6.24.1",
"axios": "^0.21.1",
"copy-to-clipboard": "^3.3.1",
"cosmjs-types": "^0.4.1",
@@ -112,24 +114,24 @@
}
},
"node_modules/@cosmjs/amino": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.0.tgz",
- "integrity": "sha512-/6EPrU9khqcQzCVbU9VFwKZ9GVfhuW7XlRVSiGIui7tG/uAQ4F+1MY/YK9gN/+JEW2ZuY/VASbAnrqUL4yrvjQ==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.4.tgz",
+ "integrity": "sha512-b8y5gFC0eGrH0IoYSNtDmTdsTgeQ1KFZ5YVOeIiKmzF91MeiciYO/MNqc027kctacZ+UbnVWGEUGyRBPi9ta/g==",
"dependencies": {
- "@cosmjs/crypto": "0.28.0",
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/utils": "0.28.0"
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4"
}
},
"node_modules/@cosmjs/crypto": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.0.tgz",
- "integrity": "sha512-XlBqB21SDsySvKRb8o+7KNRVSyrytAEkf7TqGR0LKyznIj3yKOR+xWw13vsfIPNjo/cy+4fUb9KlZ8ztwiPG/A==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.4.tgz",
+ "integrity": "sha512-JRxNLlED3DDh9d04A0RcRw3mYkoobN7q7wafUFy3vI1TjoyWx33v0gqqaYE6/hoo9ghUrJSVOfzVihl8fZajJA==",
"dependencies": {
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/utils": "0.28.0",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"@noble/hashes": "^1",
"bn.js": "^5.2.0",
"elliptic": "^6.5.3",
@@ -137,9 +139,9 @@
}
},
"node_modules/@cosmjs/encoding": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.0.tgz",
- "integrity": "sha512-MKpEPg1g49PWiW9DMo4/PkHODYTR4kDveJqrYpGLucj3kipjzNe0C84K5cpc6Pfzwu0x56qnTq5J0b45v1z+ng==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.4.tgz",
+ "integrity": "sha512-N6Qnjs4dd8KwjW5m9t3L+rWYYGW2wyS+iLtJJ9DD8DiTTxpW9h7/AmUVO/dsRe5H2tV8/DzH/B9pFfpsgro22A==",
"dependencies": {
"base64-js": "^1.3.0",
"bech32": "^1.1.4",
@@ -147,59 +149,89 @@
}
},
"node_modules/@cosmjs/json-rpc": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.0.tgz",
- "integrity": "sha512-5GYCowl4xbh8cRVs6QZI1+fbW8BmmEGQ3m1ee43KySZsSBvUv4sXNA3vvHt0KMDhkrwX5oEBBKppSjDO9Nt1PA==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.4.tgz",
+ "integrity": "sha512-An8ZQi9OKbnS8ew/MyHhF90zQpXBF8RTj2wdvIH+Hr8yA6QjynY8hxRpUwYUt3Skc5NeUnTZNuWCzlluHnoxVg==",
"dependencies": {
- "@cosmjs/stream": "0.28.0",
+ "@cosmjs/stream": "0.28.4",
"xstream": "^11.14.0"
}
},
+ "node_modules/@cosmjs/ledger-amino": {
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/ledger-amino/-/ledger-amino-0.28.4.tgz",
+ "integrity": "sha512-SdKGk3jElpF5lbBJ8f/xvgk1GkItezpaZosAeOIgyzeGfDJL/nPFl0K0vs9L2PLCzLPEScA+9EocMC7F90UA4w==",
+ "dependencies": {
+ "@cosmjs/amino": "0.28.4",
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
+ "ledger-cosmos-js": "^2.1.8",
+ "semver": "^7.3.2"
+ }
+ },
+ "node_modules/@cosmjs/ledger-amino/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@cosmjs/math": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.0.tgz",
- "integrity": "sha512-W2BQCMt75ZG93ijtOGpC7K6tgLxQq/oIxyXOF5QHG3MtcKVvUlJgMTqLz7+YbDZEw/cr1COqYqKag9oXG21s0Q==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.4.tgz",
+ "integrity": "sha512-wsWjbxFXvk46Dsx8jQ5vsBZOIQuiUIyaaZbUvxsgIhAMpuuBnV5O/drK87+B+4cL+umTelFqTbWnkqueVCIFxQ==",
"dependencies": {
"bn.js": "^5.2.0"
}
},
"node_modules/@cosmjs/proto-signing": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.0.tgz",
- "integrity": "sha512-UbIrtRxtaiNg3hP/+y6QFGwMIZaLHhkoRtgz3BmsEpFnROLjTIGe0OjA8CZHe7yD7Jl6MDnN5LDqdHQpstsfbw==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.4.tgz",
+ "integrity": "sha512-4vgCLK9gOsdWzD78V5XbAsupSSyntPEzokWYhgRQNwgVTcKX1kg0eKZqUvF5ua5iL9x6MevfH/sgwPyiYleMBw==",
"dependencies": {
- "@cosmjs/amino": "0.28.0",
- "@cosmjs/crypto": "0.28.0",
- "@cosmjs/math": "0.28.0",
+ "@cosmjs/amino": "0.28.4",
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"cosmjs-types": "^0.4.0",
"long": "^4.0.0",
"protobufjs": "~6.10.2"
}
},
"node_modules/@cosmjs/socket": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.0.tgz",
- "integrity": "sha512-9jkzci/+8cfD0+ir/SJ1uE5KZZzJ+cloJ5BjCxJoAdLeap2IbG/ElkgWz30Jt8d0WINhewsEUIwmhGn6CY9bPA==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.4.tgz",
+ "integrity": "sha512-jAEL3Ri+s8XuBM3mqgO4yvmeQu+R+704V37lGROC1B6kAbGxWRyOWrMdOOiFJzCZ35sSMB7L+xKjpE8ug0vJjg==",
"dependencies": {
- "@cosmjs/stream": "0.28.0",
+ "@cosmjs/stream": "0.28.4",
"isomorphic-ws": "^4.0.1",
"ws": "^7",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/stargate": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.0.tgz",
- "integrity": "sha512-i0n9RxqOVkYYcyCjksBSqiDO5SVAPbIbPVZwMrAQHyb/mO//BX+A7XldGEwGYj1wGwKI+l1VEeaoh8UQA4PZxg==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.4.tgz",
+ "integrity": "sha512-tdwudilP5iLNwDm4TOMBjWuL5YehLPqGlC5/7hjJM/kVHyzLFo4Lzt0dVEwr5YegH+RsRXH/VtFLQz+NYlCobw==",
"dependencies": {
"@confio/ics23": "^0.6.8",
- "@cosmjs/amino": "0.28.0",
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/proto-signing": "0.28.0",
- "@cosmjs/stream": "0.28.0",
- "@cosmjs/tendermint-rpc": "0.28.0",
- "@cosmjs/utils": "0.28.0",
+ "@cosmjs/amino": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/proto-signing": "0.28.4",
+ "@cosmjs/stream": "0.28.4",
+ "@cosmjs/tendermint-rpc": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"cosmjs-types": "^0.4.0",
"long": "^4.0.0",
"protobufjs": "~6.10.2",
@@ -207,33 +239,34 @@
}
},
"node_modules/@cosmjs/stream": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.0.tgz",
- "integrity": "sha512-POwyxM8XU/Jm5IAUR0hJMA27TzPgYhAxfuF28hGfcIScKCmaWlOYUraviJIZk2ShwplBS8slHU7DU1f55gKfkw==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.4.tgz",
+ "integrity": "sha512-BDwDdFOrOgRx/Wm5nknb9YCV9HHIUcsOxykTDZqdArCUsn4QJBq79QIjp919G05Z8UemkoHwiUCUNB2BfoKmFw==",
"dependencies": {
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/tendermint-rpc": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.0.tgz",
- "integrity": "sha512-hqQGgFIZs5XjvwfH6+X44jHUxL0Eg3TqEg3iMvtCM9M3iC8AxKgCfb0sjO6HzOguQoWayVITkaU1/ZV84Peh4A==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.4.tgz",
+ "integrity": "sha512-iz6p4UW2QUZNh55WeJy9wHbMdqM8COo0AJdrGU4Ikb/xU0/H6b0dFPoEK+i6ngR0cSizh+hpTMzh3AA7ySUKlA==",
"dependencies": {
- "@cosmjs/crypto": "0.28.0",
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/json-rpc": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/socket": "0.28.0",
- "@cosmjs/stream": "0.28.0",
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/json-rpc": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/socket": "0.28.4",
+ "@cosmjs/stream": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"axios": "^0.21.2",
"readonly-date": "^1.0.0",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/utils": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.0.tgz",
- "integrity": "sha512-1Um7h2a20ipbvEw0dzKPHL8qTbH5YY9ND0u5XxlVaCxaYDMTpzjjPiQD+Offxx/28afi8cuHWDbJc45dJXoCAg=="
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.4.tgz",
+ "integrity": "sha512-lb3TU6833arPoPZF8HTeG9V418CpurvqH5Aa/ls0I0wYdPDEMO6622+PQNQhQ8Vw8Az2MXoSyc8jsqrgawT84Q=="
},
"node_modules/@emotion/cache": {
"version": "11.7.1",
@@ -629,6 +662,62 @@
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
},
+ "node_modules/@ledgerhq/devices": {
+ "version": "6.27.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.27.1.tgz",
+ "integrity": "sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ==",
+ "dependencies": {
+ "@ledgerhq/errors": "^6.10.0",
+ "@ledgerhq/logs": "^6.10.0",
+ "rxjs": "6",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/@ledgerhq/devices/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@ledgerhq/errors": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.10.0.tgz",
+ "integrity": "sha512-fQFnl2VIXh9Yd41lGjReCeK+Q2hwxQJvLZfqHnKqWapTz68NHOv5QcI0OHuZVNEbv0xhgdLhi5b65kgYeQSUVg=="
+ },
+ "node_modules/@ledgerhq/hw-transport": {
+ "version": "6.27.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.27.1.tgz",
+ "integrity": "sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ==",
+ "dependencies": {
+ "@ledgerhq/devices": "^6.27.1",
+ "@ledgerhq/errors": "^6.10.0",
+ "events": "^3.3.0"
+ }
+ },
+ "node_modules/@ledgerhq/hw-transport-webusb": {
+ "version": "6.27.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.1.tgz",
+ "integrity": "sha512-n0ygJSeRpznrUfwtbDCLQOM5mA23YT/ngYY8HU46dzsVJHrHQ4jwBNJU48iKB+a9GhHyPAUpPNlWGTogvoVUxg==",
+ "dependencies": {
+ "@ledgerhq/devices": "^6.27.1",
+ "@ledgerhq/errors": "^6.10.0",
+ "@ledgerhq/hw-transport": "^6.27.1",
+ "@ledgerhq/logs": "^6.10.0"
+ }
+ },
+ "node_modules/@ledgerhq/logs": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-6.10.0.tgz",
+ "integrity": "sha512-lLseUPEhSFUXYTKj6q7s2O3s2vW2ebgA11vMAlKodXGf5AFw4zUoEbTz9CoFOC9jS6xY4Qr8BmRnxP/odT4Uuw=="
+ },
"node_modules/@next/env": {
"version": "10.2.3",
"resolved": "https://registry.npmjs.org/@next/env/-/env-10.2.3.tgz",
@@ -3164,6 +3253,62 @@
"node": ">=4.0"
}
},
+ "node_modules/ledger-cosmos-js": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/ledger-cosmos-js/-/ledger-cosmos-js-2.1.8.tgz",
+ "integrity": "sha512-Gl7SWMq+3R9OTkF1hLlg5+1geGOmcHX9OdS+INDsGNxSiKRWlsWCvQipGoDnRIQ6CPo2i/Ze58Dw0Mt/l3UYyA==",
+ "dependencies": {
+ "@babel/runtime": "^7.11.2",
+ "@ledgerhq/hw-transport": "^5.25.0",
+ "bech32": "^1.1.4",
+ "ripemd160": "^2.0.2"
+ }
+ },
+ "node_modules/ledger-cosmos-js/node_modules/@ledgerhq/devices": {
+ "version": "5.51.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz",
+ "integrity": "sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==",
+ "dependencies": {
+ "@ledgerhq/errors": "^5.50.0",
+ "@ledgerhq/logs": "^5.50.0",
+ "rxjs": "6",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/ledger-cosmos-js/node_modules/@ledgerhq/errors": {
+ "version": "5.50.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz",
+ "integrity": "sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow=="
+ },
+ "node_modules/ledger-cosmos-js/node_modules/@ledgerhq/hw-transport": {
+ "version": "5.51.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz",
+ "integrity": "sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==",
+ "dependencies": {
+ "@ledgerhq/devices": "^5.51.1",
+ "@ledgerhq/errors": "^5.50.0",
+ "events": "^3.3.0"
+ }
+ },
+ "node_modules/ledger-cosmos-js/node_modules/@ledgerhq/logs": {
+ "version": "5.50.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz",
+ "integrity": "sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA=="
+ },
+ "node_modules/ledger-cosmos-js/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -3250,7 +3395,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -4355,6 +4499,17 @@
"inherits": "^2.0.1"
}
},
+ "node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -4790,6 +4945,11 @@
}
}
},
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ },
"node_modules/tty-browserify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
@@ -5061,8 +5221,7 @@
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/yocto-queue": {
"version": "0.1.0",
@@ -5148,24 +5307,24 @@
}
},
"@cosmjs/amino": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.0.tgz",
- "integrity": "sha512-/6EPrU9khqcQzCVbU9VFwKZ9GVfhuW7XlRVSiGIui7tG/uAQ4F+1MY/YK9gN/+JEW2ZuY/VASbAnrqUL4yrvjQ==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.28.4.tgz",
+ "integrity": "sha512-b8y5gFC0eGrH0IoYSNtDmTdsTgeQ1KFZ5YVOeIiKmzF91MeiciYO/MNqc027kctacZ+UbnVWGEUGyRBPi9ta/g==",
"requires": {
- "@cosmjs/crypto": "0.28.0",
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/utils": "0.28.0"
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4"
}
},
"@cosmjs/crypto": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.0.tgz",
- "integrity": "sha512-XlBqB21SDsySvKRb8o+7KNRVSyrytAEkf7TqGR0LKyznIj3yKOR+xWw13vsfIPNjo/cy+4fUb9KlZ8ztwiPG/A==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.28.4.tgz",
+ "integrity": "sha512-JRxNLlED3DDh9d04A0RcRw3mYkoobN7q7wafUFy3vI1TjoyWx33v0gqqaYE6/hoo9ghUrJSVOfzVihl8fZajJA==",
"requires": {
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/utils": "0.28.0",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"@noble/hashes": "^1",
"bn.js": "^5.2.0",
"elliptic": "^6.5.3",
@@ -5173,9 +5332,9 @@
}
},
"@cosmjs/encoding": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.0.tgz",
- "integrity": "sha512-MKpEPg1g49PWiW9DMo4/PkHODYTR4kDveJqrYpGLucj3kipjzNe0C84K5cpc6Pfzwu0x56qnTq5J0b45v1z+ng==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.28.4.tgz",
+ "integrity": "sha512-N6Qnjs4dd8KwjW5m9t3L+rWYYGW2wyS+iLtJJ9DD8DiTTxpW9h7/AmUVO/dsRe5H2tV8/DzH/B9pFfpsgro22A==",
"requires": {
"base64-js": "^1.3.0",
"bech32": "^1.1.4",
@@ -5183,59 +5342,85 @@
}
},
"@cosmjs/json-rpc": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.0.tgz",
- "integrity": "sha512-5GYCowl4xbh8cRVs6QZI1+fbW8BmmEGQ3m1ee43KySZsSBvUv4sXNA3vvHt0KMDhkrwX5oEBBKppSjDO9Nt1PA==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.4.tgz",
+ "integrity": "sha512-An8ZQi9OKbnS8ew/MyHhF90zQpXBF8RTj2wdvIH+Hr8yA6QjynY8hxRpUwYUt3Skc5NeUnTZNuWCzlluHnoxVg==",
"requires": {
- "@cosmjs/stream": "0.28.0",
+ "@cosmjs/stream": "0.28.4",
"xstream": "^11.14.0"
}
},
+ "@cosmjs/ledger-amino": {
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/ledger-amino/-/ledger-amino-0.28.4.tgz",
+ "integrity": "sha512-SdKGk3jElpF5lbBJ8f/xvgk1GkItezpaZosAeOIgyzeGfDJL/nPFl0K0vs9L2PLCzLPEScA+9EocMC7F90UA4w==",
+ "requires": {
+ "@cosmjs/amino": "0.28.4",
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
+ "ledger-cosmos-js": "^2.1.8",
+ "semver": "^7.3.2"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
"@cosmjs/math": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.0.tgz",
- "integrity": "sha512-W2BQCMt75ZG93ijtOGpC7K6tgLxQq/oIxyXOF5QHG3MtcKVvUlJgMTqLz7+YbDZEw/cr1COqYqKag9oXG21s0Q==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.28.4.tgz",
+ "integrity": "sha512-wsWjbxFXvk46Dsx8jQ5vsBZOIQuiUIyaaZbUvxsgIhAMpuuBnV5O/drK87+B+4cL+umTelFqTbWnkqueVCIFxQ==",
"requires": {
"bn.js": "^5.2.0"
}
},
"@cosmjs/proto-signing": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.0.tgz",
- "integrity": "sha512-UbIrtRxtaiNg3hP/+y6QFGwMIZaLHhkoRtgz3BmsEpFnROLjTIGe0OjA8CZHe7yD7Jl6MDnN5LDqdHQpstsfbw==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.28.4.tgz",
+ "integrity": "sha512-4vgCLK9gOsdWzD78V5XbAsupSSyntPEzokWYhgRQNwgVTcKX1kg0eKZqUvF5ua5iL9x6MevfH/sgwPyiYleMBw==",
"requires": {
- "@cosmjs/amino": "0.28.0",
- "@cosmjs/crypto": "0.28.0",
- "@cosmjs/math": "0.28.0",
+ "@cosmjs/amino": "0.28.4",
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"cosmjs-types": "^0.4.0",
"long": "^4.0.0",
"protobufjs": "~6.10.2"
}
},
"@cosmjs/socket": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.0.tgz",
- "integrity": "sha512-9jkzci/+8cfD0+ir/SJ1uE5KZZzJ+cloJ5BjCxJoAdLeap2IbG/ElkgWz30Jt8d0WINhewsEUIwmhGn6CY9bPA==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.28.4.tgz",
+ "integrity": "sha512-jAEL3Ri+s8XuBM3mqgO4yvmeQu+R+704V37lGROC1B6kAbGxWRyOWrMdOOiFJzCZ35sSMB7L+xKjpE8ug0vJjg==",
"requires": {
- "@cosmjs/stream": "0.28.0",
+ "@cosmjs/stream": "0.28.4",
"isomorphic-ws": "^4.0.1",
"ws": "^7",
"xstream": "^11.14.0"
}
},
"@cosmjs/stargate": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.0.tgz",
- "integrity": "sha512-i0n9RxqOVkYYcyCjksBSqiDO5SVAPbIbPVZwMrAQHyb/mO//BX+A7XldGEwGYj1wGwKI+l1VEeaoh8UQA4PZxg==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.28.4.tgz",
+ "integrity": "sha512-tdwudilP5iLNwDm4TOMBjWuL5YehLPqGlC5/7hjJM/kVHyzLFo4Lzt0dVEwr5YegH+RsRXH/VtFLQz+NYlCobw==",
"requires": {
"@confio/ics23": "^0.6.8",
- "@cosmjs/amino": "0.28.0",
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/proto-signing": "0.28.0",
- "@cosmjs/stream": "0.28.0",
- "@cosmjs/tendermint-rpc": "0.28.0",
- "@cosmjs/utils": "0.28.0",
+ "@cosmjs/amino": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/proto-signing": "0.28.4",
+ "@cosmjs/stream": "0.28.4",
+ "@cosmjs/tendermint-rpc": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"cosmjs-types": "^0.4.0",
"long": "^4.0.0",
"protobufjs": "~6.10.2",
@@ -5243,33 +5428,34 @@
}
},
"@cosmjs/stream": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.0.tgz",
- "integrity": "sha512-POwyxM8XU/Jm5IAUR0hJMA27TzPgYhAxfuF28hGfcIScKCmaWlOYUraviJIZk2ShwplBS8slHU7DU1f55gKfkw==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.28.4.tgz",
+ "integrity": "sha512-BDwDdFOrOgRx/Wm5nknb9YCV9HHIUcsOxykTDZqdArCUsn4QJBq79QIjp919G05Z8UemkoHwiUCUNB2BfoKmFw==",
"requires": {
"xstream": "^11.14.0"
}
},
"@cosmjs/tendermint-rpc": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.0.tgz",
- "integrity": "sha512-hqQGgFIZs5XjvwfH6+X44jHUxL0Eg3TqEg3iMvtCM9M3iC8AxKgCfb0sjO6HzOguQoWayVITkaU1/ZV84Peh4A==",
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.4.tgz",
+ "integrity": "sha512-iz6p4UW2QUZNh55WeJy9wHbMdqM8COo0AJdrGU4Ikb/xU0/H6b0dFPoEK+i6ngR0cSizh+hpTMzh3AA7ySUKlA==",
"requires": {
- "@cosmjs/crypto": "0.28.0",
- "@cosmjs/encoding": "0.28.0",
- "@cosmjs/json-rpc": "0.28.0",
- "@cosmjs/math": "0.28.0",
- "@cosmjs/socket": "0.28.0",
- "@cosmjs/stream": "0.28.0",
+ "@cosmjs/crypto": "0.28.4",
+ "@cosmjs/encoding": "0.28.4",
+ "@cosmjs/json-rpc": "0.28.4",
+ "@cosmjs/math": "0.28.4",
+ "@cosmjs/socket": "0.28.4",
+ "@cosmjs/stream": "0.28.4",
+ "@cosmjs/utils": "0.28.4",
"axios": "^0.21.2",
"readonly-date": "^1.0.0",
"xstream": "^11.14.0"
}
},
"@cosmjs/utils": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.0.tgz",
- "integrity": "sha512-1Um7h2a20ipbvEw0dzKPHL8qTbH5YY9ND0u5XxlVaCxaYDMTpzjjPiQD+Offxx/28afi8cuHWDbJc45dJXoCAg=="
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.28.4.tgz",
+ "integrity": "sha512-lb3TU6833arPoPZF8HTeG9V418CpurvqH5Aa/ls0I0wYdPDEMO6622+PQNQhQ8Vw8Az2MXoSyc8jsqrgawT84Q=="
},
"@emotion/cache": {
"version": "11.7.1",
@@ -5644,6 +5830,58 @@
}
}
},
+ "@ledgerhq/devices": {
+ "version": "6.27.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.27.1.tgz",
+ "integrity": "sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ==",
+ "requires": {
+ "@ledgerhq/errors": "^6.10.0",
+ "@ledgerhq/logs": "^6.10.0",
+ "rxjs": "6",
+ "semver": "^7.3.5"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@ledgerhq/errors": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.10.0.tgz",
+ "integrity": "sha512-fQFnl2VIXh9Yd41lGjReCeK+Q2hwxQJvLZfqHnKqWapTz68NHOv5QcI0OHuZVNEbv0xhgdLhi5b65kgYeQSUVg=="
+ },
+ "@ledgerhq/hw-transport": {
+ "version": "6.27.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.27.1.tgz",
+ "integrity": "sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ==",
+ "requires": {
+ "@ledgerhq/devices": "^6.27.1",
+ "@ledgerhq/errors": "^6.10.0",
+ "events": "^3.3.0"
+ }
+ },
+ "@ledgerhq/hw-transport-webusb": {
+ "version": "6.27.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.1.tgz",
+ "integrity": "sha512-n0ygJSeRpznrUfwtbDCLQOM5mA23YT/ngYY8HU46dzsVJHrHQ4jwBNJU48iKB+a9GhHyPAUpPNlWGTogvoVUxg==",
+ "requires": {
+ "@ledgerhq/devices": "^6.27.1",
+ "@ledgerhq/errors": "^6.10.0",
+ "@ledgerhq/hw-transport": "^6.27.1",
+ "@ledgerhq/logs": "^6.10.0"
+ }
+ },
+ "@ledgerhq/logs": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-6.10.0.tgz",
+ "integrity": "sha512-lLseUPEhSFUXYTKj6q7s2O3s2vW2ebgA11vMAlKodXGf5AFw4zUoEbTz9CoFOC9jS6xY4Qr8BmRnxP/odT4Uuw=="
+ },
"@next/env": {
"version": "10.2.3",
"resolved": "https://registry.npmjs.org/@next/env/-/env-10.2.3.tgz",
@@ -7616,6 +7854,58 @@
"object.assign": "^4.1.2"
}
},
+ "ledger-cosmos-js": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/ledger-cosmos-js/-/ledger-cosmos-js-2.1.8.tgz",
+ "integrity": "sha512-Gl7SWMq+3R9OTkF1hLlg5+1geGOmcHX9OdS+INDsGNxSiKRWlsWCvQipGoDnRIQ6CPo2i/Ze58Dw0Mt/l3UYyA==",
+ "requires": {
+ "@babel/runtime": "^7.11.2",
+ "@ledgerhq/hw-transport": "^5.25.0",
+ "bech32": "^1.1.4",
+ "ripemd160": "^2.0.2"
+ },
+ "dependencies": {
+ "@ledgerhq/devices": {
+ "version": "5.51.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz",
+ "integrity": "sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==",
+ "requires": {
+ "@ledgerhq/errors": "^5.50.0",
+ "@ledgerhq/logs": "^5.50.0",
+ "rxjs": "6",
+ "semver": "^7.3.5"
+ }
+ },
+ "@ledgerhq/errors": {
+ "version": "5.50.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz",
+ "integrity": "sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow=="
+ },
+ "@ledgerhq/hw-transport": {
+ "version": "5.51.1",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz",
+ "integrity": "sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==",
+ "requires": {
+ "@ledgerhq/devices": "^5.51.1",
+ "@ledgerhq/errors": "^5.50.0",
+ "events": "^3.3.0"
+ }
+ },
+ "@ledgerhq/logs": {
+ "version": "5.50.0",
+ "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz",
+ "integrity": "sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA=="
+ },
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
"levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -7690,7 +7980,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
"requires": {
"yallist": "^4.0.0"
}
@@ -8552,6 +8841,14 @@
"inherits": "^2.0.1"
}
},
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -8902,6 +9199,11 @@
"resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz",
"integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw=="
},
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ },
"tty-browserify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
@@ -9114,8 +9416,7 @@
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"yocto-queue": {
"version": "0.1.0",
diff --git a/package.json b/package.json
index 34f9592..b74c22e 100644
--- a/package.json
+++ b/package.json
@@ -8,13 +8,15 @@
"lint:fix": "eslint --max-warnings 0 \"./**/*.js\" --fix"
},
"dependencies": {
- "@cosmjs/amino": "^0.28.0",
- "@cosmjs/crypto": "^0.28.0",
- "@cosmjs/encoding": "^0.28.0",
- "@cosmjs/math": "^0.28.0",
- "@cosmjs/proto-signing": "^0.28.0",
- "@cosmjs/stargate": "^0.28.0",
+ "@cosmjs/amino": "^0.28.4",
+ "@cosmjs/crypto": "^0.28.4",
+ "@cosmjs/encoding": "^0.28.4",
+ "@cosmjs/ledger-amino": "^0.28.4",
+ "@cosmjs/math": "^0.28.4",
+ "@cosmjs/proto-signing": "^0.28.4",
+ "@cosmjs/stargate": "^0.28.4",
"@keplr-wallet/types": "^0.9.0-alpha.4",
+ "@ledgerhq/hw-transport-webusb": "^6.24.1",
"axios": "^0.21.1",
"copy-to-clipboard": "^3.3.1",
"cosmjs-types": "^0.4.1",