diff --git a/sdk/typescript/docs/pages/guides/cosmos-kit.mdx b/sdk/typescript/docs/pages/guides/cosmos-kit.mdx index cf1cfd3c59..dbbe010422 100644 --- a/sdk/typescript/docs/pages/guides/cosmos-kit.mdx +++ b/sdk/typescript/docs/pages/guides/cosmos-kit.mdx @@ -77,6 +77,7 @@ function MyComponent() { { wallet &&
Address: {address}
} + {address && } ); @@ -98,5 +99,4 @@ export default function App() { ) } - ``` diff --git a/sdk/typescript/docs/pages/guides/mix-fetch.mdx b/sdk/typescript/docs/pages/guides/mix-fetch.mdx index edd527b85b..a3339b7b6b 100644 --- a/sdk/typescript/docs/pages/guides/mix-fetch.mdx +++ b/sdk/typescript/docs/pages/guides/mix-fetch.mdx @@ -27,7 +27,7 @@ import { mixFetch } from '@nymproject/mix-fetch-full-fat'; import React from 'react'; export function HttpGET() { - const [html, setHtml] = React.useState('') + const [html, setHtml] = React.useState('') async function get () { const response = await mixFetch('https://nymtech.net') const text = await response.text() diff --git a/sdk/typescript/docs/pages/guides/nym-smart-contracts.mdx b/sdk/typescript/docs/pages/guides/nym-smart-contracts.mdx index d31b017ff4..de851e7a78 100644 --- a/sdk/typescript/docs/pages/guides/nym-smart-contracts.mdx +++ b/sdk/typescript/docs/pages/guides/nym-smart-contracts.mdx @@ -44,53 +44,50 @@ import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; ##### Example: using the Mixnet smart contract client to query In this example, we will use the `MixnetQueryClient`from the `Contract Clients` to simply query the contract and return a list of Mixnodes. -```js +```ts import "./App.css"; import { contracts } from "@nymproject/contract-clients"; import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; import { useEffect, useState } from "react"; +import { MixnodeDetails } from '@nymproject/types'; export default function Mixnodes() { - const [mixnodes, setMixnodes] = useState(null); + const [mixnodes, setMixnodes] = useState([]); async function fetchMixnodes(){ // Set-up the CosmWasm Client const cosmWasmClient = await SigningCosmWasmClient.connect("wss://rpc.nymtech.net:443"); - const client = new contracts.Mixnet.MixnetQueryClient( cosmWasmClient, "n17srjznxl9dvzdkpwpw24gg668wc73val88a6m5ajg6ankwvz9wtst0cznr" // the contract address (which is different on mainnet, QA, etc) ); - console.log("client:", client) const result = await client.getMixNodesDetailed({}); - console.log(result) setMixnodes(result.nodes) - } useEffect(() => { fetchMixnodes(); }, []) - return( - <> - - - {mixnodes?.map((value, index) => { - return( - - - - ) - }) - } - -
{value?.bond_information?.mix_node?.identity_key}
- - ) - } - ``` + return( + <> + + + {mixnodes?.map((value, index) => { + return( + + + + ) + }) + } + +
{value?.bond_information?.mix_node?.identity_key}
+ + ) +} +``` @@ -120,66 +117,63 @@ export const mySettings = { export const settings = mySettings; ``` - -```js - +```ts import "./App.css"; import { contracts } from "@nymproject/contract-clients"; import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; import { GasPrice } from "@cosmjs/stargate"; -import { settings } from "./settings.ts"; +import { MixnetClient } from '@nymproject/types'; + const mainnetSettings = { + url: "wss://rpc.nymtech.net:443", + mixnetContractAddress: 'n17srjznxl9dvzdkpwpw24gg668wc73val88a6m5ajg6ankwvz9wtst0cznr', + mnemonic: 'charge solid adjust talk rose there because bridge screen next swear rose uphold hammer grant agree slam damp lazy position coconut cabbage endless welcome', + address: 'n1c7y676pe3av76r5usala759xgj0yplmvngu8u8' +}; + + const qaSettings = { + url: "wss://sandbox-validator1.nymtech.net/", + mixnetContractAddress: 'n1xr3rq8yvd7qplsw5yx90ftsr2zdhg4e9z60h5duusgxpv72hud3sjkxkav', + mnemonic: 'summer under connect sadness unveil region charge feed tank grant drift mass side ramp winter fit verb rare huge high garment moment achieve since', + address: 'n13uryxldwdllpakevsmt6n0uyfn3kgr2wvj5dnf' +}; + + const settings = qaSettings; export default function Exec() { - let signer = null; - let address = null; - let signerMixnetClient = null; - let cosmWasmSigningClient = null; - let mixId = null; - let amountToDelegate = null; - let balance = null; - let nodeAddress = null; - let amountToSend = null; - let delegations = null; + let signer: DirectSecp256k1HdWallet; + let signerMixnetClient: MixnetClient; + let cosmWasmSigningClient: SigningCosmWasmClient; + let mixId: number; + let amountToDelegate: string; + let nodeAddress: string; + let amountToSend: string; + let delegations: any; async function ExecuteOnNyx() { - // Signer - try { - // Generate a signer from a mnemonic - signer = await DirectSecp256k1HdWallet.fromMnemonic(settings.mnemonic, { - prefix: "n", - }); - const accounts = await signer.getAccounts(); - address = accounts[0].address; - } catch (error) { - console.error("Problem getting the signer: ", error); - } - - try { - const cosmWasmClient = await SigningCosmWasmClient.connectWithSigner( - settings.url, - signer, - { - gasPrice: GasPrice.fromString("0.025unym"), - } - ); - cosmWasmSigningClient = cosmWasmClient; - try { - balance = await cosmWasmSigningClient?.getBalance(address, "unym"); - console.log("balance", balance); - } catch (error) { - console.error("problem geting the balance: ", error); + // cosmos client + signer = await DirectSecp256k1HdWallet.fromMnemonic(settings.mnemonic, { + prefix: "n", + }); + const cosmWasmClient = await SigningCosmWasmClient.connectWithSigner( + settings.url, + signer, + { + gasPrice: GasPrice.fromString("0.025unym"), } + ); + // save globally + cosmWasmSigningClient = cosmWasmClient; + + // nym client + const mixnetClient = new contracts.Mixnet.MixnetClient( + cosmWasmSigningClient, + settings.address, // sender (that account of the signer) + settings.mixnetContractAddress // contract address (different on mainnet, QA, etc) + ); + // save globally + signerMixnetClient = mixnetClient; - const mixnetClient = new contracts.Mixnet.MixnetClient( - cosmWasmSigningClient, - settings.address, // sender (that account of the signer) - settings.mixnetContractAddress // contract address (different on mainnet, QA, etc) - ); - signerMixnetClient = mixnetClient; - } catch (error) { - console.error("Problem getting the cosmWasmSigningClient: ", error); - } } // Get delegations @@ -198,53 +192,36 @@ export default function Exec() { if (!signerMixnetClient) { return; } - try { - const res = await signerMixnetClient.delegateToMixnode( - { mixId }, - "auto", - undefined, - [{ amount: `${amountToDelegate}`, denom: "unym" }] - ); - console.log("delegations: ", res); - } catch (error) { - console.error(error); - } + const res = await signerMixnetClient.delegateToMixnode( + { mixId }, + "auto", + undefined, + [{ amount: `${amountToDelegate}`, denom: "unym" }] + ); + console.log(res); }; // Undelegate all const doUndelegateAll = async () => { - if (!signerMixnetClient) { - return; - } - console.log("delegations", delegations); - try { - for (const delegation of delegations.delegations) { - await signerMixnetClient.undelegateFromMixnode( - { mixId: delegation.mix_id }, - "auto" - ); - } - } catch (error) { - console.error(error); + for (const delegation of delegations.delegations) { + await signerMixnetClient.undelegateFromMixnode( + { mixId: delegation.mix_id }, + "auto" + ); } }; // Sending tokens const doSendTokens = async () => { const memo = "test sending tokens"; - - try { - const res = await cosmWasmSigningClient.sendTokens( - settings.address, - nodeAddress, - [{ amount: amountToSend, denom: "unym" }], - "auto", - memo - ); - console.log("res", res); - } catch (error) { - console.error(error); - } + const res = await cosmWasmSigningClient.sendTokens( + settings.address, + nodeAddress, + [{ amount: amountToSend, denom: "unym" }], + "auto", + memo + ); + console.log(res); }; ExecuteOnNyx(); @@ -274,7 +251,7 @@ export default function Exec() { (mixId = e.target.value)} + onChange={(e) => (mixId = +e.target.value)} />