diff --git a/package.json b/package.json index cef80285..30aeb6c7 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,13 @@ }, "dependencies": { "@apollo/client": "^3.8.8", + "@cosmjs/proto-signing": "^0.32.2", + "@cosmjs/stargate": "^0.32.2", "@emotion/react": "^11.11.1", "@emotion/server": "^11.11.0", "@emotion/styled": "^11.11.0", + "@keplr-wallet/types": "^0.12.54", + "@keplr-wallet/unit": "^0.12.54", "@mui/icons-material": "^5.15.0", "@mui/lab": "^5.0.0-alpha.156", "@mui/material": "^5.15.0", diff --git a/src/screens/staking/components/staking_section/index.module.scss b/src/screens/staking/components/staking_section/index.module.scss new file mode 100644 index 00000000..9d6ac41d --- /dev/null +++ b/src/screens/staking/components/staking_section/index.module.scss @@ -0,0 +1,19 @@ +@import "src/styles/sass.scss"; + +.wrapper { + align-items: center; + display: flex; + justify-content: center; +} + +.container { + background-color: $color-primary-light; + color: #000; + + button { + &, + &:hover { + background-color: $color-forbole-indigo6; + } + } +} diff --git a/src/screens/staking/components/staking_section/index.tsx b/src/screens/staking/components/staking_section/index.tsx new file mode 100644 index 00000000..c905e93d --- /dev/null +++ b/src/screens/staking/components/staking_section/index.tsx @@ -0,0 +1,144 @@ +import { coin } from "@cosmjs/proto-signing"; +import { + GasPrice, + SigningStargateClient, + assertIsDeliverTxSuccess, +} from "@cosmjs/stargate"; +import type { Window as KeplrWindow } from "@keplr-wallet/types"; +import { Dec } from "@keplr-wallet/unit"; +import { Box, Button } from "@mui/material"; +import { useState } from "react"; + +import * as styles from "./index.module.scss"; + +declare global { + interface Window extends KeplrWindow {} +} + +// https://github.com/chainapsis/keplr-example +// https://github.com/chainapsis/keplr-wallet/blob/master/packages/cosmos/src/index.ts +// https://github.com/cosmos/testnets/tree/master/public +// https://github.com/chainapsis/keplr-chain-registry/tree/main + +// https://github.com/forbole/big-dipper-2.0-cosmos/blob/rachelhox/staking/packages/ui/src/components/nav/components/connect_wallet/keplr_utils.ts +// https://github.com/forbole/big-dipper-2.0-cosmos/blob/rachelhox/staking/packages/ui/src/screens/validators/components/list/components/staking/hooks.ts + +// Theta testnet: +// https://github.com/chainapsis/keplr-chain-registry/blob/main/cosmos/theta-testnet.json + +const earthValidatorAddress = + "cosmosvaloper10v6wvdenee8r9l6wlsphcgur2ltl8ztkfrvj9a"; + +const CosmosHubInfo = { + chainId: "theta-testnet-001", + rest: "https://api-t.cosmos.nodestake.top", + rpc: "https://rpc-t.cosmos.nodestake.top", +}; + +const uatomDecimal = 6; + +const StakingSection = () => { + const [address, setAddress] = useState(""); + const [balance, setBalance] = useState(""); + + const getBalance = async () => { + const uri = `${CosmosHubInfo.rest}/cosmos/bank/v1beta1/balances/${address}?pagination.limit=1000`; + + const data = await fetch(uri, { + headers: { + Accept: "application/json", + }, + }).then((res) => res.json()); + + const newBalance = data.balances.find( + (balanceParam: any) => balanceParam.denom === "uatom", + ); + + if (newBalance) { + const amount = new Dec(newBalance.amount, uatomDecimal); + setBalance(`${amount.toString(uatomDecimal)} ATOM`); + } else { + setBalance(`0 ATOM`); + } + }; + + const getKey = async () => { + const key = await window.keplr?.getKey(CosmosHubInfo.chainId); + + // eslint-disable-next-line + console.log("debug: index.tsx: key", key); + }; + + const getAddress = async () => { + // Example of signing a message: + // https://github.com/chainapsis/keplr-example/blob/master/src/util/sendMsgs.ts + if (!window.keplr) { + alert("Please install keplr extension"); + } else { + try { + const chainId = "cosmoshub-4"; + await window.keplr.enable(chainId); + const offlineSigner = window.keplr.getOfflineSigner(chainId); + const accounts = await offlineSigner.getAccounts(); + setAddress(accounts[0].address); + } catch (error) { + // eslint-disable-next-line no-console + console.log(error); + } + } + }; + + const delegateTokens = async () => { + const offlineSigner = window.keplr?.getOfflineSignerOnlyAmino( + CosmosHubInfo.chainId, + ); + + if (!offlineSigner) { + throw new Error("Can't get offline signer"); + } + + const client = await SigningStargateClient.connectWithSigner( + CosmosHubInfo.rpc, + offlineSigner, + { + gasPrice: GasPrice.fromString(`0.01atom`), + }, + ); + + const result = await client.delegateTokens( + address, + earthValidatorAddress, + coin(100000, "uatom"), + "auto", + "", // memo + ); + + try { + assertIsDeliverTxSuccess(result); + } catch (error) { + // eslint-disable-next-line no-console + console.log("assertion error", error); + } + + // eslint-disable-next-line + console.log("debug: index.tsx: result", result); + }; + + return ( + + + Staking section + + + {address && } + {address && } + {address && } + + Current address: {address} + Current balance: {balance} + + + ); +}; + +export default StakingSection; diff --git a/src/screens/staking/index.tsx b/src/screens/staking/index.tsx index bd4ae80b..0635167d 100644 --- a/src/screens/staking/index.tsx +++ b/src/screens/staking/index.tsx @@ -10,6 +10,7 @@ import FAQ from "./components/faq"; import Hero from "./components/hero"; import HowItWorks from "./components/how_it_works"; import Networks from "./components/networks"; +import StakingSection from "./components/staking_section"; import WhyForbole from "./components/why_forbole"; import { LaptopCSS } from "./styles"; @@ -37,6 +38,9 @@ const Staking = () => { + + . + diff --git a/yarn.lock b/yarn.lock index 02e9f74b..06e40dea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1723,6 +1723,16 @@ __metadata: languageName: node linkType: hard +"@confio/ics23@npm:^0.6.8": + version: 0.6.8 + resolution: "@confio/ics23@npm:0.6.8" + dependencies: + "@noble/hashes": "npm:^1.0.0" + protobufjs: "npm:^6.8.8" + checksum: 2f3f5032cd6a34c9b2fbd64bbf7e1cdec75ca71f348a770f7b5474b5027b12202bfbcd404eca931efddb5901f769af035a87cb8bddbf3f23d7e5d93c9d3d7f6f + languageName: node + linkType: hard + "@corex/deepmerge@npm:^4.0.43": version: 4.0.43 resolution: "@corex/deepmerge@npm:4.0.43" @@ -1730,6 +1740,141 @@ __metadata: languageName: node linkType: hard +"@cosmjs/amino@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/amino@npm:0.32.2" + dependencies: + "@cosmjs/crypto": "npm:^0.32.2" + "@cosmjs/encoding": "npm:^0.32.2" + "@cosmjs/math": "npm:^0.32.2" + "@cosmjs/utils": "npm:^0.32.2" + checksum: 306ec4a08713d0173af134e45d26647f0d456c0cfacf55779c159a7556d9614e763a70518a7b3aaa3c18e9f71ff33f30e5badaed1c50aa26dd37313f68267083 + languageName: node + linkType: hard + +"@cosmjs/crypto@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/crypto@npm:0.32.2" + dependencies: + "@cosmjs/encoding": "npm:^0.32.2" + "@cosmjs/math": "npm:^0.32.2" + "@cosmjs/utils": "npm:^0.32.2" + "@noble/hashes": "npm:^1" + bn.js: "npm:^5.2.0" + elliptic: "npm:^6.5.4" + libsodium-wrappers-sumo: "npm:^0.7.11" + checksum: cd89f8f450daf6eca1d625cb226da179c82fb97d108f1a3ab36c132f9c47fb4930c276f827d82d91b9c818360a4141cbd24e61a4026bb24b77c883b3fb825351 + languageName: node + linkType: hard + +"@cosmjs/encoding@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/encoding@npm:0.32.2" + dependencies: + base64-js: "npm:^1.3.0" + bech32: "npm:^1.1.4" + readonly-date: "npm:^1.0.0" + checksum: fe179c7c60c122da0bf7b8b0a76b729dc6a15280d9c32addc7a9efac0b86bbae13e2e51af2d968f72b1235d6f3e50da1ae06e77f96d7b2655be67a6ab23a934c + languageName: node + linkType: hard + +"@cosmjs/json-rpc@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/json-rpc@npm:0.32.2" + dependencies: + "@cosmjs/stream": "npm:^0.32.2" + xstream: "npm:^11.14.0" + checksum: d3a70993d23356f3c1a840ba628ee890da6c1bf81a68a3f94ed74132e8a5b37d6ffba3327e562086552c7b01bd9dde2844761fbd8168e0c693011329c1cab53a + languageName: node + linkType: hard + +"@cosmjs/math@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/math@npm:0.32.2" + dependencies: + bn.js: "npm:^5.2.0" + checksum: be6590c61b1d8488c9405666b365892d8ad9a6c7d0e67fced18386c6fe3e0dd180db4b55e3c7009f4659123a531459916357218f4f153569a9a740d8fd749064 + languageName: node + linkType: hard + +"@cosmjs/proto-signing@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/proto-signing@npm:0.32.2" + dependencies: + "@cosmjs/amino": "npm:^0.32.2" + "@cosmjs/crypto": "npm:^0.32.2" + "@cosmjs/encoding": "npm:^0.32.2" + "@cosmjs/math": "npm:^0.32.2" + "@cosmjs/utils": "npm:^0.32.2" + cosmjs-types: "npm:^0.9.0" + checksum: 351ae9d4e91b04926429dafd9342793958d2bfa2d84804a9195a1ba60ddb33491f66baa4dd17a4418bb53a7fb3a1ae6d4f4bb6f3a60b5f23bdcf62e70e987de2 + languageName: node + linkType: hard + +"@cosmjs/socket@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/socket@npm:0.32.2" + dependencies: + "@cosmjs/stream": "npm:^0.32.2" + isomorphic-ws: "npm:^4.0.1" + ws: "npm:^7" + xstream: "npm:^11.14.0" + checksum: 5e9c1cb8f7a181cc380f82d50f4ec5b23ac9940e02ea51d813e26e87a7a9d2889de5297b42b45edfb7b6af8fc2fa1ce5cef7efdf52f266e6821b6f7ed1fb3dea + languageName: node + linkType: hard + +"@cosmjs/stargate@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/stargate@npm:0.32.2" + dependencies: + "@confio/ics23": "npm:^0.6.8" + "@cosmjs/amino": "npm:^0.32.2" + "@cosmjs/encoding": "npm:^0.32.2" + "@cosmjs/math": "npm:^0.32.2" + "@cosmjs/proto-signing": "npm:^0.32.2" + "@cosmjs/stream": "npm:^0.32.2" + "@cosmjs/tendermint-rpc": "npm:^0.32.2" + "@cosmjs/utils": "npm:^0.32.2" + cosmjs-types: "npm:^0.9.0" + xstream: "npm:^11.14.0" + checksum: 70cf7e509f0cce9bd28bafa830260cfb4ddd6c3c3e60836aae93276a59c7ae6571971eeb6dd0a9e898295cbde17fba94d7253c3ce0b2f03de875d7b9dd074b12 + languageName: node + linkType: hard + +"@cosmjs/stream@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/stream@npm:0.32.2" + dependencies: + xstream: "npm:^11.14.0" + checksum: 3cd66d55f63bf9b1ab1b0298b1ab9d79d132cc7fff26064832507a95adf82bd082793c09b2f5e7e864b29827fda81095ba9a619db9f5a5720438c7eba8cdab19 + languageName: node + linkType: hard + +"@cosmjs/tendermint-rpc@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/tendermint-rpc@npm:0.32.2" + dependencies: + "@cosmjs/crypto": "npm:^0.32.2" + "@cosmjs/encoding": "npm:^0.32.2" + "@cosmjs/json-rpc": "npm:^0.32.2" + "@cosmjs/math": "npm:^0.32.2" + "@cosmjs/socket": "npm:^0.32.2" + "@cosmjs/stream": "npm:^0.32.2" + "@cosmjs/utils": "npm:^0.32.2" + axios: "npm:^1.6.0" + readonly-date: "npm:^1.0.0" + xstream: "npm:^11.14.0" + checksum: a668d311c7bb088d63316698b99ec0938da61c35a7f423c7b4b06ba27a819787359a34b6b859d9deb03034864edb7e1d196f861f313f66b15db5d57e358cd3ca + languageName: node + linkType: hard + +"@cosmjs/utils@npm:^0.32.2": + version: 0.32.2 + resolution: "@cosmjs/utils@npm:0.32.2" + checksum: 53789110c65106ee2d200f59f37d7732e7027b8bfc042072e3ca0336e2cf9b288cbe4f3e4945515a3d0f6907a7586dc83e96b49ddfc8a10c26377e52b7c609e6 + languageName: node + linkType: hard + "@csstools/css-parser-algorithms@npm:^2.3.2": version: 2.3.2 resolution: "@csstools/css-parser-algorithms@npm:2.3.2" @@ -2622,6 +2767,26 @@ __metadata: languageName: node linkType: hard +"@keplr-wallet/types@npm:0.12.54, @keplr-wallet/types@npm:^0.12.54": + version: 0.12.54 + resolution: "@keplr-wallet/types@npm:0.12.54" + dependencies: + long: "npm:^4.0.0" + checksum: 8087db18c429339ddab28cb892ea9d3b218de74542c6a96559cb19bded4f6475ac2613d5a0719f3a64e3f78a121d7d62b267da7a66f621eef583547a9cbc7228 + languageName: node + linkType: hard + +"@keplr-wallet/unit@npm:^0.12.54": + version: 0.12.54 + resolution: "@keplr-wallet/unit@npm:0.12.54" + dependencies: + "@keplr-wallet/types": "npm:0.12.54" + big-integer: "npm:^1.6.48" + utility-types: "npm:^3.10.0" + checksum: db3dbe5ce7b5df362617980083a0c7a42ac5e97d0f7e832b6e8ae23e266ba51760dae8fca93718f939f155bf014e7e728bb41167690cd04340ef23f433f1cf65 + languageName: node + linkType: hard + "@mui/base@npm:5.0.0-beta.27": version: 5.0.0-beta.27 resolution: "@mui/base@npm:5.0.0-beta.27" @@ -2930,6 +3095,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:^1, @noble/hashes@npm:^1.0.0": + version: 1.3.3 + resolution: "@noble/hashes@npm:1.3.3" + checksum: 23c020b33da4172c988e44100e33cd9f8f6250b68b43c467d3551f82070ebd9716e0d9d2347427aa3774c85934a35fa9ee6f026fca2117e3fa12db7bedae7668 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -3011,6 +3183,79 @@ __metadata: languageName: node linkType: hard +"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/aspromise@npm:1.1.2" + checksum: a83343a468ff5b5ec6bff36fd788a64c839e48a07ff9f4f813564f58caf44d011cd6504ed2147bf34835bd7a7dd2107052af755961c6b098fd8902b4f6500d0f + languageName: node + linkType: hard + +"@protobufjs/base64@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/base64@npm:1.1.2" + checksum: eec925e681081af190b8ee231f9bad3101e189abbc182ff279da6b531e7dbd2a56f1f306f37a80b1be9e00aa2d271690d08dcc5f326f71c9eed8546675c8caf6 + languageName: node + linkType: hard + +"@protobufjs/codegen@npm:^2.0.4": + version: 2.0.4 + resolution: "@protobufjs/codegen@npm:2.0.4" + checksum: 26ae337c5659e41f091606d16465bbcc1df1f37cc1ed462438b1f67be0c1e28dfb2ca9f294f39100c52161aef82edf758c95d6d75650a1ddf31f7ddee1440b43 + languageName: node + linkType: hard + +"@protobufjs/eventemitter@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/eventemitter@npm:1.1.0" + checksum: 1eb0a75180e5206d1033e4138212a8c7089a3d418c6dfa5a6ce42e593a4ae2e5892c4ef7421f38092badba4040ea6a45f0928869989411001d8c1018ea9a6e70 + languageName: node + linkType: hard + +"@protobufjs/fetch@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/fetch@npm:1.1.0" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.1" + "@protobufjs/inquire": "npm:^1.1.0" + checksum: cda6a3dc2d50a182c5865b160f72077aac197046600091dbb005dd0a66db9cce3c5eaed6d470ac8ed49d7bcbeef6ee5f0bc288db5ff9a70cbd003e5909065233 + languageName: node + linkType: hard + +"@protobufjs/float@npm:^1.0.2": + version: 1.0.2 + resolution: "@protobufjs/float@npm:1.0.2" + checksum: 18f2bdede76ffcf0170708af15c9c9db6259b771e6b84c51b06df34a9c339dbbeec267d14ce0bddd20acc142b1d980d983d31434398df7f98eb0c94a0eb79069 + languageName: node + linkType: hard + +"@protobufjs/inquire@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/inquire@npm:1.1.0" + checksum: 64372482efcba1fb4d166a2664a6395fa978b557803857c9c03500e0ac1013eb4b1aacc9ed851dd5fc22f81583670b4f4431bae186f3373fedcfde863ef5921a + languageName: node + linkType: hard + +"@protobufjs/path@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/path@npm:1.1.2" + checksum: cece0a938e7f5dfd2fa03f8c14f2f1cf8b0d6e13ac7326ff4c96ea311effd5fb7ae0bba754fbf505312af2e38500250c90e68506b97c02360a43793d88a0d8b4 + languageName: node + linkType: hard + +"@protobufjs/pool@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/pool@npm:1.1.0" + checksum: eda2718b7f222ac6e6ad36f758a92ef90d26526026a19f4f17f668f45e0306a5bd734def3f48f51f8134ae0978b6262a5c517c08b115a551756d1a3aadfcf038 + languageName: node + linkType: hard + +"@protobufjs/utf8@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/utf8@npm:1.1.0" + checksum: a3fe31fe3fa29aa3349e2e04ee13dc170cc6af7c23d92ad49e3eeaf79b9766264544d3da824dba93b7855bd6a2982fb40032ef40693da98a136d835752beb487 + languageName: node + linkType: hard + "@rushstack/eslint-patch@npm:^1.3.3": version: 1.6.1 resolution: "@rushstack/eslint-patch@npm:1.6.1" @@ -3325,6 +3570,13 @@ __metadata: languageName: node linkType: hard +"@types/long@npm:^4.0.1": + version: 4.0.2 + resolution: "@types/long@npm:4.0.2" + checksum: 42ec66ade1f72ff9d143c5a519a65efc7c1c77be7b1ac5455c530ae9acd87baba065542f8847522af2e3ace2cc999f3ad464ef86e6b7352eece34daf88f8c924 + languageName: node + linkType: hard + "@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" @@ -3348,6 +3600,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:>=13.7.0": + version: 20.10.5 + resolution: "@types/node@npm:20.10.5" + dependencies: + undici-types: "npm:~5.26.4" + checksum: be30609aae0bfe492097815f166ccc07f465220cb604647fa4e5ec05a1d16c012a41b82b5f11ecfe2485cbb479d4d20384b95b809ca0bcff6d94d5bbafa645bb + languageName: node + linkType: hard + "@types/node@npm:^18.11.9": version: 18.19.3 resolution: "@types/node@npm:18.19.3" @@ -3964,7 +4225,7 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.0.0, axios@npm:^1.6.2": +"axios@npm:^1.0.0, axios@npm:^1.6.0, axios@npm:^1.6.2": version: 1.6.2 resolution: "axios@npm:1.6.2" dependencies: @@ -4045,13 +4306,27 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.3.1": +"base64-js@npm:^1.3.0, base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf languageName: node linkType: hard +"bech32@npm:^1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 + languageName: node + linkType: hard + +"big-integer@npm:^1.6.48": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -4070,6 +4345,20 @@ __metadata: languageName: node linkType: hard +"bn.js@npm:^4.11.9": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.0": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + languageName: node + linkType: hard + "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -4145,6 +4434,13 @@ __metadata: languageName: node linkType: hard +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + "browserslist@npm:^4.21.10, browserslist@npm:^4.22.2": version: 4.22.2 resolution: "browserslist@npm:4.22.2" @@ -4682,6 +4978,13 @@ __metadata: languageName: node linkType: hard +"cosmjs-types@npm:^0.9.0": + version: 0.9.0 + resolution: "cosmjs-types@npm:0.9.0" + checksum: bc20f4293fb34629d7c5f96bafe533987f753df957ff68eb078d0128ae5a418320cb945024441769a07bb9bc5dde9d22b972fd40d485933e5706ea191c43727b + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -5088,6 +5391,21 @@ __metadata: languageName: node linkType: hard +"elliptic@npm:^6.5.4": + version: 6.5.4 + resolution: "elliptic@npm:6.5.4" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 5f361270292c3b27cf0843e84526d11dec31652f03c2763c6c2b8178548175ff5eba95341dd62baff92b2265d1af076526915d8af6cc9cb7559c44a62f8ca6e2 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -6108,9 +6426,13 @@ __metadata: "@apollo/client": "npm:^3.8.8" "@commitlint/cli": "npm:^18.4.3" "@commitlint/config-conventional": "npm:^18.4.3" + "@cosmjs/proto-signing": "npm:^0.32.2" + "@cosmjs/stargate": "npm:^0.32.2" "@emotion/react": "npm:^11.11.1" "@emotion/server": "npm:^11.11.0" "@emotion/styled": "npm:^11.11.0" + "@keplr-wallet/types": "npm:^0.12.54" + "@keplr-wallet/unit": "npm:^0.12.54" "@mui/icons-material": "npm:^5.15.0" "@mui/lab": "npm:^5.0.0-alpha.156" "@mui/material": "npm:^5.15.0" @@ -6577,7 +6899,7 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.3": +"globalthis@npm:^1.0.1, globalthis@npm:^1.0.3": version: 1.0.3 resolution: "globalthis@npm:1.0.3" dependencies: @@ -6726,6 +7048,16 @@ __metadata: languageName: node linkType: hard +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + "hasown@npm:^2.0.0": version: 2.0.0 resolution: "hasown@npm:2.0.0" @@ -6773,6 +7105,17 @@ __metadata: languageName: node linkType: hard +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -7387,6 +7730,15 @@ __metadata: languageName: node linkType: hard +"isomorphic-ws@npm:^4.0.1": + version: 4.0.1 + resolution: "isomorphic-ws@npm:4.0.1" + peerDependencies: + ws: "*" + checksum: 7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 + languageName: node + linkType: hard + "iterator.prototype@npm:^1.1.2": version: 1.1.2 resolution: "iterator.prototype@npm:1.1.2" @@ -7707,6 +8059,22 @@ __metadata: languageName: node linkType: hard +"libsodium-sumo@npm:^0.7.13": + version: 0.7.13 + resolution: "libsodium-sumo@npm:0.7.13" + checksum: 8159205cc36cc4bdf46ee097e5f998d5cac7d11612be7406a8396ca3ee31560871ac17daa69e47ff0e8407eeae9f49313912ea95dbc8715875301b004c28ef5b + languageName: node + linkType: hard + +"libsodium-wrappers-sumo@npm:^0.7.11": + version: 0.7.13 + resolution: "libsodium-wrappers-sumo@npm:0.7.13" + dependencies: + libsodium-sumo: "npm:^0.7.13" + checksum: 51a151d0f73418632dcf9cf0184b14d8eb6e16b9a3f01a652c7401c6d1bf8ead4f5ce40a4f00bd4754c5719a7a5fb71d6125691896aeb7a9c1abcfe4b73afc02 + languageName: node + linkType: hard + "lilconfig@npm:^2.0.6": version: 2.1.0 resolution: "lilconfig@npm:2.1.0" @@ -7886,6 +8254,13 @@ __metadata: languageName: node linkType: hard +"long@npm:^4.0.0": + version: 4.0.0 + resolution: "long@npm:4.0.0" + checksum: 50a6417d15b06104dbe4e3d4a667c39b137f130a9108ea8752b352a4cfae047531a3ac351c181792f3f8768fe17cca6b0f406674a541a86fb638aaac560d83ed + languageName: node + linkType: hard + "loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -8118,6 +8493,20 @@ __metadata: languageName: node linkType: hard +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + "minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -9112,6 +9501,30 @@ __metadata: languageName: node linkType: hard +"protobufjs@npm:^6.8.8": + version: 6.11.4 + resolution: "protobufjs@npm:6.11.4" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.2" + "@protobufjs/base64": "npm:^1.1.2" + "@protobufjs/codegen": "npm:^2.0.4" + "@protobufjs/eventemitter": "npm:^1.1.0" + "@protobufjs/fetch": "npm:^1.1.0" + "@protobufjs/float": "npm:^1.0.2" + "@protobufjs/inquire": "npm:^1.1.0" + "@protobufjs/path": "npm:^1.1.2" + "@protobufjs/pool": "npm:^1.1.0" + "@protobufjs/utf8": "npm:^1.1.0" + "@types/long": "npm:^4.0.1" + "@types/node": "npm:>=13.7.0" + long: "npm:^4.0.0" + bin: + pbjs: bin/pbjs + pbts: bin/pbts + checksum: c244d7b9b6d3258193da5c0d1e558dfb47f208ae345e209f90ec45c9dca911b90fa17e937892a9a39a4136ab9886981aae9efdf6039f7baff4f7225f5eeb9812 + languageName: node + linkType: hard + "proxy-from-env@npm:^1.1.0": version: 1.1.0 resolution: "proxy-from-env@npm:1.1.0" @@ -9311,6 +9724,13 @@ __metadata: languageName: node linkType: hard +"readonly-date@npm:^1.0.0": + version: 1.0.0 + resolution: "readonly-date@npm:1.0.0" + checksum: 7ab32bf19f6bfec102584a524fa79a289e6ede0bf20c80fd90ab309962e45b71d19dd0e3915dff6e81edf226f08fda65e890539b4aca74668921790b10471356 + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -10458,6 +10878,13 @@ __metadata: languageName: node linkType: hard +"symbol-observable@npm:^2.0.3": + version: 2.0.3 + resolution: "symbol-observable@npm:2.0.3" + checksum: 03fb8766b75bfa65a3c7d68ae1e51a13a5ff71b40d6d53b17a0c9c77b1685c20a3bfbf45547ab36214a079665c3f551e250798f6b2f83a2a40762d864ed87f78 + languageName: node + linkType: hard + "symbol-observable@npm:^4.0.0": version: 4.0.0 resolution: "symbol-observable@npm:4.0.0" @@ -11041,6 +11468,13 @@ __metadata: languageName: node linkType: hard +"utility-types@npm:^3.10.0": + version: 3.10.0 + resolution: "utility-types@npm:3.10.0" + checksum: 79a6f7ea0cdd4fcafcec8c6e68e1e0cfa657e414b6f1696552d89ae70a3634b12ac6c16b7a0a3bfdb0a222ebc3d9a7649f2de434a78f2d65d318b50f314a85e4 + languageName: node + linkType: hard + "validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -11361,7 +11795,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.3.1": +"ws@npm:^7, ws@npm:^7.3.1": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -11412,6 +11846,16 @@ __metadata: languageName: node linkType: hard +"xstream@npm:^11.14.0": + version: 11.14.0 + resolution: "xstream@npm:11.14.0" + dependencies: + globalthis: "npm:^1.0.1" + symbol-observable: "npm:^2.0.3" + checksum: 7a28baedc64385dc17597d04c7130ec3135db298e66d6dcf33821eb1953d5ad1b83c5fa08f1ce4d36e75fd219f2e9ef81ee0721aa8d4ccf619acc1760ba37f71 + languageName: node + linkType: hard + "xtend@npm:~2.1.1": version: 2.1.2 resolution: "xtend@npm:2.1.2"